我有一个包含变量和值标签的spss文件。我看到了带有read.spss函数的国外包:
data <- read.spss("2017.sav", to.data.frame = TRUE, use.value.labels = TRUE)如果我使用use.value.labels = TRUE,所有的字符串都会变成因子变量,我不想要它,因为它们不是因子变量。
我找到了一个解决方案,但我不知道这是不是最好的方法
1º先用上一句话读取spss文件
2º选择哪些变量不是因子,并使用以下命令将其更改为字符串:
cols <- c("x", "ab")
data[cols] <- lapply(data[cols], as.character)如果我不使用use.value.labels = TRUE,我将没有值标签,并且我无法正确导出文件
发布于 2020-06-04 13:09:45
我不知道为什么,但是我不能安装一个“外来”包。
下面是我将数据集从SPSS导入R(通过Excel)的方法:
现在,您在R中有了一个带有值标签的数据集。
发布于 2017-01-16 01:43:55
您还可以使用memisc包:
sav <- spss.system.file("file.sav")
df <- as.data.set(sav)我的公司经常处理SAV文件,我们分别提取元数据。使用foreign包,您可以通过几种不同的方式获取元数据(在加载文件之后):
data.label.table <- attr(sav, "label.table")
missings <- attr(sav, "missings")其他位需要各种lapply和sapply函数才能将其取出。我的脚本很长,所以我不会在这里分享它。如果你用read.spss(sav, to.data.frame = TRUE)读入数据,你会得到:
VariableLabels <- unname(attr(sav, "variable.labels"))https://stackoverflow.com/questions/41663908
复制相似问题