我想返回在函数内分配的所有对象,
像这样:foo <- function() {
as <- LETTERS[1:3]
for(a in as) assign(a, sample(1000, 1))
return(as) # obviously not working
}
我知道我可能应该将它包装在一个列表中,但无法让它工作......
答案 0 :(得分:2)
我会按照您的建议将其作为列表返回,而setNames
就是为此设计的......
foo <- function( n ) {
as <- LETTERS[1:n]
setNames( replicate( n , sample( 1000 , 1 ) , simplify = FALSE ), as )
}
foo(3)
#$A
#[1] 286
#$B
#[1] 54
#$C
#[1] 791