我有这样的数据集
df=data.frame(subject= c(rep(1001, 3), rep(732, 2),rep(966,4)))
我希望创建一个ID列,以便输出看起来像这样
subject id
1 1001 1
2 1001 1
3 1001 1
4 732 2
5 732 2
6 966 3
7 966 3
8 966 3
9 966 3
我使用了代码df$id <- as.numeric(as.factor(df$subject))
,但它给了我一个按照主题编号排序的id列
subject id
1 1001 3
2 1001 3
3 1001 3
4 732 1
5 732 1
6 966 2
7 966 2
8 966 2
9 966 2
有没有人知道如何使用自然顺序制作id列?
答案 0 :(得分:2)
简单地处理rawr's comment以解决问题(如果rawr发布回答,我很乐意删除此答案)
df=data.frame(subject= c(rep(1001, 3), rep(732, 2),rep(966,4)))
df
subject id
1 1001 1
2 1001 1
3 1001 1
4 732 2
5 732 2
6 966 3
7 966 3
8 966 3
9 966 3