簡體   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