根据特定的分组编号顺序对data.frame中的行进行分组

时间:2017-04-12 12:50:44

标签: r dataframe grouping rows seq

这是我的data.frame的一个例子:

df = read.table(text = 'colA
1
1
1
0
1
1
0
0
0
1', header = TRUE)

我需要根据特定的分组编号对colA行进行分组,例如3,2,2,3,并为它们分配一个从1900到1903的数字。

期望的输出:

 colA  colB
    1   1900
    1   1900
    1   1900
    0   1901
    1   1901
    1   1902
    0   1902
    0   1903
    0   1903
    1   1903

4个分组数字表示:第1组=前3行,第2组=后续2行,第3组=后续2行,第4组=后续3行。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

我们可以使用rep

df$colB <- rep(1900:1903, c(3, 2, 2, 3))
df$colB
#[1] 1900 1900 1900 1901 1901 1902 1902 1903 1903 1903