我不确定您在写“SPSS的读/写和数据管理速度明显优于R”时所指的是什么。您的问题本身证明了R在数据管理方面的灵活性!而且,10 万行 100 列的数据集绝不是一个大数据集。
但是,要回答你的问题,也许你正在寻找这样的东西。我提供的是“程序化”解决方案,而不是 GUI 解决方案,因为您在 Stack Overflow 上提出问题,其中重点更多地放在事物的编程方面。我正在使用可以在此处找到的示例数据文件:http: //www.ats.ucla.edu/stat/spss/examples/chp/p004.sav
将该文件保存到 SPSS 工作目录,打开 SPSS 语法编辑器,然后键入以下内容:
GET FILE='p004.sav'.
SELECT IF (lactatio <= 3).
SAVE OUTFILE= 'mynewdatafile.sav'
/KEEP currentm previous lactatio.
GET FILE='mynewdatafile.sav'.
但是,更有可能的是,您将不得不经历这样的事情:
FILE HANDLE directoryPath /NAME='C:\path\to\working\directory\' .
FILE HANDLE myFile /NAME='directoryPath/p004.sav' .
GET FILE='myFile'.
SELECT IF (lactatio <= 3).
SAVE OUTFILE= 'directoryPath/mynewdatafile.sav'
/KEEP currentm previous lactatio.
FILE HANDLE myFile /NAME='directoryPath/mynewdatafile.sav'.
GET FILE='myFile'.
您现在应该创建了一个只有三列的新文件,并且“lactatio”列中的任何值都不大于 3。
所以,基本步骤是:
- 加载您要使用的数据。
- 您感兴趣的所有案例的所有列的子集。
- 保存一个仅包含您感兴趣的变量的新文件。
- 在继续之前加载该新文件。
使用 R,基本步骤是:
- 加载您要使用的数据。
- 使用您的行和列子集创建一个对象(您知道该怎么做)。
嗯....我不了解你,但我知道我更喜欢哪种方法;)
如果您在 R 中使用正确的工具,如果速度确实是个问题,您也可以直接读取您感兴趣的特定子集,而无需先加载整个数据集。