我有一个数据框,其中的一些列具有NA
值。我想将<NA>
替换为零。我该怎么做?
实际上,这里展示的mydate不是我的原始数据。原始数据太大了,无法在此处显示。
mydata = read.spss('mydata.sav', use.value.labels = TRUE, to.data.frame = TRUE, max.value.labels = Inf, trim.factor.names = FALSE, trim_values = FALSE, reencode = "UTF-8")
> mydata
Q_16_O3 Q_16_O4 Q_16_O5 Q_16_O6 Q_16_O7 Q_16_O8 Q_16_O9
10 <NA> <NA> <NA> <NA> <NA> <NA> <NA>
11 <NA> <NA> <NA> <NA> <NA> <NA> <NA>
12 <NA> <NA> <NA> <NA> <NA> <NA> <NA>
13 <NA> <NA> <NA> <NA> <NA> <NA> <NA>
14 <NA> <NA> <NA> <NA> <NA> <NA> <NA>
15 Trem <NA> <NA> <NA> <NA> <NA> <NA>
16 <NA> <NA> <NA> <NA> <NA> <NA> <NA>
17 <NA> <NA> <NA> <NA> <NA> <NA> <NA>
18 <NA> <NA> <NA> <NA> <NA> <NA> <NA>
19 <NA> <NA> <NA> <NA> <NA> <NA> <NA>
20 <NA> <NA> <NA> <NA> <NA> <NA> <NA>
str(mydata)
'data.frame': 11 obs. of 7 variables:
$ Q_16_O3: Factor w/ 10 levels "Ônibus","Vans",..: NA NA NA NA NA 4
NA NA NA NA ...
$ Q_16_O4: Factor w/ 10 levels "Ônibus","Vans",..: NA NA NA NA NA
NA NA NA NA NA ...
$ Q_16_O5: Factor w/ 10 levels "Ônibus","Vans",..: NA NA NA NA NA
NA NA NA NA NA ...
$ Q_16_O6: Factor w/ 10 levels "Ônibus","Vans",..: NA NA NA NA NA
NA NA NA NA NA ...
$ Q_16_O7: Factor w/ 10 levels "Ônibus","Vans",..: NA NA NA NA NA
NA NA NA NA NA ...
$ Q_16_O8: Factor w/ 10 levels "Ônibus","Vans",..: NA NA NA NA NA
NA NA NA NA NA ...
$ Q_16_O9: Factor w/ 10 levels "Ônibus","Vans",..: NA NA NA NA NA
NA NA NA NA NA ...
我想使用freq函数,因此不能更改其结构(mydata)。
PS:我的问题是<NA>
,而不是NA
。在NA
情况下,我有一个解决方案,在这里。
lapply(mydata,summary)
进行检查,并将结果发布到您的答案中。 - Alex Brown<NA>
在data.frame
(通过print.data.frame
显示)中对于字符向量只是NA
。它仍然很可能只是一个普通的NA
,就像对于data.frame(text=c("a",NA))
一样。你先尝试了另一个解决方案吗? - thelatemail<NA>
值真的是字符,还是因子中的NA值? - Ben Bolker