我有一个 R 数据框:
a <- 1:12
list <- c(rep("x",3),rep("y",4),rep("z",3),rep("x",2))
data <- data.frame(a,list)
data
a list
1 x
2 x
3 x
4 y
5 y
6 y
7 y
8 z
9 z
10 z
11 x
12 x
我想创建一个新列,每次“list”的值更改时从 1 开始计数,即在此示例中:
b <- c(1:3,1:4,1:3,1:2)
data <- data.frame(a,list,b)
我远不是 R 方面的专家,而且我一生都无法找到一种有效的方法来做到这一点。我的主要问题似乎是“列表”的任何值都可以随时返回,但是对于一个值的块的长度没有规则。有没有人有任何想法?谢谢!