如何解决R:在非全局环境中使用文字评估代码
我正在尝试评估包含带有文字(时间)的代码的文件:
library(data.table)
data.table(Time = 1:10)[order(-Time)]
当我在.GlobalEnv中评估时,它会起作用:
ll <- parse(file = path)
for (i in seq_along(ll)) {
# print(i)
tryCatch(eval(ll[[i]],.GlobalEnv),error = function(e) message("Oops! ",as.character(e)))
}
但是,当我尝试在命名空间中求值时,它会失败:
ns <- namespace::makeNamespace('spacename')
ll <- parse(file = path)
for (i in seq_along(ll)) {
#print(i)
tryCatch(eval(ll[[i]],envir = ns),as.character(e)))
}
顺序(-时间)出错:找不到对象“时间”
对此有什么解决方案?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。