根据特定的分组数字序列对 data.frame 中的行进行分组
Group rows within a data.frame based on specific sequence of grouping numbers
这是我的例子 data.frame:
df = read.table(text = 'colA
1
1
1
0
1
1
0
0
0
1', header = TRUE)
我需要根据特定的分组数字(例如 3、2、2、3)对 colA
行进行分组,并为它们分配一个从 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行。
有什么建议吗?
我们可以直接使用rep
df$colB <- rep(1900:1903, c(3, 2, 2, 3))
df$colB
#[1] 1900 1900 1900 1901 1901 1902 1902 1903 1903 1903
这是我的例子 data.frame:
df = read.table(text = 'colA
1
1
1
0
1
1
0
0
0
1', header = TRUE)
我需要根据特定的分组数字(例如 3、2、2、3)对 colA
行进行分组,并为它们分配一个从 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行。
有什么建议吗?
我们可以直接使用rep
df$colB <- rep(1900:1903, c(3, 2, 2, 3))
df$colB
#[1] 1900 1900 1900 1901 1901 1902 1902 1903 1903 1903