我想从数据集中导入值和标签,但我不明白如何使用这个包(文档不清楚)。我知道这是可能的,因为Rz(R 的 gui 接口)使用 memisc 来做到这一点。不过,我更喜欢不要依赖太多的包。
这是我唯一的一段代码:
dataset <- spss.system.file("file.sav")
?importer()
请参阅其中涵盖的示例spss.system.file()
。
spss.system.file
创建一个可以显示变量名称的“导入器”对象。
要实际使用数据,您需要执行以下操作:
## To get the whole file
dataset2 <- as.data.set(dataset)
## To get selected variables
dataset2 <- subset(dataset, select=c(variable names)) to get selected variables.
你最终会得到一个非常复杂的 data.set 对象,但它确实有你想要的。为了分析,你通常需要做:as.data.frame
on dataset2.
我想出了一个我喜欢的解决方案
df <- suppressWarnings(read.spss("C:/Users/yada/yada/yada/ - SPSS_File.sav", to.data.frame = TRUE, use.value.labels = TRUE))
var_labels <- attr(df, "variable.labels")
names <- data.frame(column = 1:ncol(df), names(df), labels = var_labels, row.names=NULL)
names(df) <- names$labels
names(df) <- make.names(df))