假设我有这些数据(一个非常简单的例子,说明了我正在使用的是什么):
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我试着用总结得到整个人群的平均身高。所以我就这么做:
summarize(a, count = sum(count), avg_height = mean(avg_height))
count avg_height
(dbl) (dbl)
1 96 6.5这显然是不对的,因为我们数了那么多的狗和猫。我如何说服总结在总结时考虑计数?还是我应该使用不同的功能?
(我不认为这是each?的翻版,因为它提出的问题要简单得多。这个问题的答案对我有帮助;对另一个问题的回答超出了我的想象。)
发布于 2016-02-03 18:26:59
试一试
summarise(a, avg_height = weighted.mean(avg_height, count))
# avg_height
#1 5.35641weighted.mean为您提供指定权重的方法,在您的情况下,指定的是频率。
https://stackoverflow.com/questions/35184705
复制相似问题