[英]How can I save the results of a function in R without returning it?
我想保存一个函数的结果而不返回它。 我知道函数中的变量是局部的。 我尝试了以下方法,它们返回NULL
。
function1 <- function(directory)
{
setwd(directory)
#some codes
save(list=ls(.GlobalEnv), file= "result.Rdata")
# save.image(file= "result.Rdata")
}
function1("~/Desktop")
请告诉更多您想要实现的目标。 您要将结果保存到文件还是R工作区中? 在第一种情况下
function1 <- function(directory) {
setwd(directory)
#some codes
a <- 1
save(list=ls(), file= "result.Rdata")
}
会成功的 注意:您要通过ls()而不是全局环境保存当前环境(除非您在此处分配值)。 但是,为什么要从函数内部保存所有变量,而不仅仅是重要值?
如果要保存到工作区,请使用assign() 。
返回结果invisible
怎么办
test <- function(x){
return(invisible(x^2))
}
test(10) # no display of the result
abc <- test(10)
abc #contains 100
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.