【问题标题】:clear memory in SPSS, like what is done in R在 SPSS 中清除内存,就像在 R 中所做的一样
【发布时间】:2011-06-20 02:18:08
【问题描述】:

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

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

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

【问题讨论】:

  • 这在 R 中是一个非常糟糕的习惯,您应该学习(并鼓励其他人学习)如何管理 R 工作区,以及是否在启动时恢复已保存的工作区。看到这些讨厌的代码被复制到整个地方,这让我发疯了,这是一个“自动”步骤。
  • 这很糟糕,因为 R 不是你所说的“空”。这不会分离您的任何包裹。它也不会重置任何选项。一些环境可能仍然存在。正如您所说,我也不确定它是否会清除内存。有一个不同的命令,即gc()
  • 更大的问题是,为什么人,为什么?!?!?如果您了解 R - 为什么还要去学习如何使用 SPSS?
  • 内存将被 R 清除,可能通过随后使用 gc() 更快,但仍然 - 主要的一点是,这是对一个症状应用“修复”,其中潜在的问题是启动 R 之一,它会自动加载保存的工作区。最可能的原因是工作目录中有一个 .Rdata 文件。在我看来,这是您应该直接控制的事情,就像您希望仔细控制工作流、运行哪些代码、定义哪些变量和函数、加载哪些包等等一样。

标签: r spss


【解决方案1】:

接近 SPSS 中的等效功能是

dataset close all.

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

【讨论】:

    【解决方案2】:

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

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

    您可能还想知道您可以通过以下方式在 SPSS 中运行 R 代码 开始程序 R。 结束程序。

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

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

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

    问候, 乔恩·派克

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-08-12
      • 2011-10-25
      • 1970-01-01
      • 2011-06-09
      • 2021-06-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多