如何将数据集导出到SPSS?

时间:2014-08-21 07:26:48

标签: r spss

我想将MASS包中的数据集导出到SPSS进行进一步调查。我正在寻找包中的EuStockMarkets数据集。

http://www.statmethods.net/input/exportingdata.html所述,我做了:

library(foreign)
write.foreign(EuStockMarkets, "c:/mydata.txt", "c:/mydata.sps",   package="SPSS")

我有一个文本文件,但sps文件不是有效的SPSS文件。我真的在寻找一种方法将数据集导出到SPSS可以打开的东西。

4 个答案:

答案 0 :(得分:7)

正如Thomas在评论中提到的那样,write.foreign不会生成本机SPSS数据文件(.sav)。它生成的是以逗号分隔格式(.txt文件)的数据和用于将该数据读入SPSS(.sps文件)的基本语法文件。 EuStockMarkets数据对象类是多变量时间序列(mts),因此当它被导出时,元数据将丢失,并且生成的.sps文件(缺少变量名称)在您尝试在SPSS中运行时会引发错误。要解决此问题,您可以将其导出为数据框:

write.foreign(as.data.frame(EuStockMarkets), "c:/mydata.txt", "c:/mydata.sps", package="SPSS")

现在你只需要在SPSS中打开mydata.sps作为语法文件(不作为数据文件)并运行它来读取数据文件。

答案 1 :(得分:2)

使用STATS GET R扩展命令,而不是导出它。它将从R工作空间/数据集中获取指定的数据框,并将其转换为统计数据集。您需要R Essentials for Statistics和扩展命令,这些命令可通过SPSS社区网站(www.ibm.com/developerworks/spssdevcentral)获取

答案 2 :(得分:2)

我没有尝试回答已经回答的问题。我认为还有其他东西可以补充其他寻找此用户的用户。

在SPSS窗口中,您只需找到第一行代码并进行编辑即可。它应该是这样的: "file-name.txt"

您需要找到保存文件的文件夹路径: " C:\ Users \ DELL \ Google Drive \ Folder-With-Your-File"

然后您只需要将此路径添加到您的文件名称: "C:\Users\DELL\Google Drive\Folder-With-Your-File\file-name.txt"

否则SPSS将无法识别.txt文件。

很抱歉,如果我在这里重复一些信息,我只是想让它更容易理解。

答案 3 :(得分:1)

我认为EuStockMarkets是一个(标记为)数据框。 这应该可以工作,甚至可以保留变量和值标签:

require(sjlabelled)
write_spss(EuStockMarkets, "mydata.sav") 

或者您尝试rio:

rio::export(EuStockMarkets, "mydata.sav")