R의 기본함수 알아보기 - 시스템, 대표값, 값수정 등

 

필자가 학교를 다닐 때는 R에 대해서 들어보기는 했지만 깊게 배우지는 않았다. 오픈소스라는 장점은 있었지만, 속도가 느려 사용하지 않았기 때문이다. 컴퓨터 기술이 발달하면서 이제 빅데이터 분석도구로 R은 빼놓을 수 없는 위치에 있다. 데이터 분석을 위한 언어이다 보니까 여러가지 함수나 라이브러리들이 좋은 게 많다. R에서 기본적으로 제공하는 함수들도 좋다.

오늘은 R의 기본함수 사용방법에 대해서 알아보도 하겠다.

 

 

 

1. 시스템과 관련된 함수들

 

R의 시스템 관련된 함수들을 먼저 알아보자. R에서는 작업디렉토리를 설정할 수 있다. 데이터를 저장하거나 불러올 때 기본이 되는 위치로 별도로 지정하지 않는 작업디렉토리에서 파일을 찾는다. getwd()로 작업디렉토리를 확인할 수 있고, setwd(“디렉토리 주소”) 작업디렉토리를 설정할 수도 있다.

getwd(); setwd("/Users/open/")
## [1] "/Users/open/.Trash/22_R Project/blog_writing"

 

특정 함수나 명령어에 대한 도움말을 보고 싶을 때는 ‘?함수명’을 입력하면 된다. 조회가 되지 않는다면’??함수명’을 입력해보자. 그러면 확장 검색이 된다. 예제를 보고 싶다면 example(함수명)을 입력하면 된다.

?mean
example(mean)
## 
## mean> x <- c(0:10, 50)
## 
## mean> xm <- mean(x)
## 
## mean> c(xm, mean(x, trim = 0.10))
## [1] 8.75 5.50

 

R에서도 누군가가 개발해 놓은 패키지를 설치하고 사용할 수 있다. 설치할 때는 install.packages(“패키지명”), 설치한 패키지를 불러올 때는 library(패키지명)을 입력하면 된다.

R의 객체 목록이나 어떤 자료형인지, 구조가 궁금할 때도 함수를 이용하여 확인할 수 있다.

ls(); class(x); str(x)
## [1] "x"  "xm"
## [1] "numeric"
##  num [1:12] 0 1 2 3 4 5 6 7 8 9 ...

 

 

2. 대표값 구하기

 

함수명이 곧 내용이라 큰 설명은 필요없을 듯 하다. var함수는 분산, mad는 median absolute deviation의 약자로 중앙값 절대 편차이다. 중앙값에서 각 관측값들이 뺀 절대값의 중앙값이다. 아무래도 분산보다는 로버스트(robust)한 값이 나올 듯 하다. 참고로 ;를 넣으면 한 줄에 여러 줄의 코드를 입력할 수 있다.

x <- 1:10
mean(x); median(x); sum(x); var(x); mad(x); length(x);
## [1] 5.5
## [1] 5.5
## [1] 55
## [1] 9.166667
## [1] 3.7065
## [1] 10

 

 

3. 값 수정하기

 

abs는 절대값, sqrt는 square root(루트 씌운 값), ceiling은 올림, floor는 버림, round는 반올림이다. log(x)를 하면 로그값을 구할 수 있다. cos(x), sin(x), tan(x)함수와 acos(x)는 arc-코싸인, cosh(x)는 Hyperbolic 코싸인, acosh(X)는 Hyperbolic arc-코싸인 함수도 있다.

## [1] 1
##  [1] 1.000000 1.414214 1.732051 2.000000 2.236068 2.449490 2.645751
##  [8] 2.828427 3.000000 3.162278
## [1] 2
## [1] 1
## [1] 1.4
## [1] 4.60517

 

 

4. 그 외의 함수들

 

quantile은 두번째 입력에 넣은 값을 기분으로 100중에 해당하는 위치의 값을 반환해준다. range함수는 최소값과 최대값을, sum은 합계, diff는 입력인자로 주어진 값의 간격으로 차이를 계산해준다. scale함수는 범위를 조정해준다. 정규화를 하는데 구체적인 방법은 help를 참조하도록 하자. 표준정규화가 아닐까 생각해본다.

x <- 1:10
quantile(x, c(0.1, 0.84)); range(x); sum(x); diff(x, 2); min(x); max(x); scale(x, center=TRUE, scale=TRUE);
##  10%  84% 
## 1.90 8.56
## [1]  1 10
## [1] 55
## [1] 2 2 2 2 2 2 2 2
## [1] 1
## [1] 10

 

##             [,1]
##  [1,] -1.4863011
##  [2,] -1.1560120
##  [3,] -0.8257228
##  [4,] -0.4954337
##  [5,] -0.1651446
##  [6,]  0.1651446
##  [7,]  0.4954337
##  [8,]  0.8257228
##  [9,]  1.1560120
## [10,]  1.4863011
## attr(,"scaled:center")
## [1] 5.5
## attr(,"scaled:scale")
## [1] 3.02765

 

 

오늘은 이렇게 R의 기본함수 사용방법에 대해서 알아보았다. 자주 사용하지 않는 것외에는 잘 생각이 나지 않는다. 이번 기회에 잘 익혀두어 필요할 때 잘 사용하면 좋을 듯 하다.

 

댓글()