[英]User defined function export multiple data frames into global environment
我创建了一个函数,该函数可计算各种患者数据的统计信息,并输出图表,它会生成包含每个患者的摘要统计信息的数据框。
如果我在R中复制并运行该函数,则输出对我可用。 但是,我现在从单独的R脚本调用该函数,并且数据帧不再可用。
有什么办法可以纠正这个问题?
例如,
test=function(a){
A=a
B=2*a
C=3*a
D=4*a
DF=data.frame(A,B,C,D)
}
a=c(1,2,3,4)
test(a)
这不会返回DF
,但是如果我输入:
a=c(1,2,3,4)
A=a
B=2*a
C=3*a
D=4*a
DF=data.frame(A,B,C,D)
然后很明显, DF
被返回。 是否有一种简单的方法可以解决此问题,以便从test
功能中可以使用DF
?
尝试:
test=function(a){
A=a
B=2*a
C=3*a
D=4*a
DF=data.frame(A,B,C,D)
}
a=c(1,2,3,4)
df<-test(a)
print(df)
通过将函数的返回值分配给新变量,现在可以在全局空间中访问它了。
如果要将函数内的对象分配给全局环境以便于检索,则您的运算符为“ <<-”或“->>”,以获取更多信息,请参见:
?assignOps()
即
test <- function(a)
A=a
B=2*a
C=3*a
D=4*a
DF <<- data.frame(A,B,C,D)
}
# trial your dummy data
a=c(1,2,3,4)
test(a)
DF
嘿... 在函数中写入return(DF)
不会将您的数据帧传递到全局环境。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.