Hala R mantığına girmeye çalışıyoruz ... birden fazla değer döndüren bir fonksiyondan sonuçları (LHS'de) paketlemenin "en iyi" yolu nedir?
Görünüşe göre bunu yapamam:
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
Gerçekten aşağıdakileri yapmalıyım?
R> r <- functionReturningTwoValues()
R> a <- r[1]; b <- r[2]
ya da R programcısı böyle bir şey yazar mı:
R> functionReturningTwoValues <- function() {return(list(first=1, second=2))}
R> r <- functionReturningTwoValues()
R> r$first
[1] 1
R> r$second
[1] 2
--- Shane'nin sorularını cevaplamak için düzenlendi ---
Sonuç değer kısımlarına gerçekten isim vermeme gerek yok. Birinci bileşene bir toplama işlevi, ikinci bileşene diğeri ( min
ve max
her iki bileşen için aynı işlev olsaydı, bunları bölmeye gerek yoktur) uyguluyorum .
attr
.