繁体   English   中英

计算一个变量的加权平均值,它有两种类型,R

[英]Calculate the weighted mean for a variable, which has two types with R

我有以下数据集,其中变量“V0220”通过“id_municipio”出现在数据中的次数(“n”),但这个变量有两种类型:1 和 2。此外,我有权重(“peso_amostral ") 的每个观察。

id_municipio peso_amostral v0220     n
     1100015          2.04     2     1
     1100015          2.68     1     1
     1100015          3.45     2     1
     1100015          4.51     1     1
     1100015          4.62     2     1
     1100015          4.75     1     1

我想做的是以下几点:

id_municipio  2     1
   1100015    X     Y

因此,我想通过 id_municipio 计算该变量的类型(2 或 1)的每个变量“V0220”的加权平均值。 请注意,“X”和“Y”是“V0220”的加权平均值,分别按类型 2 和 1。 我想用 R 来做。

您可以使用dcast中的data.table尝试此操作。 您可以更改fun.aggregate为您需要的功能。

library(data.table)

dcast(data, 
      id_municipio ~ v0220, 
      fun.aggregate = mean, 
      value.var     = "peso_amostral")

输出:

  id_municipio    1    2
1      1100015 3.98 3.37

暂无
暂无

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

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