首先,如果我的问题不是很清楚,我想提前道歉。我对 R 完全陌生,我的术语不会那么好。
我们从外部公司获得一个包含调查数据的 SPSS 文件。我们有一个 R 脚本来提取数据并将其写入 CSV 文件。这工作正常。
脚本的第二部分为所有可能的 aswers 构建一个 INI 样式的文件。例如,对于 AGE,我们会有类似的东西
[ AGE ]
1 = Under 13
2 = 13 - 15
3 = 15 - 25
4 = 25+
CSV 文件的每一行将具有 1、2、3 或 4 之一。直到最近,所有可能的答案都从 1 开始编号,但现在其中一些从 0 开始。因此我们希望有类似的东西:
[ AGE ]
0 = Under 13
1 = 13 - 15
2 = 15 - 25
3 = 25+
以下是我们当前使用的 R 代码。我知道哪里出了问题,但我不知道如何纠正它。
data<-read.spss(inputFile, to.data.frame=TRUE);
fileOut<- file(valuesExportFile, "w");
for (name in names(data)) {
cat("[", name,"]\n", file=fileOut);
variableValues<-levels(data[[name]]);
numberOfValues<-nlevels(data[[name]]);
if (numberOfValues > 0) {
for (i in 1:numberOfValues) {
cat(i, '= "', variableValues[i], '"', "\n", file=fileOut);
}
}
};
close(fileOut);
我花了一天半的时间在谷歌上搜索并尝试了各种方法。我确实找到了一个 perl 脚本 spssread.pl,它可以根据需要提取数据,但由于某种原因,所有标签名称都是大写的,这是不可接受的,因为它们区分大小写。我会继续查看这个脚本,但与此同时,我想看看是否有使用 R 的解决方案,因为这是我们已经使用的,并且将所有内容都放在一个脚本中会很好。
那么,有什么建议吗?