[英]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.