人们用什么技巧来管理交互式R会话的可用内存?我使用下面的函数[根据Petr Pikal和David Hinds在2004年的r-help列表中的帖子]列出(和/或排序)最大的对象,偶尔列出rm()其中的一些.但到目前为止,最有效的解决方案是在具有充足内存的64位Linux下运行.
人们想分享其他任何好玩的伎俩吗?请发一个帖子.
# improved list of objects
.ls.objects <- function (pos = 1, pattern, order.by,
decreasing=FALSE, head=FALSE, n=5) {
napply <- function(names, fn) sapply(names, function(x)
fn(get(x, pos = pos)))
names <- ls(pos = pos, pattern = pattern)
obj.class <- napply(names, function(x) as.character(class(x))[1])
obj.mode <- napply(names, mode)
obj.type <- ifelse(is.na(obj.class), obj.mode, obj.class)
obj.size <- napply(names, object.size)
obj.dim <- t(napply(names, function(x)
as.numeric(dim(x))[1:2]))
vec <- is.na(obj.dim)[, 1] & (obj.type != "function")
obj.dim[vec, 1] <- napply(names, length)[vec]
out <- data.frame(obj.type, …Run Code Online (Sandbox Code Playgroud) 我有一个文件,其中每一行是在实验的特定复制中收集的一组结果.每个实验中的结果数(即每行中的列数)可能不同.对于每行中结果的顺序也没有重要性(第1行中的第一个结果和第一个结果2与任何其他对相关性不大;这些是结果集).
该文件看起来像这样:
2141 0 5328 5180 357 5335 1 5453 5325 5226 7 4880 5486 0
2650 0 5280 4980 5243 5301 4244 5106 5228 5068 5448 3915 4971 5585 4818 4388 5497 4914 5364 4849 4820 4370
2069 2595 2478 4941
2627 3319 5192 5106 32 4666 3999 5503 5085 4855 4135 4383 4770
2005 2117 2803 2722 2281 2248 2580 2697 2897 4417 4094 4722 5138 5004 4551 5758 5468 17361
1914 1977 2414 100 2711 …Run Code Online (Sandbox Code Playgroud)