如何在不返回R的情况下保存函数的结果?

时间:2015-11-01 23:09:46

标签: r function save

我想保存函数的结果而不返回它。我知道函数中的变量是本地的。我尝试了以下内容,然后返回NULL

function1 <- function(directory)
 {
  setwd(directory)
  #some codes
  save(list=ls(.GlobalEnv), file= "result.Rdata")
  # save.image(file= "result.Rdata")
 }

function1("~/Desktop")

2 个答案:

答案 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