首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在R中得到均值?

如何在R中得到均值?
EN

Stack Overflow用户
提问于 2016-02-03 18:22:05
回答 1查看 944关注 0票数 0

假设我有这些数据(一个非常简单的例子,说明了我正在使用的是什么):

代码语言:javascript
复制
a <- data_frame(c(45, 50, 1), c('cats', 'dogs', 'giraffes'), c(1.5, 3, 15))
names(a) <- c('count', 'animal', 'avg_height')

  count   animal avg_height
  (dbl)    (chr)      (dbl)
1    45     cats        1.5
2    50     dogs        3.0
3     1 giraffes       15.0

我试着用总结得到整个人群的平均身高。所以我就这么做:

代码语言:javascript
复制
summarize(a, count = sum(count), avg_height = mean(avg_height))

  count avg_height
  (dbl)      (dbl)
1    96        6.5

这显然是不对的,因为我们数了那么多的狗和猫。我如何说服总结在总结时考虑计数?还是我应该使用不同的功能?

(我不认为这是each?的翻版,因为它提出的问题要简单得多。这个问题的答案对我有帮助;对另一个问题的回答超出了我的想象。)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-03 18:26:59

试一试

代码语言:javascript
复制
summarise(a, avg_height = weighted.mean(avg_height, count))
#  avg_height
#1    5.35641

weighted.mean为您提供指定权重的方法,在您的情况下,指定的是频率。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35184705

复制
相关文章

相似问题

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