簡體   English   中英

R中有沒有辦法計算行集之間的最大差異+平均值?

[英]Is there a way in R to calculate max difference + average between sets of rows?

我有一個關於不同條件的列的總和的問題,並且真的需要一些幫助。

考慮這個數據表:

動物在 動物關閉 時間
0
10
30
40
50
60
100
狗(完) 貓(完) 110

我想在這里計算動物在圍場上停留的最長和平均時間。 這個簡單的例子有兩個,但實際上有數百個! 查看時間列,狗在第二行和第三行之間最多停留二十分鍾。 所以最多 20 分鍾,平均 15 分鍾(一段 20 分鍾和一段 10 分鍾)。 或者,貓最多停留 10 分鍾,平均停留 10 分鍾(它在圍場上停留 10 分鍾,每次 3 次)。

所以我的輸出看起來像這樣:

動物 最長時間 平均時間
10 10
20 15
40 40

任何幫助,將不勝感激!!

使用diffgroup_bysummarise

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM