仍在尝试进入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
-编辑以回答沙恩的问题
我真的不需要给结果值部分命名。我将一个聚合函数应用于第一个组件,另一个聚合函数应用于第二个组件(min
和max
)。如果两个组件的函数相同,我就不需要拆分它们了)。
https://stackoverflow.com/questions/1826519
复制相似问题