2
는 내가 data.frame을 가지고 있고 나는이 할 수 있도록 요인 변수의 수준을 변경하려면 :R : 함수 내부의 변경 수준은
> df1 <- data.frame(id = 1:5, fact1 = factor(letters[1:5]))
> head(df1)
id fact1
1 1 a
2 2 b
3 3 c
4 4 d
5 5 e
> levels(df1$fact1)[which(levels(df1$fact1) == 'a')] <- 'missing'
> df1
id fact1
1 1 missing
2 2 b
3 3 c
4 4 d
5 5 e
을하지만 함수 내에서이 작업을 수행하려고하면 그것은집니다 새 값에 이르기까지 모든 :
changeLevel1 <- function(x){
levels(x)[which(levels(x) == 'a')] <- 'missing'
}
df1$fact1 <- changeLevel1(df1$fact1)
> df1
id fact1
1 1 missing
2 2 missing
3 3 missing
4 4 missing
5 5 missing
이 작업을 수행하는 올바른 방법은 무엇입니까?