통계・데이터과학/R 컴퓨팅

R 특징, 설치법, 명령문 활용, 벡터 생성 및 연산

mindata1 2025. 3. 1. 23:16
R 특징

 

  • GPL(General Public License) 개념으로 오픈 소스이며 무료
    • 1만 개 이상의 공개 패키지 활용 가능
    • 여러 커뮤니티 통해 다른 사용자들과 소통 가능
  • Window, MacOS, Unix 등 여러 운영체제에서 구동이 가능하고 프로그램 용량이 작아 쉽게 설치 가능
    • 추가적인 기능은 CRAN 을 통해 관련 패키지를 설치하면 사용 가능
    • 다양한 분야의 통계분석 가능. 특히 우수한 도움말과 뛰어난 그래픽 기능 제공
  • 행렬 개념의 데이터 관리를 통해 대용량 데이터 관리 및 처리에 유리하여 기계학습, 금융, 생명정보 공학 등 빅데이터 분석에 널리 활용
  • C, C++, Fortran 등 기존 프로그래밍 언어와 달리 대화식으로 프로그램을 수행
    • 특히 기존 프로그래밍 언어에 비해 상대적으로 배우기 쉬워 프로그래밍 입문용으로 좋음
  • 다른 프로그래밍 언어로 개발된 함수와도 통합 가능. 프로그램의 속도를 높이기 위해 C 언어 등으로 기본 함수를 만들고 이를 R환경 안에서 구동시킬 수 있음

 

R 설치법

 

R의 설치를 위해 CRAN 사이트에서 최신 버전을 내려받을 수 있다.

  • CRAN(Comprehensive R Archive Network) : 공개적 개발 환경인 R 네트워크

 

https://cran.yu.ac.kr

 

The Comprehensive R Archive Network

 

cran.yu.ac.kr

 

 

참고로 나는 맥을 사용하여, R-4.4.3-arm64.pkg 를 설치하였다.

 

 

R 명령문 입력

 

사칙연산

기본적인 사칙연산을 해보았다. 입력 후 엔터를 입력하면 곧바로 결과값이 출력된다.

 

변수 생성하고 값을 할당

  • 세미콜론(;) 을 활용하면 여러 개의 명령문을 한 줄에 입력할 수 있다.
  • 키보드 위쪽 화살표를 누르면 이전 입력창이 차례로 나타나고 오류 수정 가능하다.
> a <- 1
> b <- 2
> a + b
[1] 3

> a = 1; b = 2; a+b
[1] 3

 

  • 변수에 문자값을 할당할 경우, 속성은 "character" 이다.
> a <- "use R!"
> a
[1] "use R!"

> mode(a) # 변수 a의 속성을 확인해주는 내장함수
[1] "character"

 

  • 논리값도 변수에 할당 가능하며, 속성은 "logical" 이다.
> c <- 1 > 2
> c
[1] FALSE

> mode(c)
[1] "logical"

 

 

벡터 생성

 

  • 벡터는 R활용 시 핵심적인 역할을 함
  • 벡터는 c( ) 함수를 통해 생성 가능
  • 숫자형 뿐만 아니라 문자형과 논리형 값도 다룰 수 있음
  • 한 벡터 내 여러형태가 섞일 수는 없음
> x <- c(1,2,3)
> y <- c(4,5,6)

> x + y
[1] 5 7 9

> x^2
[1] 1 4 9

> x * y
[1]  4 10 18

> log(x^2)
[1] 0.000000 1.386294 2.197225

> z <- c(x,y) # 벡터 x, y를 병합하고 z에 저장
> z
[1] 1 2 3 4 5 6

 

 

벡터의 연산

 

  • R의 내장함수를 이요해 벡터 x 에 대해 합, 평균, 분산 등 기초 통계량을 계산할 수 있다.
> x <- c(7,2,4,9,8,6,1,5,10,3)

> sort(x)
 [1]  1  2  3  4  5  6  7  8  9 10
 
> sum(x)
[1] 55

> mean(x)
[1] 5.5

> sum(x)/length(x)
[1] 5.5

> var(x)
[1] 9.166667

> min(x)
[1] 1

> which.min(x)
[1] 7

> summary(x)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
   1.00    3.25    5.50    5.50    7.75   10.00

 

  • 통계함수 계산에서 NA 값을 포함시키지 않으려면, na.rm = TRUE 옵션을 사용하면 된다.
  • is.na( ) : 한 벡터 내 결측값 있는 지 확인
  • which(is.na( )) : 결측값 위치 확인
  • sum(is.na( )) : 결측값 합계로 결측값이 총 몇개 존재하는 지 확인
> y <- c(1,3,5,NA,9,NA,11)
> mean(y)
[1] NA

> mean(y,na.rm=TRUE)
[1] 5.8

> is.na(y)
[1] FALSE FALSE FALSE  TRUE FALSE  TRUE FALSE

> which(is.na(y))
[1] 4 6

> sum(is.na(y))
[1] 2

> 1/0 #무한대
[1] Inf

> log(-1) #이상치
[1] NaN
Warning message:
In log(-1) : NaNs produced