R/R basic

조건을 걸어 자료 추출하기

시키테이 2020. 6. 12. 07:41
반응형

데이터프레임 자료를 조건을 걸어 추출하기 위한 방법은 기본적으로 subset을 사용할 때와 그렇지 않을 때가 있습니다. 

mtcars
subset(mtcars, subset=mpg<20)

mpg 20이하만 뽑아라입니다. 간단하죠? 다른 방식으로는 이렇게 해도 됩니다. 

mtcars[mtcars$mpg<20, ]

만약에 mpg 20이하 자료 중에서 열 두 개 (mpg, cyl)만 뽑아라하면

mtcars[mtcars$mpg<20, c('mpg', 'cyl')]

아니면

subset(mtcars, select=c(mpg, cyl), subset=mpg<20)

 

조건이 2개 이상이면? 아래와 같이 

subset(mtcars, subset = (am==1 & mpg>20))

subset을 사용하지 않으면 조금 복잡해보이긴 하는데 아래처럼 하면 됩니다. 

mtcars[(mtcars$am==1) & (mtcars$mpg>20), ]

 

하나 참고로, mpg가 20이상인 자료의 평균 mpg는 얼마인가 계산하고 싶다면? 아래처럼 

mean(subset(mtcars, subset=mpg>20)$mpg)

혹은

mean(mtcars[mtcars$mpg>20, 'mpg'])
반응형