提问者:小点点

R中有没有一种方法可以计算行集合之间的最大差异平均值?


我有一个关于不同条件下的列求和的问题,我真的很想得到一些帮助。

考虑这个数据表:

我想在这里计算一只动物在围场上停留的最长时间和平均时间。这个简单的例子有两个,但实际上有数百个!查看时间列,狗在第二行和第三行之间最多停留20分钟。所以最多20分钟,平均15分钟(一个周期为20分钟,一个周期为10分钟)。或者,猫最多停留10分钟,平均10分钟(它在围场上每次停留10分钟,共三次)。

所以我的输出看起来像这样:

任何帮助都将不胜感激!!


共1个答案

匿名用户

使用diffgroup_by总结

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