group_by两列不起作用,而是计算所有事件

时间:2017-10-27 11:48:54

标签: r dataframe dplyr

HeJ小鼠!

我希望按年龄和群组对数据进行分组,并计算每个群组的事件(event_placeholder),以便最终在ggplot中绘制结果。我的问题是之前的步骤:我的小组按总和计算所有信息,而不是按组分组。

这将是数据的摘录(它有10个群组左右):

    # A tibble: 184,374 x 7
# Groups:   age, Cohort [707]
   Cohort      id enter  stop event_placeholder   age age_group
   <fctr>   <int> <dbl> <dbl>             <dbl> <dbl>     <dbl>
 1   1830 1000067     0     1                 0    15        15
 2   1830 1000067     1     2                 0    16        15
 3   1830 1000067     2     3                 0    17        15
 4   1830 1000067     3     4                 0    18        15
 5   1830 1000067     4     5                 0    19        15
 6   1830 1000067     5     6                 0    20        20
 7   1830 1000067     6     7                 0    21        20
 8   1830 1000067     7     8                 0    22        20
 9   1830 1000067     8     9                 0    23        20
10   1830 1000067     9    10                 0    24        20
# ... with 184,364 more rows

代码在这里:

按组分列的年份和事件

Marr_Rates_sums <- group_by(Marr_Rates_split, age, Cohort)

#Marr_Rates_sums$stop <- round(Marr_Rates_sums$stop, digits = 1)
Marr_Rates_sums <- summarise(Marr_Rates_sums,
years = sum(stop-enter),
marriages = sum(event_placeholder),
rate = marriages/years
)

结果:

  years         marriages       rate
1 180187.6      6988            0.03878181

为什么代码会计算所有事件组和年龄?

0 个答案:

没有答案