본문 바로가기
R 주제/R 기초 및 통계 강의

[R 강의] 7. 문자열, NA, NULL, Inf, NaN

by 만다린망고 2020. 3. 14.
반응형
도구 R로 푸는 통계

7. 문자열, NA, NULL, Inf, NaN



R에서는 숫자 뿐 아니라 문자열, NA, NULL, Inf 도 변수에 입력이 가능합니다. 하나씩 살펴봅시다. 


7.1 문자열


R에서 변수에 문자를 입력할때는 '문자열'을 이용합니다. 문자열은 작은따옴표나 큰 따옴표중 원하는 것을 사용하면 됩니다. 예를들어봅시다.


> a=c("hello")

> a

[1] "hello"


문장을 입력할 수도 있습니다. 


> b=c('R is fun')

> b

[1] "R is fun"


벡터형태로도 입력할 수 있습니다.


> x=c("a","b","thank you")

> x

[1] "a"         "b"         "thank you"


하지만 숫자와 문자를 동시에 벡터에 입력하는 것은 불가능합니다. 문자와 숫자를 동시에 입력하면 숫자가 자동으로 문자열로 전화됩니다. 


> combine=c(1,"a",11)

> combine

[1] "1"  "a"  "11"



7.2 NA


NA는 not available의 약자입니다. 데이터 값이 존재하지 않을 때 사용합니다. 


예를 들어 네 사람의 점수를 입력해야 하는데 한 사람의 점수를 모르는 경우 아래와 같이 입력합니다. 


> a=c(88,98,90,NA)

> a

[1] 88 98 90 NA


어떤 변수의 요소 중 NA가 있는지 여부를 확인하는 함수도 있습니다.


> is.na(a)

[1] FALSE FALSE FALSE  TRUE


7.3 NULL


NULL과 NA는 비슷하게 보이지만 확실히 구분할 줄 알아야 합니다. NA는 데이터가 있는데 모르겠는 상황에 사용하구요. NULL은 데이터를 정의하지 않고 변수만 만들어 놓고 싶을 때 사용합니다. 


> x=NULL

> x

NULL


이번에는 요소에 NULL을 넣었을 때 어떻게 되는지 봅시다. 

> a=c(23,NA,NULL)
> a
[1] 23 NA

보이시죠? NA는 요소가 있긴 있는데 값을 모르는 것이구요. NULL은 요소가 없는 것입니다. 따라서 입력해도 반영되지 않습니다. 

모든 요소에 NULL을 넣어볼게요. 

> b=c(NULL,NULL,NULL)
> b
NULL

어떤차이인지 이해되셨죠? 

어떤 변수가 NULL인지 아닌지 판단하는 함수도 있습니다. 

> is.null(a)
[1] FALSE
> is.null(b)
[1] TRUE


7.4 Inf 

Inf는 무한대라는 의미에요. infinity의 약자입니다. 

변수에 입력이 가능하긴 한데, 입력할 경우는 거의 없을거에요.

> a=c(Inf)
> a
[1] Inf

아래와 같은 경우에 생성니다. 


> x=1/0

> x

[1] Inf


7.5 NaN


NaN은 Not a number의 약자입니다. 수학적으로 정의가 되지 않는 값을 뜻합니다. 아래와 같은 경우에 생성됩니다.


> 0/0

[1] NaN




영상이 더 편하신 분



반응형

댓글