使用memisc从SPSS导入值和标签

时间:2013-11-11 20:08:30

标签: r spss

我想从数据集导入值和标签,但我不明白如何使用此包(文档不清楚)。我知道这是可能的,因为Rz(R的gui接口)使用memisc来做到这一点。不过,我更喜欢不依赖太多的包装。

这是我唯一的代码:

dataset <- spss.system.file("file.sav")

2 个答案:

答案 0 :(得分:3)

请参阅?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对象,但确实有你想要的东西。对于分析,您通常需要对数据集2执行:as.data.frame

答案 1 :(得分:2)

我想出了一个我喜欢的解决方案

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))