【发布时间】:2012-03-17 04:34:38
【问题描述】:
我需要访问 lapply 函数中的列表名称。我在网上找到了一些线程,据说我应该遍历列表的名称,以便能够在我的函数中获取每个列表元素名称:
> n = names(mylist)
> mynewlist = lapply(n, function(nameindex, mylist) { return(mylist[[nameindex]]) }, mylist)
> names(mynewlist)
NULL
> names(mynewlist) = n
问题是 mynewlist 丢失了原始 mylist 索引,我必须添加 last names() 分配来恢复它们。
有没有办法为 lapply 函数返回的每个元素指定一个明确的索引名称?或者另一种方法来确保 mynewlist 元素设置了正确的索引名称?如果 lapply 不以与 mylist 相同的顺序返回列表元素,我觉得 mynewlist 索引名称可能是错误的。
【问题讨论】:
-
我不断地回到这篇文章。按照下面的答案,您可以在加载 dplyr 后通过
n <- names(mylist) %>% `names<-`(c(.))直接将列表项指定为名称。