Vẫn đang cố gắng đi vào logic R ... cách "tốt nhất" để giải nén (trên LHS) kết quả từ một hàm trả về nhiều giá trị là gì?
Tôi không thể làm điều này rõ ràng:
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
Tôi thực sự phải làm như sau?
R> r <- functionReturningTwoValues()
R> a <- r[1]; b <- r[2]
hoặc lập trình viên R sẽ viết một cái gì đó giống như thế này:
R> functionReturningTwoValues <- function() {return(list(first=1, second=2))}
R> r <- functionReturningTwoValues()
R> r$first
[1] 1
R> r$second
[1] 2
--- chỉnh sửa để trả lời câu hỏi của Shane ---
Tôi thực sự không cần đặt tên cho các phần giá trị kết quả. Tôi đang áp dụng một hàm tổng hợp cho thành phần đầu tiên và một chức năng khác cho thành phần thứ hai ( min
và max
. Nếu đó là cùng một chức năng cho cả hai thành phần tôi sẽ không cần phải tách chúng).
attr
giá trị trả về của bạn.