我有一个列
的表X <- c(6,6,6,10,10,26,26,26,26,26,80)
所以在X中我们有4个唯一的数字。
如何更改每个值的计算?例如:6,6,6位于第一位,所以使它们等于1; 10,10位于第二位,使它们等于2,依此类推。
答案 0 :(得分:4)
可以使用match
> X <- c(6,6,6,10,10,26,26,26,26,26,80)
> match(X, unique(X))
# [1] 1 1 1 2 2 3 3 3 3 3 4
答案 1 :(得分:3)
如果独特元素没有排序,这将给出与理查德略有不同的答案:
X <- c(6,6,6,10,10,26,26,26,26,26,80)
as.numeric(factor(X) )
[1] 1 1 1 2 2 3 3 3 3 3 4
比较
> X <- c(80, 6,6,6,10,10,26,26,26,26,26)
> as.numeric(factor(X))
[1] 4 1 1 1 2 2 3 3 3 3 3
> match(X, unique(X))
[1] 1 2 2 2 3 3 4 4 4 4 4