添加一列,其中包含根据第二个、第三个和第四个最高值计算出的平均值

问题描述 投票:0回答:1

添加包含最大值的列很简单

df <- df %>% mutate (v.max = max (x))

但是,我想添加根据 x 列的第二个、第三个、第四个最高值计算出的平均值。 有没有一种优雅简洁的方法来做到这一点?

类似下面的内容(不幸的是 max.k 没有出现)

df <- df %>% mutate (v.max.mean = mean (max.k(x, 2), max.k(x, 4), max.k(x, 4))
r dplyr
1个回答
-1
投票

这个怎么样?

df %>% mutate(v.max.mean = mean(order(x, decreasing = TRUE)[2:4]))
© www.soinside.com 2019 - 2024. All rights reserved.