gpt4 book ai didi

r - 在 R 中导入带有值标签的 spss 文件的最佳方法是什么?

转载 作者:行者123 更新时间:2023-12-02 20:52:35 30 4
gpt4 key购买 nike

我有一个 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,我将没有值标签,并且无法正确导出文件

最佳答案

您还可以使用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")

其他位需要各种 lapplysapply 函数才能将它们取出。我手头的剧本比较长,这里就不分享了。如果您使用 read.spss(sav, to.data.frame = TRUE) 读取数据,您可以获得:

VariableLabels <- unname(attr(sav, "variable.labels"))

关于r - 在 R 中导入带有值标签的 spss 文件的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41663908/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com