首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >有什么技巧可以通来来管理R会话中的可用内存?

有什么技巧可以通来来管理R会话中的可用内存?

提问于 2017-12-12 18:14:55
回答 2关注 0查看 250

人们使用什么技巧来管理交互式R会话的可用内存?我使用下面的函数(基于Petr Pikal和David Hinds在2004年的“帮助列表”中发布的帖子)来列出(和/或排序)最大的对象,偶尔会使用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, obj.size, obj.dim)

names(out) <- c("Type", "Size", "Rows", "Columns")

if (!missing(order.by))

out <- out[order(out[[order.by]], decreasing=decreasing), ]

if (head)

out <- head(out, n)

out

}

# shorthand

lsos <- function(..., n=10) {

.ls.objects(..., order.by="Size", decreasing=TRUE, head=TRUE, n=n)

}

回答

和开发者交流更多问题细节吧,去 写回答
相关文章

相似问题

相关问答用户
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档