이경수 선생님의 수학실험실

R의 데이터 타입_벡터와 리스트(Vectors and Lists) 본문

R

R의 데이터 타입_벡터와 리스트(Vectors and Lists)

(이경수) 2021. 4. 14. 21:36

c( ) 함수는 벡터를 만드는데 사용하는 함수이다.

> x<-c(2.3,0.9)
> y<-c(T,F)
> z<-c("a","b","c")
> x
[1] 2.3 0.9
> y
[1]  TRUE FALSE
> z
[1] "a" "b" "c"

 

 

class( ) 함수로 object의 종류를 알 수 있다. R에서 기본적인 object의 종류에는 5가지(character, numeric(real numbers), integer, complex, logical)가 있다.

> class(x)
[1] "numeric"
> class(y)
[1] "logical"
> class(z)
[1] "character"

 

 

as.* 함수로 어떤 Objects를 하나의 class에서 다른 것으로 강제 변환할 수 있다.

> x<-0:5
> class(x)
[1] "integer"
> as.numeric(x)
[1] 0 1 2 3 4 5
> as.logical(x)
[1] FALSE  TRUE  TRUE  TRUE  TRUE  TRUE
> as.character(x)
[1] "0" "1" "2" "3" "4" "5"

 

 

그러나 as.* 함수를 통한 강제변환이 무의미한 결과를 나타내는 경우도 있다.

> x<-c("a","b","c")
> class(x)
[1] "character"
> as.numeric(x)
[1] NA NA NA
경고메시지(들): 
강제형변환에 의해 생성된 NA 입니다 
> as.logical(x)
[1] NA NA NA
> as.complex(x)
[1] NA NA NA
경고메시지(들): 
강제형변환에 의해 생성된 NA 입니다 

 

 

리스트는 벡터의 특별한 타입으로써 서로 다른 종류의 요소들을 포함할 수 있다. R에서 리스트는 매우 중요한 데이터 타입이다.

> x<-list(1,"ks",TRUE,5+2i)

 

리스트 원소의 이름을 부여하여 생성할 수 있다.

L<-list(e1=1,e2=2,e3=3)

 

리스트의 원소에 다음과 같은 방법들로 접근할 수 있다.

L[[1]]

L[["e1"]]

L$e1

 

리스트에서 원소를 제거하는 방법은 다음과 같다.

L[["e1"]]<-NULL
Comments