加权平均R

加权平均R,r,probability,weighted,weighted-average,R,Probability,Weighted,Weighted Average,我想知道如何获得数据的加权平均值。我已经在网上看过了,但是当我尝试加权平均函数时,我总是得到相同的结果,所以我想知道我做错了什么 以下是数据集的一些信息: dput(head(new)) structure(list(comp.1 = c(0.5, 0.25, 0, 0.25, 0.31, 0.3), comp.2 = c(0.3, 0.15, 0, 0.15, 0, 0), comp.3 = c(0.2, 0.6, 1, 0.6, 0.69, 0.7), genderMale = c(0,

我想知道如何获得数据的加权平均值。我已经在网上看过了,但是当我尝试加权平均函数时,我总是得到相同的结果,所以我想知道我做错了什么

以下是数据集的一些信息:

dput(head(new))
structure(list(comp.1 = c(0.5, 0.25, 0, 0.25, 0.31, 0.3), comp.2 = c(0.3, 
0.15, 0, 0.15, 0, 0), comp.3 = c(0.2, 0.6, 1, 0.6, 0.69, 0.7), 
genderMale = c(0, 1, 1, 1, 0, 0), SeniorCitizen = c(0, 0, 
0, 0, 0, 0), PartnerYes = c(1, 0, 0, 0, 0, 0), DependentsYes = c(0, 
0, 0, 0, 0, 0), tenure = c(-1.28015700354285, 0.064298112878097, 
-1.23941593940889, 0.512449818351747, -1.23941593940889, 
-0.994969554605076), MultipleLinesYes = c(0, 0, 0, 0, 0, 
1), `InternetServiceFiber optic` = c(0, 0, 0, 0, 1, 1), OnlineSecurityYes = c(0, 
1, 1, 1, 0, 0), OnlineBackupYes = c(1, 0, 1, 0, 0, 0), DeviceProtectionYes = c(0, 
1, 0, 1, 0, 1), TechSupportYes = c(0, 0, 0, 1, 0, 0), StreamingTVYes = c(0, 
0, 0, 0, 0, 1), StreamingMoviesYes = c(0, 0, 0, 0, 0, 1), 
`ContractOne year` = c(0, 1, 0, 1, 0, 0), `ContractTwo year` = c(0, 
0, 0, 0, 0, 0), PaperlessBillingYes = c(1, 0, 1, 0, 1, 1), 
`PaymentMethodCredit card (automatic)` = c(0, 0, 0, 0, 0, 
0), `PaymentMethodElectronic check` = c(1, 0, 0, 0, 1, 1), 
`PaymentMethodMailed check` = c(0, 1, 1, 0, 0, 0), MonthlyCharges = c(-1.16161133177258, 
-0.260859369930086, -0.363897417225722, -0.747797238601399, 
0.196164226945719, 1.15840663636787), TotalCharges = c(1.47494433546539, 
3.27634689625303, 2.03402652377511, 3.26499480914874, 2.18084241464668, 
2.91407858538911)), row.names = c("1", "2", "3", "4", "5", 
"6"), class = "data.frame")
如你所见,我有3个组件(组件1,组件2,组件3)。所有这些成分都有其后验概率。我想知道怎样才能得到所有这些的加权平均数和最终的加权平均数。我试过:

weighted.mean(new$comp.1, new$SeniorCitizen)
weighted.mean(new$comp.2, new$SeniorCitizen)
weighted.mean(new$comp.3, new$SeniorCitizen)

它给了我0.24,0.14和0.61的输出。但不管我放了哪个变量,我都得到了相同的输出。我做错了什么?

在您的示例数据中,
new$seniorcident
始终为0。这被解释为所有具有相同权重的值,从而产生未加权样本平均值。如果加权平均值与未加权平均值不同,则赋予
w
(第二个)加权平均值参数的值需要有一些变化。新$Seniorcizen为0是一个巧合。在整个数据集中,情况并非如此。