10
Mam następujący ramkę danych:R czynnikiem NA vs <NA>
df1 <- data.frame(id = 1:20, fact1 = factor(rep(c('abc','def','NA',''),5)))
df1
id fact1
1 1 abc
2 2 def
3 3 NA
4 4
5 5 abc
6 6 def
7 7 NA
8 8
9 9 abc
10 10 def
11 11 NA
12 12
13 13 abc
14 14 def
15 15 NA
16 16
17 17 abc
18 18 def
19 19 NA
20 20
Próbuję ujednolicić wszystkie wartości brakujących ('' i NA), aby stać NA użytkownika. Jednak kiedy używam tego:
df1[df1 == ''] <- NA
wydaje się, że istnieją 2 klasy NA.
df1
id fact1
1 1 abc
2 2 def
3 3 NA
4 4 <NA>
5 5 abc
6 6 def
7 7 NA
8 8 <NA>
9 9 abc
10 10 def
11 11 NA
12 12 <NA>
13 13 abc
14 14 def
15 15 NA
16 16 <NA>
17 17 abc
18 18 def
19 19 NA
20 20 <NA>
Czy istnieje metoda najlepszej praktyki radzenia sobie z tą sytuacją?
'NA = "NA"'. Może uruchomienie 'is.na (df1 $ fact1)' może być pouczające? – joran
Zauważ również, że 'liczba całkowita',' znak', 'logiczna',' czynnik' pokazują inaczej wartości "NA". Na przykład. wyświetl tę informację.frame: 'data.frame (w = c (" a "," b ", NA), x = as.integer (c (1,2, NA)), y = as.factor (c (1,2, NA)), z = as.logical (c (TRUE, FALSE, NA))) ' – Kalin