【发布时间】:2018-10-19 19:44:20
【问题描述】:
我试图这样做:(以下数据框只是为了展示这个想法)
a b c
[1,] 1 1 2
[2,] 1 3 5
[3,] 2 2 4
[4,] 2 1 5
其中“a”是将“b”和“c”分为两类的因素。我想得到 a 的加权平均值(b 作为权重,或者实际上是 b/Sum(b) 作为权重)。我找不到一个函数可以操作多个具有相同因子的变量。
在这个例子中,我想得到两种方法:
a组=1:(1*2+3*5)/(2+5)=17/7
a组=2:(2*4+1*5)/(4+5)=13/9
我是 R 新手,所以这对我来说真的很难处理。希望你们能抽出几秒钟的时间发表评论。非常感谢!
【问题讨论】:
-
从Mean by Group R-FAQ 中选择您最喜欢的答案,并使用
weighted.mean而不是mean。 -
谢谢!刚看到评论,我会试着理解那些代码! (我认为是因为我搜索了sth.else而不是一开始的“mean”,我没有看到你粘贴的页面。
-
术语“用一个因素操作两个变量”对我来说没有意义。我认为您的意思是“group_by/split on levels of a factor”。标记为group-by