用户定义的函数将多个数据帧导出到全局环境中
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)
这不是 return 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
是 returned。有没有一种简单的方法可以解决此问题,以便 DF
可以从 test
函数获得?
尝试:
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)
通过将函数的返回值分配给一个新变量,它现在可以在全局 space.
中访问
如果您想将函数内的对象分配给全局环境以便于检索,那么您的运算符是“<<-”或“->>”以获取更多信息,请参阅:
?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)
不会将您的数据框传送到全局环境。
我创建了一个函数,它计算各种患者数据的统计数据,除了输出图表外,它还生成包含每个患者汇总统计数据的数据框。
如果我复制并 运行 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)
这不是 return 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
是 returned。有没有一种简单的方法可以解决此问题,以便 DF
可以从 test
函数获得?
尝试:
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)
通过将函数的返回值分配给一个新变量,它现在可以在全局 space.
中访问如果您想将函数内的对象分配给全局环境以便于检索,那么您的运算符是“<<-”或“->>”以获取更多信息,请参阅:
?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)
不会将您的数据框传送到全局环境。