繁体   English   中英

R ddply和加权平均值

[英]R ddply and weighted mean

我试图在名为DFA_CMO的表上计算具有加权平均值(每个视图数的AverageViewingTime)的聚合。 DFA_CMO有5个维度,其中包含Site。

这是代码:

ddply(DFA_CMO,.(Site),summarize, wm = weighted.mean(DFA_CMO$AverageViewingTime, DFA_CMO$Views, ,na.rm=TRUE))

但结果是令人失望的,因为它显示了每个字段的相同值:

              Site       wm
1         Advideum 21.17633
2          bbc.com 21.17633
3       Boursorama 21.17633
4       Canal Plus 21.17633
5     CNN  Network 21.17633
6       EuronewsFR 21.17633
7  invitemedo.com 21.17633
8         Lfddfdse 21.17633
9         Le Monde 21.17633
10     Les Echos 1 21.17633
11     lopinion.fr 21.17633
12          TF1.fr 21.17633
13        ViadeoFR 21.17633
14 WSJ UK - IBM PE 21.17633

似乎所有东西的平均值都显示在这里,而每个站点应该是不同的。 知道如何获得正确的价值观吗?

不要在调用ddply传递DFA_CMO$<var_name> 只需传递变量名称。

ddply(DFA_CMO,.(Site),summarize,
      wm = weighted.mean(AverageViewingTime, views, ,na.rm=TRUE))

原因是通过给出数据框名称,您实际上将固定向量传递给加权平均函数,即数据框中所有行的值。 如果只传递列名, ddply将在与每个组对应的行子集的上下文中对它们进行评估。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM