ยังคงพยายามที่จะเข้าสู่ตรรกะ 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
--- แก้ไขเพื่อตอบคำถามของ Shane ---
ฉันไม่ต้องการให้ชื่อกับส่วนของค่าผลลัพธ์ ฉันใช้ฟังก์ชันการรวมหนึ่งฟังก์ชันกับองค์ประกอบแรกและอีกฟังก์ชันหนึ่งกับองค์ประกอบที่สอง ( min
และmax
. หากเป็นฟังก์ชันเดียวกันสำหรับส่วนประกอบทั้งสองฉันไม่จำเป็นต้องแยกมันออก)
attr
ส่งคืนของคุณ