首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何从一个返回多个值的函数赋值?

如何从一个返回多个值的函数赋值?
EN

Stack Overflow用户
提问于 2009-12-01 22:27:24
回答 12查看 279.9K关注 0票数 253

仍在尝试进入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

-编辑以回答沙恩的问题

我真的不需要给结果值部分命名。我将一个聚合函数应用于第一个组件,另一个聚合函数应用于第二个组件(minmax )。如果两个组件的函数相同,我就不需要拆分它们了)。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1826519

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档