【发布时间】:2012-06-27 16:38:33
【问题描述】:
在我的 .Rprofile 中,我在 .First 中定义了以下两行
makeActiveBinding(".refresh", function() { system("R"); q("no") }, .GlobalEnv)
makeActiveBinding('.rm', function() {rm(list=ls(envir = .GlobalEnv),envir=.GlobalEnv); gc()}, .GlobalEnv)
它们通常是无害的,除非我不小心输入它们!第一个创建一个.refresh 函数,它将退出并重新启动 R 会话。第二个清空全球环境。但是,当使用 data.table 中的 tables() 函数时,这两个函数会运行,这并不是完全可取的。
目前,我已将它们从我的.First 中删除,但我很好奇是否有办法避免这种情况。 tables() 函数中的违规行是:
tt = objects(envir = env, all.names = TRUE)
ss = which(as.logical(sapply(tt, function(x) is.data.table(get(x,
envir = env)))))
【问题讨论】:
标签: r data.table