我有一个无序向量v
,如下所示,我想找到列表中每个唯一元素最后一次出现的索引。
v <- scan(text="1 2 1 2 1 1 1 3 1 2 2 3 3 3 1 1 1 4 1 1 1 4 1 5 5 6
6 2 3 3 4 4 2 2 2 2 2 3 3 3 1 4 4 4 3 2 5 5 5 5")
v
# [1] 1 2 1 2 1 1 1 3 1 2 2 3 3 3 1 1 1 4 1 1 1 4 1 5 5 6 6 2 3 3 4 4 2 2 2 2 2 3 3 3
# [41] 1 4 4 4 3 2 5 5 5 5
预期结果(按1、2、3、4、5的顺序):
41 46 45 44 50
我知道我可以使用
unique(unlist(v))
查找唯一元素,但是如何找到它们最后一次出现的索引?任何想法?提前致谢。
最佳答案
即使数据没有排序,另一种方法仍然有效:
length(v1)-match(unique(v1),rev(v1))+1
关于r - 查找向量中唯一元素的最后一次出现的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27801589/