gpt4 book ai didi

r - 根据前 5 个值汇总 R 中的多列

转载 作者:行者123 更新时间:2023-12-04 10:10:13 25 4
gpt4 key购买 nike

我正在尝试根据 R 中每个变量的前 5 个值汇总多列数据的示例如下。

df

ID A B C D

A 325 68 8 8
B 308 85 2 7
B 342 99 6 2
A 439 83 9 6
A 278 60 10 2
A 367 78 14 4
C 136 59 12 5
C 259 73 11 4
B 338 79 5 6
B 461 99 3 7
D 364 73 14 4
D 238 80 3 8
A 266 54 10 10


我当前的代码如下所示:
    df2 <- df %>% group_by(ID) %>% top_n(5, A) %>% summarise(ATop5 = mean(A))

df2 中的输出显示了我需要的信息。

但是,我希望在原始数据框中运行多个变量并与 df2 出现在相同的输出中。

目前我正在为每个变量生成一个单独的 df,然后通过 ID 列组合成一个 df。

错过这一步会有很大帮助。

最佳答案

带有 summarise_at 的选项

library(dplyr)
df %>%
group_by(ID) %>%
summarise_at(vars(A:D), ~ mean(tail(sort(.), 5)))

关于r - 根据前 5 个值汇总 R 中的多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61364785/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com