如何在 R 中保存函数的结果而不返回它?

Posted

技术标签:

【中文标题】如何在 R 中保存函数的结果而不返回它?【英文标题】:How can I save the results of a function in R without returning it? 【发布时间】:2015-11-01 23:09:45 【问题描述】:

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

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

function1("~/Desktop")

【问题讨论】:

为什么要这样做?请提供一些细节。 我正在将此功能应用于目录中的所有文件(不相关)。 您想要或不想返回什么? NULL 已经什么都不是了。你需要给我详细信息。 【参考方案1】:

请详细说明您想要实现的目标。要将结果保存在文件中还是 R 工作区中?第一种情况

function1 <- function(directory) 
  setwd(directory)
  #some codes
  a <- 1
  save(list=ls(), file= "result.Rdata")

会成功的。注意:您希望通过 ls() 保存当前环境,而不是全局环境(除非您在那里分配值)。但是为什么要保存函数内部的所有变量,而不仅仅是重要的值呢?

如果要保存到工作区,请使用 assign()

【讨论】:

【参考方案2】:

返回结果怎么样invisible

test <- function(x)
  return(invisible(x^2))

test(10) # no display of the result
abc <- test(10)
abc #contains 100

【讨论】:

以上是关于如何在 R 中保存函数的结果而不返回它?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Python3 中向调用函数返回更多值并显示结果,目前它只打印第一个值而不增加? [复制]

如何在R中保存ggcoxzph图?

如何在.NET中调用异步函数而不等待它[重复]

如何在 django 中返回在枕头中生成的图像而不保存在数据库中?

`[<-` 函数在 R 中如何工作?

如何从 R 中的 animate 函数中保存 GIF 图像?