我有一个关于不同条件的列求和的问题,真的需要一些帮助。
考虑这个数据表:
animal off | Time | 猫狗 | 0 | 狗
---|---|---|
猫 | 10 | |
狗 | 30 | |
猫 | 40 | |
狗 | 50 | |
猫 | 60 | |
马 | 100 | |
狗(结束) | 猫(结束) | 110 |
使用diff
,group_by
和summarise
:
df %>%
mutate(time_diff = c(diff(Time), NA)) %>%
group_by(`animal on`) %>%
summarise(
`Max time` = max(time_diff, na.rm = TRUE),
`Average Time` = mean(time_diff, na.rm = TRUE)
)
# A tibble: 2 × 3
`animal on` `Max time` `Average Time`
<chr> <dbl> <dbl>
1 cat 10 10
2 dog 20 15