返回其参数的函数,由其自身命名

时间:2013-03-14 20:54:19

标签: r

基本R或包中是否有一个函数将列表作为参数并返回此列表,并将名称设置为列表项?这些方面的东西:

named.list <- function(l) { names(l) <- l; l }

这对l?ply中的plyr函数很有用 - 这些函数保留参数列表的名称。比较:

llply(c('a', 'b', 'c'), function(x) paste0('(', x, ')'))
 [[1]]
 [1] "(a)"

 [[2]]
 [1] "(b)"

 [[3]]
 [1] "(c)"
llply(named.list(c('a', 'b', 'c')), function(x) paste0('(', x, ')'))
 $a
 [1] "(a)"

 $b
 [1] "(b)"

 $c
 [1] "(c)"

1 个答案:

答案 0 :(得分:2)

你想要这个吗?:

ll <- c('a', 'b', 'c')
ll <- setNames(ll,ll)
 ll
  a   b   c 
"a" "b" "c"