728x90

리스트 만들기와 요소 접근하기

 리스트객체는 서로 다른 타입의 데이터로 구성되어 있습니다. c 언어에서 다루는 구조체라고 생각하면 됩니다.

 

(1) 리스트 만들기와 속성 살펴보기

 list01 <- list(id = c('A001','A002','A003','A004','A005','A006'),

gender = c('F','F','F','M','M',"M"),

wei = c( 65, 66, 69, 67, 68, 72),

hei = c(171,172,176,173,177,178),

age = c(23,24,38,43,40,42))

 

> list01

names(list01)

class(list01)

mode(list01)

is.list(list01)

is.vector(list01)

 

 

(2) 리스트 요소 접근하기

 

> list01$gender

[1] "F" "F" "F" "M" "M" "M"

 

> list01[["gender"]]

[1] "F" "F" "F" "M" "M" "M"

 

> var01 <- "gender"

> var01

[1] "gender"

 

> list01[[var01]]

[1] "F" "F" "F" "M" "M" "M"

 

> list01$var01

NULL

 

(3) 벡터, 행렬 그리고 데이터프레임으로 리스트 만들기

 

> vec01 <- 3:8

> mat01 <- matrix(1:6,2,3)

> dataf03 <- read.table("d:/r_class/survey_h.txt",header=T)

> list02 <- list(vec01,mat01,dataf03[1:10,])

> list02

 

> is.list(list02) # TRUE

> is.vector(list02) # TRUE

 

 

> list03 <- list02

> names(list03) <- c("vector","matrix","data.frame")

> names(list03)

 

 

(4) 리스트 요소에 접근하기

 

> list02

> list03$vector

> list03$data.frame

> list03$data.frame$id

 

> list02[3]

> list02[[3]]

> list02[[3]]["gender"]

> class(list03[3])

> class(list03[[3]])

 

 회귀분석 결과 재이용하기

 

간혹 강의 중에 리스트가 어디 쓰이는지? 하는 질문을 많이 받습니다.

그리고 회귀분석 결과 나온 계수 등을 다시 이용하려면 어떻게 하나? 하는 질문이 종종 있습니다.

SAS에서 많이 쓰이는 작업인데 R의 장점 중 하나가 회귀분석과 같이 분석을 한 결과를 쉽게 활용할 수 있다는 점입니다.

회귀분석의 결과 저장을 하게 되면 리스트 형태로 저장이 됩니다. 다음은 회귀분석의 결과입니다.

 

> wei <- c(65,66,69,67,68,69)

> hei <- c(171,173,176,174,175,178)

> age <- c(23,24,38,43,40,42)

> lm(wei~hei+age)

> out <- lm(wei~hei+age )

> summary(out)

 

> names(out)

> class(out)

[1] "lm"

> mode(out)

[1] "list"

>

> out$coe

> out$coef

(Intercept) hei age

-31.51618327 0.56073981 0.02858344

 

> mean(out$residuals)

[1] 4.621412e-18

 

 

 

 

+ Recent posts