如何获取R语言列表中指定索引位置的元素名称?
获取R语言列表指定索引的元素名称
嘿,这事儿好办!针对你定义的这个列表,要获取索引1对应的元素名称(也就是"All A"),有两种简单可靠的方法:
方法一:直接提取名称向量的对应位置
列表的元素名称存储在它的names属性里,我们可以用names()函数提取所有名称,再通过索引取第一个即可:
# 先定义你的列表 mapping <- c( "All A"= list(c('a1', 'a2')), "All B" = list(c('b1', 'b2'))) # 获取索引1的元素名称 names(mapping)[1]
运行后会输出:
[1] "All A"
如果希望返回的是单个字符串而非长度为1的向量,可以改用双括号索引:
names(mapping)[[1]]
结果是一样的,只是数据类型稍有区别,按需选择就行。
方法二:通过元素匹配反向查找名称(适合特殊场景)
如果你已经拿到了索引1对应的元素,想反向找到它的名称,可以用这种方法(不过更推荐第一种,因为更直接):
# 找到与mapping[[1]]匹配的元素位置,再取对应名称 names(mapping)[which(sapply(mapping, function(x) identical(x, mapping[[1]])))]
不过要注意,如果列表里有完全相同的元素,这种方法会返回所有匹配元素的名称,所以第一种方法更稳妥。
内容的提问来源于stack exchange,提问作者user3206440
相关产品推荐
相关产品推荐

