본문 바로가기
Data Science/Data Analytics

[ADP-8] 분석도구 R의 특징 / R 시작하기(install.packages, library, ?, help) / R의 데이터 구조(벡터 c, 행렬 matrix, 데이터프레임 data.frame)

by 루크 Luke 2022. 8. 12.
반응형

분석도구 R의 특징

- R은 무료 소프트웨어이면서도 고차원적인 계산이 가능하며 통계 분석과 시각화에 최적화된 환경을 통해 단순한 계산부터 복잡한 통계 기법까지를 폭넓게 다룰 수 있음

 

1) 그래픽 처리

- 상용 소프트웨어에 버금가는 상당한 수준의 그래프와 그림

- 그림의 용도와 역할에 맞게 적절한 그래프를 언제든지 쉽게 생산할 수 있음

- 매우 세부적인 부분까지 사용자가 직접 지정, 섬세한 작업을 수행할 수 있음

- 출판물로 사용해도 손색이 없을 정도의 고해상도 이미지를 생산함에도 그 처리 시간이 매우 빠름

2) 데이터 처리 및 계산 능력

- 벡터, 행렬, 배열, 데이터프레임, 리스트 등 다양한 형태의 데이터 구조 지원

- 다양한 데이터 형태의 분석이 용이함

- 복잡한 구조 내 개별 데이터에 접근하는 절차가 간단하므로 큰 데이터를 핸들링 하기도 간편함

3) 패키지

- 사용자들이 스스로 개발하는 새로운 함수들을 패키지의 형태로 내려 받아 사용할 수 있음

- 확장성 덕분에 다른 통계 프로그램에 비해 최신 이론이나 기법을 사용해보기가 쉬움

- 쉽게 사용할 수 없는 강력한 그래픽 처리를 원하는 경우에도 패키지의 형태를 적용하여 복잡하고 어려운 옵션이 적용된 고급 그래픽 기능들을 이용해 간편하게 처리할 수 있음

 

R 시작하기

- 패키지 이름을 알고 있는 경우 가장 빠르고 간편하게 패키지를 설치하는 방법

install.packages('Package Name')

- 설치된 패키지를 R 콘솔로 불러옴

library(Package Name)

- 도움말은 '?' 명령어나 'help' 명령어를 통해 불러올 수 있음

?par
help(par)

 

R의 데이터 구조

1) 벡터

- 하나의 스칼라값, 혹은 하나 이상의 스칼라 원소들을 갖는 단순한 형태의 집합

- 벡터 데이터 내에 들어갈 수 있는 원소는 숫자, 문자, 논리 연산자 등

- 숫자로 이루어진 벡터는 숫자 벡터가 되고, 문자로 이루어진 벡터는 문자 벡터

- R은 대소문자를 구분하여 인식하기 때문에 논리 연산자를 입력할 때는 반드시 모든 글자를 대문자로 기입

- 등호 '='의 경우, 우측의 값을 좌측의 변수에 할당한다는 의미로서 조금 더 직관적인 형태로 '<-'를 사용할 수도 있음

- 아래 코드는 모두 동일한 코드임

x <- c(1, 10, 24, 40)
x = c(1, 10, 24, 40)

- c 명령어를 이용해서 벡터와 벡터를 결합해 새로운 벡터를 형성할 수도 있음

x <- c(1, 10, 100)
y <- c("사과", "수박")
xy <- c(x, y)
# xy == "1" "10" "100" "사과" "수박"

- 숫자지만, 벡터 내에 하나라도 문자 데이터가 있으면 문자 벡터가 되므로, 숫자도 문자형으로 인식함

 

2) 행렬

- 행과 열을 갖는 M * N 형태의 직사각형에 데이터를 나열한 데이터 구조

- 행렬의 선언을 위해서 matrix를 사용함

mx = matrix(c(1, 2, 3, 4, 5, 6), ncol=2)

- matrix 명령어의 첫 번째 인수는 행렬에 들어가는 데이터들을 묶어놓은 벡터

- ncol 옵션으로 열(columns)의 수를 정하거나, nrow 옵션으로 행(rows)의 수를 정함

- 기본적으로 값들은 열을 우선 채우는 방향으로 입력된다.

- 만약 행을 우선 채우는 방향을 원하면 byrow=T 옵션을 추가하면 된다.

- rbind 와 cbind를 사용해 이미 만들어져 있는 벡터를 서로 합쳐 행렬로 만들 수 있음

mx = matrix(c(1,2,3,4,5,6), ncol=2)

r1 = c(10,10)
c1 = c(20,20,20)

rbind(mx, r1)
cbind(mx, c1)

- rbind, cbind는 벡터끼리 적용하면 행렬이 되지만, 데이터프레임끼리 적용하면 데이터프레임이 됨

 

3) 데이터프레임

- 행렬과 유사한 2차원 목록 데이터 구조

- 다루기가 쉽고 한 번에 많은 정보를 담을 수 있어서 R에서 가장 널리 사용됨

- 행렬과는 다르게 각 열이 서로 다른 데이터 타입을 가질 수 있기 때문에 데이터의 크기가 사용자가 다루기 수월함

- 명령어 data.frame을 이용하면 여러 개의 벡터를 하나의 데이터 프레임으로 합쳐 입력할 수 있다.

income = c(100, 200, 100, 200, 300)
car = c("kia", "hyundai", "kia", "toyota", "lexus")
marriage = c(FALSE, FALSE, FALSE, TRUE, TRUE)
mydat = data.frame(income, car, marriage)

 

반응형

댓글