我需要对R中的数据集中的每个x观察(行)进行分组和标记 我需要知道数据集中的最后一组行是否少于x个观察值
例如: 如果我使用包含10个观察值和2个变量的数据集,并且我想按每3行进行分组。 我想添加一个新列,以便数据集如下所示:
speed dist newcol
4 2 1
4 10 1
7 4 1
7 22 2
8 16 2
9 10 2
10 18 3
10 26 3
10 34 3
11 17 4
答案 0 :(得分:2)
df$group <- rep(1:(nrow(df)/3), each = 3)
如果行数是3的精确倍数,则此方法有效。每三行将以序列号标记。
快速肮脏的方法来解决不知道最后一组是多么不完整的问题,只需检查当nrow是模数除以组大小时剩余的:nrow(df) %% 3 #change the divisor to your group size
答案 1 :(得分:1)
假设您的数据为df
,您可以
df$newcol = rep(1:ceiling(nrow(df)/3), each = 3)[1:nrow(df)]