0

我想在派对包 mob() 函数中包含观察权重,但收到以下错误消息:

m2 <- mob(ab_any ~ rdt_result | pfpr + peak2offpeak + urb_rur + region + fac6type + fac4owner + staff_doctor + supervisor_lastvisit + rdt_totalguidelines + imci_guidelines + prov3qualif + mgt_meetings + userfees_routine + timer2observed + rdt2observed + amany2observed + abany2observed + abany2observed + abany2observed + 供应商_供应商小时工作年 + 供应商收费 + 供应商+ training_anyrdt + training_imci + provider_recentsupervision + provider_supervisiondiscuss + childage + childsex + parentage + Nearestfacility + parenteduc + Consultlength + starthour + waittime + 咳嗽 + 腹泻 + 危险信号 + real_temp + diseaseduration, weights = P4Data$weight1, data = P4Data, model = glinearModel, family = binomial()) if (any(y < 0 | y > 1)) stop("y values must be 0 <= y <= 1") 中的错误:需要 TRUE/FALSE 的缺失值

数据集中的样本权重(P4Data$weights1)是范围从 0.29865 到 5.084378 的非负值,然后我将其相乘以创建整数值权重(29865 到 5084378)。请注意,如果运行相同的函数但没有权重,我不会收到任何错误消息。

感谢您的任何指导。

4

1 回答 1

0

错误消息指出范围ab_any不符合family = binomial()规范。它应该是一个factor或一个虚拟编码的 0/1 数字变量。目前,情况似乎并非如此。

至于权重:旧party实现始终将weights参数视为案例权重。因此,将所有权重乘以 10 会使样本量增加 10,从而降低参数稳定性测试的 p 值!

一般来说,我强烈建议使用包中的新实现,mob()partykit支持案例权重或比例权重,并具有更多改进和附加功能。

于 2015-11-16T11:46:11.027 回答