데이터프레임의 원소들을 한번에 이항데이터로 변경하는 방법입니다.
1) NA 여부에 따른 분류
먼저 데이터프레임을 하나 정의합시다.
c1=c(1,2,3,NA,NA)
c2=c(NA,NA,2,3,5)
c3=c(3,NA,1,NA,6)
df=data.frame(c1,c2,c3)
> df
c1 c2 c3
1 1 NA 3
2 2 NA NA
3 3 2 1
4 NA 3 NA
5 NA 5 6
NA와 NA가 아닌데이터 둘로 구분할 것입니다. NA인 경우를 FALSE, NA가 아닌 경우를 TRUE로 만들어봅시다.
df_lgst=!(is.na(df_lgst))
> df_lgst
c1 c2 c3
[1,] TRUE FALSE TRUE
[2,] TRUE FALSE FALSE
[3,] TRUE TRUE TRUE
[4,] FALSE TRUE FALSE
[5,] FALSE TRUE TRUE
2) 특정 값에 따른 분류
먼저 데이터프레임을 하나 정의합시다.
c1=1:5
c2=2:6
c3=3:7
df=data.frame(c1,c2,c3)
> df
c1 c2 c3
1 1 2 3
2 2 3 4
3 3 4 5
4 4 5 6
5 5 6 7
3이상과 미만으로 분류해봅시다.
df_lgst=df>=3
> df_lgst
c1 c2 c3
[1,] FALSE FALSE TRUE
[2,] FALSE TRUE TRUE
[3,] TRUE TRUE TRUE
[4,] TRUE TRUE TRUE
[5,] TRUE TRUE TRUE
3) elseif 함수를 이용한 분류
c1=1:5
c2=2:6
c3=3:7
df=data.frame(c1,c2,c3)
> df
c1 c2 c3
1 1 2 3
2 2 3 4
3 3 4 5
4 4 5 6
5 5 6 7
2를 0, 나머지를 1로 바꿔봅시다.
> df=ifelse(df==2,0,1)
> df
c1 c2 c3
[1,] 1 0 1
[2,] 0 1 1
[3,] 1 1 1
[4,] 1 1 1
[5,] 1 1 1
'9.유용한 함수모음 > apply 함수' 카테고리의 다른 글
[R] NA가 포함된 데이터의 평균을 apply 함수로 구하기 (0) | 2021.05.28 |
---|---|
[R] apply/ lapply/ sapply/ tapply/ mapply 함수 한눈에보기 (0) | 2020.12.24 |
[R기초] apply 함수 (행, 열, 또는 각 원소에 함수를 일괄적용) (0) | 2020.09.23 |
댓글