gpt4 book ai didi

r - 在summary_if() 中使用其他列作为函数的参数

转载 作者:行者123 更新时间:2023-12-03 09:39:03 26 4
gpt4 key购买 nike

这很有效(将其视为使用 list() 而不是 vars() here 的解决方案):

mtcars %>% 
group_by(cyl) %>%
summarize_at(vars(disp, hp), list(~weighted.mean(., wt)))

但是,在非常相似的情况下,使用 summarize_if() , 这是行不通的:
mtcars %>% 
group_by(cyl) %>%
summarize_if(is.numeric, list(~weighted.mean(., wt)))

Error in weighted.mean.default(., wt) :
'x' and 'w' must have the same length

为什么?

最佳答案

我相信这与您命名这个新变量的内容有关。这有效:

mtcars %>% 
group_by(cyl) %>%
summarize_if(is.numeric, list(tmp = ~weighted.mean(., wt)))

参见命名部分 here和已注意到的问题 here更多细节。

关于r - 在summary_if() 中使用其他列作为函数的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61804724/

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