我想保存函数的结果而不返回它。我知道函数中的变量是本地的。我尝试了以下内容,然后返回NULL
。
function1 <- function(directory)
{
setwd(directory)
#some codes
save(list=ls(.GlobalEnv), file= "result.Rdata")
# save.image(file= "result.Rdata")
}
function1("~/Desktop")
答案 0 :(得分:2)
请告诉您更多想要实现的目标。是否要将结果保存在文件中或R工作区中?在第一种情况下
function1 <- function(directory) {
setwd(directory)
#some codes
a <- 1
save(list=ls(), file= "result.Rdata")
}
会做到这一点。注意:您希望通过 ls()保存当前环境,而不是全局环境(除非您在那里指定值)。但是,为什么要从函数内部保存所有变量,而不仅仅是重要值?
如果要保存到工作区,请使用 assign()。
答案 1 :(得分:1)
如何返回结果invisible
test <- function(x){
return(invisible(x^2))
}
test(10) # no display of the result
abc <- test(10)
abc #contains 100