我有一个这样的数据框:
ID Ixs Ixe Lem1 Lem2
1 0 1 S- S-
2 1 2 P P
3 0 1 T t
4 1 2 1 1
5 0 1 W w
6 1 2 Na Nadd
7 3 4 Cze Czec
8 5 6 Abch Ab
9 7 8 Gr grn
10 9 10 Grs grs
11 0 1 Cz Czc
列Ixs
中从0开始的每个数字序列都属于同一观察值。序列是递增的,但不是连续的。我需要有一个带有ID计数器的额外的列,该列在存在0时将分配连续的ID Ixs
:
ID Ixs Ixe Lem1 Lem2 SeqID
1 0 1 S- S- 1
2 1 2 P P 1
3 0 1 T t 2
4 1 2 1 1 2
5 0 1 W w 3
6 1 2 Na Nadd 3
7 3 4 Cze Czec 3
8 5 6 Abch Ab 3
9 7 8 Gr grn 3
10 9 10 Grs grs 3
11 0 1 Cz Czc 4
我见过的所有添加整数序列的解决方案都需要一些我没有的分组变量。预先感谢您的帮助
我们可以cumsum
在base R
df1$SeqID <- cumsum(df1$Ixs == 0)
df1$SeqID
#[1] 1 1 2 2 3 3 3 3 3 3 4
df1 <- structure(list(ID = 1:11, Ixs = c(0L, 1L, 0L, 1L, 0L, 1L, 3L,
5L, 7L, 9L, 0L), Ixe = c(1L, 2L, 1L, 2L, 1L, 2L, 4L, 6L, 8L,
10L, 1L), Lem1 = c("S-", "P", "T", "1", "W", "Na", "Cze", "Abch",
"Gr", "Grs", "Cz"), Lem2 = c("S-", "P", "t", "1", "w", "Nadd",
"Czec", "Ab", "grn", "grs", "Czc")), class = "data.frame", row.names = c(NA,
-11L))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句