使用R我想在数据框中添加一个ID变量,但我希望它能在data.frame中的第二个变量的每个级别重新开始(可怕的句子,希望有一个例子有帮助)。
所以,我知道如何使用mutate
创建一个扩展data.frame长度的ID变量dat <- mutate(dat, id=rownames(dat))
Var1 ID
1 1
1 2
1 3
1 4
1 5
1 6
2 7
2 8
2 9
2 10
2 11
但我真正想要的是一旦Var1命中2(然后是3,然后是4等),ID变量就会重新开始。我想你可以使用某种类型的apply函数,或者可能使用dplyr,但我不确定是否有一个。以下是我想要做的事情。
Var1 ID
1 1
1 2
1 3
1 4
1 5
1 6
1 7
2 1
2 2
2 3
2 4
2 5
2 6
2 7
2 8
2 9
3 1
3 2
3 3
3 4
3 5
3 6
3 7
3 8
3 9