R函数将均值与案例结合起来

时间:2021-05-07 17:15:16

标签: r

当两个其他变量等于某个值时,我想要一个变量的平均值。例如,我想创建一个新的数据框,它有一个名为“mean”的变量,它给出了当 year == 2003 和 mon == 1 时 S1 中所有值的平均值,然后是平均值的下一个值当 year == 2003 和 mon == 2 时的 S1 值。

YEAR   MON    S1     S
  <dbl> <dbl> <dbl> <dbl>
1  2003     1  8.2   1.03
2  2003     1  7.39  0.97
3  2003     1  7.78  0.82
4  2003     2  7     0.91
5  2003     2  5     1.93
6  2003     2  5.49  0.31

1 个答案:

答案 0 :(得分:0)

使用 group by operation 可以更轻松地完成,并且与 case_when 相比也应该更高效

library(dplyr)
df1 %>%
   group_by(YEAR, MON) %>%
   summarise(mean = mean(S1, na.rm = TRUE), .groups = 'drop')
相关问题