r - 将数据框中的行分组,取最大值并计算组均值

标签 r dataframe rows lubridate

我有以下数据框:

df <- read.table(text = "
    Station    Area  Day       Flow
1     21009 4390.00  1913   725.661
2     24005  178.50  1913    25.540
3     25009 1264.00  1913   318.481
4     27002  758.90  1913   230.556
5     38003  133.90  1913     2.823
70    37006  228.40  9526    68.140
71    37008  190.30  9526    38.175
72    37009   60.70  9526    12.200
73    37018   47.90  9526    19.209
156   38021   42.20  12551    15.330
157   39093  117.60  12551    33.090
158   40004  206.00  12551    49.019
159   41005  180.90  12551    63.574
188   41006   87.80  14329    67.130
189   41011  154.00  14329   125.000
190   41012   93.30  14329    43.640
191   41014  379.00  14329   218.000
192   41015   58.30  14329     5.080", header = TRUE)

我想应用 dplyr 包(应该是最快的方法)以便按 Day 列对行进行分组,然后取最大值和平均值Area 的值,同时在其他 2 列中保留相应的观察值。

我的输出应该是:

    Station    Area  Day        Flow  Group_mean
1     21009 4390.00  1913    725.661    1345.06
70    37006  228.40  9526     68.140     131.83 
158   40004  206.00  12551    49.019     136.68
191   41014  379.00  14329   218.000     154.48

最佳答案

我们可以使用dplyr。按“Day”分组后,我们通过取“Area”的first值、“Station”的值、“Flow”最大的地方来汇总数据,得到max“流量”以及“面积”的平均值

library(dplyr)
df %>%
   group_by(Day) %>%
   summarise(Area1 = max(Area), 
             Station = Station[which.max(Flow)], 
             Flow = max(Flow), 
             Group_mean = mean(Area)) %>%
             rename(Area = Area1)
#     Day   Area Station    Flow Group_mean
#   <int>  <dbl>   <int>   <dbl>      <dbl>
#1  1913 4390.0   21009 725.661   1345.060
#2  9526  228.4   37006  68.140    131.825
#3 12551  206.0    41005  63.574    136.675
#4 14329  379.0    41014 218.000    154.480

编辑:基于@agenis 和@Sotos 评论

关于r - 将数据框中的行分组,取最大值并计算组均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38503748/

相关文章:

r - 从 R 中每个列表数据框中的特定列中减去一个值

r - IF THEN 在带有 LAG 的 r 数据帧上

r - 如何计算R中分组数据行之间距离和时间差的所有可能组合?

python - 从一个 Pandas 数据框中减去另一列

python - Pandas - 检查列中的数字是否在行中

r - 根据列表中的值列表对数据框进行子集化

r - 使用 ObjectId 查询 RMongo

r - XTS数据占用太多内存空间?

javascript - $ ('textarea' ).rows 扩展/收缩

ios - 按日期排序的 Xcode UITableView 部分和行(来自 mutableArray)