没有名称的列表返回NULL其名称:获取列表元素的名称一致的矢量
> names(list(1,2,3))
NULL
但增加了一个名为事情,突然名称具有列表的长度:
> names(list(1,2,3,a=4))
[1] "" "" "" "a"
因为这现在是一个命名清单。我想是一个函数,rnames说,做任何列表到一个名为列表,使得:
rnames(list(1,2,3)) == c("","","")
identical(rnames(list()), character(0))
length(rnames(foo)) == length(foo) # for all foo
及以下,这是什么名字()做反正:
rnames(list(1,2,3,a=3)) == c("","","","a")
rnames(list(a=1,b=1)) == c("a","b")
我现在哈克的方法是一个名叫事情添加到列表中,得到的名称,然后砍了下来:
rnames = function(l){names(c(monkey=1,l))[-1]}
,但有没有做这更好/有道?
足够接近:)我的rnames返回的是名称而不是重命名的列表,但重命名的列表可能很有用。我希望有一个函数可以将列表转换为命名列表。找不到一个... – Spacedman