我需要访问lapply函数中的列表名称.我在网上发现了一些线程,据说我应该遍历列表的名称,以便能够获取我的函数中的每个列表元素名称:
> n = names(mylist)
> mynewlist = lapply(n, function(nameindex, mylist) { return(mylist[[nameindex]]) }, mylist)
> names(mynewlist)
NULL
> names(mynewlist) = n
Run Code Online (Sandbox Code Playgroud)
问题是mynewlist丢失了原始的mylist索引,我必须添加last names()赋值来恢复它们.
有没有办法为lapply函数返回的每个元素提供显式索引名称?或者以不同的方式确保mynewlist元素具有正确的索引名称集?如果lapply没有以与mylist相同的顺序返回列表元素,我觉得mynewlist索引名称可能是错误的.
我想设置一个包含命名条目的列表,其值未被初始化(我计划稍后向它们添加内容).人们通常如何做到这一点?我弄完了:
mylist.names <- c("a", "b", "c")
mylist <- as.list(rep(NA, length(mylist.names)))
names(mylist) <- mylist.names
Run Code Online (Sandbox Code Playgroud)
但这似乎有点hacky.必须有更标准的方法来做到这一点......对吗?