这是一个简单的问题,我想我可能可以重新发明轮子并编写一些自定义内容,但是我敢肯定,必须有一种目前尚无法想到的简便方法。假设我有一个列表:
l <- list("NY"=10001, "CT"=10002, "CT"=10002)
我想要一个列表:
list("NY"=10001, "CT"=10002)
我尝试使用unique(l)
,但它只返回:
list(10001, 10002)
如何获取唯一列表,但保留分配给值的名称?
答案 0 :(得分:4)
使用重复的:
l[ !duplicated(l) ]
答案 1 :(得分:3)
给出
每个字符串都映射到1个数字
我们可以做到:
l[unique(names(l))]
编辑:,另一种选择
tapply(l, names(l), `[`, 1)
答案 2 :(得分:1)
尝试重复的功能:
l=list("NY"=10001, "CT"=10002, "CT"=10002)
l[!duplicated(l)]
结果:
$NY
[1] 10001
$CT
[1] 10002