2016-04-09 46 views

回答

0

這是一個非常壞主意,但我沒有使用可變c,因爲這也是一個(相當重要)函數的名字,你可以

f <- function(P) { 
    x <<- P + 1 
    y <<- x + 2 

} 

f(2) 

。事實上,它會失敗。

如果你需要傳遞的第一功能(f1)到另一個功能(f2)返回的多個值,你應該做的是一樣的東西:

f1 <- function(P) { 
    x <- P + 1 
    y <- x + 2 
    list(x=x, y=y) 
} 

f2 <- function(x, y) { 
    x + y 
} 

r <- f1(2) 
f2(r$x, r$y) 

r <- f1(2) 
do.call(f2, r) 
+0

謝謝RobertH,我知道這一點,但還有其他解決方案嗎? – Tam

+0

你的腳本使用x和y作爲變量的名稱,但是當名稱是c和d時,我有一個錯誤:f(2)中的錯誤:無法更改'c'的鎖定綁定的值。我不明白爲什麼。 – Tam

+0

對不起RobertH,我對R沒有什麼信心,但爲什麼是一個壞主意?從單個函數返回更多變量可能是最好的策略? – Tam

相關問題