我想将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可以打开的东西。
答案 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")