data.table对象现在有一个:=运算符.是什么让这个运算符与所有其他赋值运算符不同?此外,它的用途是什么,它的速度有多快,什么时候应该避免?
我定期编程.好吧,我一直在编程,但有时会以内存错误的形式赶上我.我开始在使用rm()命令删除对象时执行一些纪律,事情变得更好.我在网上看到有关gc()在删除大型数据对象后是否应该显式调用的混合消息.有人说在R返回内存错误之前它会运行,gc()而其他人则说手动强制gc是一个好主意.
我应该gc()在删除大型对象后运行以确保最大的内存可用性吗?
我使用了一些变量,但是当它被使用时,我再也不需要它了,所以我需要删除它并释放内存,但函数rm()似乎没有帮助:
memory.size()
30.69
tmp=matrix(rnorm(6e5*20),6e5,20)
memory.size()
207.64
rm(tmp)
memory.size()
207.64
Run Code Online (Sandbox Code Playgroud)
这是否意味着我删除了tmp但内存没有被释放?
我的.Rprofile中有一些便利函数,比如这个用于返回内存中对象大小的方便函数.有时我喜欢在不重新启动的情况下清理我的工作区,我这样做rm(list=ls())会删除所有用户创建的对象和我的自定义函数.我真的很想不吹嘘我的自定义功能.
解决这个问题的一种方法似乎是使用我的自定义函数创建一个包,以便我的函数最终在他们自己的命名空间中.这不是特别难,但有没有更简单的方法来确保自定义函数不被rm()杀死?
我在linux中使用R,只在命令行中使用.
一段时间后回到项目中,我忘记了我使用的变量名,并且R命令历史记录不包含它们.
我似乎记得有一个命令列出了所有用户定义的变量,但不记得它是什么,并且无法在网上找到它.
如何在R中列出所有用户定义的变量?
我试图让一些代码在RAM少于4GB的计算机上运行.我使用32位版本的R来强制执行内存上限.当我试图运行内存占用命令并且一切都中断时,我正在接近脚本末尾的墙.但内存占用任务本身需要不到4GB.我已经将问题缩小到这样的事实 - 尽管在当前会话中清除了内存中的所有对象--R控制台仍然保持1.9GB的RAM.下面的屏幕截图突出显示了我遇到问题的确切位置:注意内存中没有任何对象,但是任务管理器说这个R的实例拥有1.8578GB的RAM.
如果我清除内存中的所有对象,然后运行gc()它仍然不会清除所有内存(正如您在我的屏幕截图中看到的).
是否有可能以某种方式清除这种记忆?
如果有任何用处,您可以通过运行此脚本将其重现到崩溃点
谢谢!
编辑:在我得到的脚本的末尾
[1] "current designing ./2011/bst.rda"
Error: cannot allocate vector of size 434.7 Mb
In addition: There were 50 or more warnings (use warnings() to see the first 50)
> gc(verbose=T)
Garbage collection 27232 = 15350+4362+7520 (level 2) ...
31.5 Mbytes of cons cells used (49%)
450.6 Mbytes of vectors used (21%)
used (Mb) gc trigger (Mb) max used (Mb)
Ncells 1175911 31.5 2421436 64.7 1770749 47.3
Vcells 59048650 450.6 …Run Code Online (Sandbox Code Playgroud) S-Plus在其GUI中内置了一个出色的对象浏览器和数据编辑器.它允许您一目了然地轻松查看工作区中的所有对象,并按名称,大小或日期对其进行排序.
据我所知,R的唯一等价物是JGR中的对象浏览器(http://jgr.markushelbig.org/).
否则我只是在大多数时候使用search()和ls()命令(当我有很多对象时,还有grep()).
# trivial example of routine:
search()
utils.list <- ls(pos="package:utils")
utils.list[grep("edit",utils.list)]
Run Code Online (Sandbox Code Playgroud)
有没有人有任何浏览R工作区的技巧或建议?有没有点击式解决方案?
我有一个1000*1000矩阵(只包含整数0和1),但是当我尝试制作热图时,会发生错误,因为它太大了.
如何创建具有如此大矩阵的热图?
r ×10
memory ×2
colon-equals ×1
data.table ×1
heatmap ×1
namespaces ×1
rprofile ×1
terminal ×1