Заменить <NA> в столбце фактора
Я хочу заменить<NA>
значения в столбце факторов с допустимым значением. Но я не могу найти способ. Этот пример только для демонстрации. Исходные данные взяты из иностранного CSV-файла, с которым мне приходится иметь дело.
df <- data.frame(a=sample(0:10, size=10, replace=TRUE),
b=sample(20:30, size=10, replace=TRUE))
df[df$a==0,'a'] <- NA
df$a <- as.factor(df$a)
Может выглядеть так
a b
1 1 29
2 2 23
3 3 23
4 3 22
5 4 28
6 <NA> 24
7 2 21
8 4 25
9 <NA> 29
10 3 24
Теперь я хочу заменить<NA>
значения с номером.
df[is.na(df$a), 'a'] <- 88
In `[<-.factor`(`*tmp*`, iseq, value = c(88, 88)) :
invalid factor level, NA generated
Я думаю, что я пропустил фундаментальную концепцию R о факторах. Я? Я не могу понять, почему это не работает. Я думаюinvalid factor level
Значит это88
не является допустимым уровнем в этом факторе, верно? Таким образом, я должен сказать столбцу факторов, что есть другой уровень?