【发布时间】:2013-08-08 10:39:04
【问题描述】:
我创建了一个保存在 .txt 文件中的函数(很长)。 它运行良好(我使用 source() 来访问它)。 我的问题是我在该函数中创建了一些变量 即:
myfun<-function(a,b) {
Var1=....
Var2=Var1 + ..
}
现在我想获取这些变量。
当我在函数中包含return() 时,它很好:值出现在屏幕上,但是当我在函数中键入 Var1 outside 时,我收到一条错误消息“找不到对象”。
我是 R 新手,但我想这可能是因为“myfun”在与全球环境不同的环境中运行,但当我这样做时
environment()
environment: R_GlobalEnv>
environment(myfun1)
environment: R_GlobalEnv>
在我看来问题出在其他地方......
有什么想法吗?
谢谢
【问题讨论】:
-
return不是assign你的var1对象,你需要自己做。例如。如果myfunreturns一个名为var1的函数内部对象,则需要执行var1 <- myfun(a,b)以将其保存到全局环境中。 -
另外,如果你想返回多个函数,你可以返回一个列表
return(list(var1=var1,var2=var2))。当调用这个例如var1 <- myfun(a,b)那么这两个变量将是 var1$var1 和 var1$var2。
标签: r function variables extract