跳转到内容

R 编程/管理工作区

来自维基教科书,开放世界中的开放书籍

此页面解释如何管理您的工作空间。

基本功能

[编辑 | 编辑源代码]
  • ls() 列出您的工作空间中的对象。
  • list.files() 列出工作空间文件夹中的文件。
  • rm() 从您的工作空间中删除对象;rm(list = ls()) 删除所有对象。
rm(list=ls()) # remove all the objects in the workspace

可以使用 save() 函数将每个对象保存到磁盘。然后可以使用 load() 将它们加载到内存中。

load("file.Rda")
...
# assume you want to save an object called 'df'
save(df, file = "file.Rda")
  • save.image() 保存您的工作空间。

关于会话的信息

[编辑 | 编辑源代码]
  • sessionInfo() 提供有关您会话的信息,例如加载的包、R 版本等。
  • R.version 提供有关 R 版本的信息。

内存使用情况

[编辑 | 编辑源代码]

注意:根据 Linux 和 Mac 上的 R 版本 3.5.1,memory.size()memory.limit() 是 Windows 特定的。

memory.size() 提供 R 当前使用的总内存量。

> memory.size()
[1] 10.18

memory.limit() 不带任何参数提供 R 使用的内存限制。这也可以用来增加限制。最大数量受计算机内存的限制。

> memory.limit()
[1] 1535
>  memory.limit(size=2000) # 2000 stands for 2000 MB
[1] 2000

object.size() 返回 R 对象的大小。您可以打印结果并选择单位(字节、千字节、兆字节等)。

> a <- rnorm(10^7)
> object.size(a)
80000024 bytes
> print(object.size(a),units="b")
80000024 bytes
> print(object.size(a),units="Kb")
78125 Kb
> print(object.size(a),units="Mb")
76.3 Mb
> print(object.size(a),units="Gb")
0.1 Gb
> print(object.size(a),units="auto")
76.3 Mb

memory.profile() 返回更多详细信息。

> memory.profile()
       NULL      symbol    pairlist     closure environment     promise 
          1        4959       61794        1684         255        3808 
   language     special     builtin        char     logical     integer 
      14253          46         687        5577        2889        4060 
     double     complex   character         ...         any        list 
        523           1       11503           0           0        1024 
 expression    bytecode externalptr     weakref         raw          S4 
          1           0         497         117         118         642
  • gc() 启动垃圾收集器,它会导致 R 释放不再使用的对象的内存。
> gc()
           used (Mb) gc trigger  (Mb) max used (Mb)
Ncells  1095165 58.5    1770749  94.6  1770749 94.6
Vcells 12060564 92.1   17769683 135.6 12062095 92.1
[编辑 | 编辑源代码]
索引 下一步:设置
华夏公益教科书