首页 文章

使用dplyr处理组中的每一行[duplicate]

提问于
浏览
1

这个问题在这里已有答案:

我是 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 回答

  • 3

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

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

相关问题