【发布时间】:2014-10-17 19:32:16
【问题描述】:
我想从存储的 RData 文件中获取特定的变量值。在 R 示例代码中,经常会加载涉及全局变量的数据集。
我想避免使用任何全局变量,而是编写一个函数来返回存储在 RData 文件中的变量的值。 (这也使得需要哪个变量更加明确。)
我如何编写一个函数来返回一个存储为 RData 文件中的变量的值(不使用任何全局变量)。
(我尝试了getVariableFromRDatabelow这个函数,但它有点麻烦,可能不正确。)
xx <- pi # to ensure there is some data
save(list = ls(all = TRUE), file= "all.RData")
rm(xx)
getVariableFromRData <- function(dataName, varName) {
e <- new.env()
load(dataName, envir=e)
if(varName %in% ls(e)) {
resultVar <- e[[varName]]
return(resultVar)
} else {
stop (paste0("!! Error: varname (", varName,
") not found in RData (", dataName, ")!"))
}
}
yy <- getVariableFromRData("all.RData", "xx")
【问题讨论】:
-
您的方法对我来说似乎很好,尽管使用
get代替检查 varName 是否在ls的输出中会更干净,并且您不必自己创建错误。跨度>
标签: r