3

作为 R 用户,我现在正在尝试学习 SPSS 语法。

我 sed 在 R 脚本中添加命令rm(list=ls()),以确保在我继续工作之前 R 为空。

SPSS有类似的命令吗?谢谢。

4

2 回答 2

5

接近 SPSS 中的等效功能将是

dataset close all.

这只会关闭所有打开的数据帧,除了活动数据帧(并去掉它的名称)。如果您打开另一个数据集,前一个数据框将自动关闭。

于 2011-06-20T12:10:41.123 回答
5

由于 SPSS 使用内存的方式与 R 使用它的方式根本不同,因此 rm 和 SPSS 内存管理机制之间并没有完全等价的机制。在大多数情况下,SPSS 不会将数据集保存在内存中——这就是它可以处理无限大小文件的原因。当您关闭 SPSS 数据集时,其所有关联的元数据(位于内存中)都将被删除。DATASET CLOSE ALL 关闭所有打开的数据集,但仍可能存在未命名的数据集。要真正删除所有内容,您将编写 dataset close all。新文件。

因为如果打开另一个数据集,除非它具有数据集名称,否则它不能保持打开状态。

您可能还想知道您可以通过 BEGIN PROGRAM R.END PROGRAM 在 SPSS 中运行 R 代码。

SPSS 提供了用于读取活动 SPSS 数据、创建 SPSS 数据透视表、创建新的 SPSS 数据集等的 API。您甚至可以使用 SPSS Custom Dialog Builder 为您的 R 程序创建一个对话框界面。此外,还有一种构建 SPSS 扩展命令的机制,这些命令实际上是在 R 或 Python 中实现的。一旦您拥有基本的 SPSS Statistics,所有这些设备都是免费的。因此很容易使用 SPSS 为 R 程序提供良好的用户界面和良好的输出。

您可以从 SPSS 社区网站 www.ibm.com/developerworks/spssdevcentral 下载 R Essentials 和大量 R 扩展。全部免费,但需要注册。

ps rm(ls()) 在某些情况下很有用 - 它通常与 SPSS 中的 R 代码一起使用,因为 R 工作区的状态在同一 SPSS 会话中的 R 程序之间保留。

问候,乔恩·派克

于 2011-06-21T02:23:53.660 回答