使用dplyr处理组中的每一行

时间:2015-11-05 14:26:28

标签: r dplyr

我是R的新手。我正试图找到一种方法,使用dplyr包来处理组内的每一行。

我将数据分组如下。现在,我想创建一个新列,根据col_date

中的值,每行都有一个增量值

grpd_data <- master_data %>% group_by(col_str,col_date)

例如,请考虑以下数据集:

col1  col2 col_str   col_date
a1     a2   grp1    05-11-2015
b1     b2   grp1    06-11-2015
c1     c2   grp2    05-11-2015
d1     d2   grp2    06-11-2015

我正在寻找如下输出:

col1  col2 col_str   col_date   grp_seq
a1     a2   grp1    05-11-2015   1
b1     b2   grp1    06-11-2015   2
c1     c2   grp2    05-11-2015   1
d1     d2   grp2    06-11-2015   2

此外,grp_seq应根据col_date中的值增加值。如果该值是date_time,那么当天的第一条记录将获得值1,下一条记录将获得2,​​依此类推

请告诉我最新的方法。

1 个答案:

答案 0 :(得分:3)

您不希望在群组中包含col_date,然后您可以添加行号。试试这个:

library(dplyr)
master_data %>% group_by(col_str) %>%
                mutate(grp_seq = row_number())