所以我有如下列表
1. a
2. a
3. b
4. b
5. c
6. c
7. a
8. a
是否有可能根据R中每个值的顺序得到一个编号的列表:
1. 1
2. 2
3. 1
4. 2
5. 1
6. 2
7. 3
8. 4
最佳答案
您可以使用ave
。假设你的向量被称为“x”,尝试:
ave(x, x, FUN = seq_along)
# [1] "1" "2" "1" "2" "1" "2" "3" "4"
这完全是矫枉过正,但是我的“splitstackshape”包中的 getanID
也这样做:
library(splitstackshape)
getanID(as.data.table(x), "x")
# x .id
# 1: a 1
# 2: a 2
# 3: b 1
# 4: b 2
# 5: c 1
# 6: c 2
# 7: a 3
# 8: a 4
示例数据
x <- c("a", "a", "b", "b", "c", "c", "a", "a")
关于R:报告一个值的出现序号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28313217/