Masih mencoba masuk ke logika R ... apa cara "terbaik" untuk membongkar (pada LHS) hasil dari fungsi yang mengembalikan beberapa nilai?
Rupanya saya tidak bisa melakukan ini:
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
haruskah saya benar-benar melakukan hal berikut?
R> r <- functionReturningTwoValues()
R> a <- r[1]; b <- r[2]
atau akankah programmer R menulis sesuatu seperti ini:
R> functionReturningTwoValues <- function() {return(list(first=1, second=2))}
R> r <- functionReturningTwoValues()
R> r$first
[1] 1
R> r$second
[1] 2
--- diedit untuk menjawab pertanyaan Shane ---
Saya tidak benar-benar perlu memberi nama ke bagian nilai hasil. Saya menerapkan satu fungsi agregat ke komponen pertama dan yang lain ke komponen kedua ( min
dan max
. Jika itu adalah fungsi yang sama untuk kedua komponen saya tidak perlu membelah mereka).
attr
nilai pengembalian Anda.