簡體   English   中英

用戶定義函數將多個數據幀導出到全局環境

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM