如其他问题所述,将SPSS数据集导入R的最佳方法是首先将SPSS文件导出为“便携式SPSS”格式,然后使用memisc,如下所示:
library(memisc)
mydata <- as.data.set(spss.portable.file("myspss.por"))
但我的问题是NA被编码为文本(即使我在SPSS中指定了NA值)
我的解决方案是为每个变量执行此操作:
mydata$v1[mydata$v1 == "NA"] <- NA
但我有50多个变量......¿你知道更好的方法吗?或者¿你知道我在导入时做错了什么吗?
3 回答
我发现了一个适合我的解决方案:
当data.set转换为data.frame时,所有NA值都是正确的 .
我还尝试直接获取data.frame:
但是通过这种方式,我获得了一个带有0个观测值的data.frame . 因此,似乎必须先通过data.set .
谢谢你的回答 .
做就是了
并且所有列中的所有
"NA"
都被实际的NA
替换 .我使用
Hmisc::spss.get
来读取SPSS并正确导入NA值: