まだRロジックに入ろうとしている...複数の値を返す関数からの結果を(LHSで)アンパックする「最良の」方法は何ですか?
どうやらこれはできません:
R> functionReturningTwoValues <- function() { return(c(1, 2)) }
R> functionReturningTwoValues()
[1] 1 2
R> a, b <- functionReturningTwoValues()
Error: unexpected ',' in "a,"
R> c(a, b) <- functionReturningTwoValues()
Error in c(a, b) <- functionReturningTwoValues() : object 'a' not found
私は本当に次のことをしなければなりませんか?
R> r <- functionReturningTwoValues()
R> a <- r[1]; b <- r[2]
または、R プログラマーは次のように書きます。
R> functionReturningTwoValues <- function() {return(list(first=1, second=2))}
R> r <- functionReturningTwoValues()
R> r$first
[1] 1
R> r$second
[1] 2
--- シェーンの質問に答えるために編集 ---
結果の値の部分に名前を付ける必要はありません。1 つの集計関数を最初のコンポーネントに適用し、別の集計関数を 2 番目のコンポーネントに適用しています (両方のコンポーネントで同じ関数min
でmax
ある場合は、それらを分割する必要はありません)。