首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >加权均值与summarise_at加权均值

加权均值与summarise_at加权均值
EN

Data Science用户
提问于 2019-02-06 09:24:17
回答 1查看 7.7K关注 0票数 3

我严格地需要使用summarise_at来计算加权平均值,并根据另一列的值来加权。

代码语言:javascript
复制
    df %>% summarise_at(.vars = vars(FACTOR,tv:`smart tv/console`), 
                  .funs = weighted.mean, w=INVESTMENT, na.rm=TRUE)

它总是显示错误:'INVESTMENT' is not found.

然后我试着:

代码语言:javascript
复制
df %>%summarise_at(.vars = vars(FACTOR,tv:`smart tv/console`), 
               .funs = weighted.mean, w=vars(INVESTMENT), na.rm=TRUE)

但在本例中:Evaluation error: 'x' and 'w' must have the same length.

为什么会这样呢?我做错什么了吗?你有解决这个问题的提示吗?谢谢

EN

回答 1

Data Science用户

发布于 2019-03-18 06:27:00

您可以直接在weighted.mean()函数中,在调用funs()时指定权重,如下所示:

代码语言:javascript
复制
data.frame(x=rnorm(100), y=rnorm(100), weight=runif(100)) %>%
      summarise_at(vars(x,y), funs(weighted.mean(., w=weight)))
票数 2
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/45148

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档