【发布时间】:2020-02-06 18:24:06
【问题描述】:
我经常编写将命名列表作为参数返回的函数。这是一个简单的例子:
func <- function() {
x <- rnorm(10)
y <- runif(10)
out <- list(x = x, y = y)
return(out)
}
命令list(x = x, y = y) 是我当前的解决方案,它使列表的名称与其包含的对象相同,否则输出将具有名称[[1]] 和[[2]]。我的问题是,对于更长和更复杂的示例,这可能会变得烦人且相当不雅。
我想知道是否有更好的解决方案,不需要我写两次列出的每个元素的名称。我看到了一个类似的问题here,但发现被接受了回答对我来说太复杂了。
【问题讨论】:
-
func <- function() list(x=rnorm(10), y=runif(10)) -
@jogo 感谢您的意见;我想我应该提到我知道这个替代方案,但是如果列表元素更复杂(想象长方程或大数据框)它也可能看起来很丑,更不用说可能有理由保留@ 987654327@ 和
y分配并位于函数的早期部分。