我想在party package mob()函数中包含观察权重,但是会收到以下错误消息:
m2&lt; - mob(ab_any~rdt_result | pfpr + peak2offpeak + urb_rur + region + fac6type + fac4owner + staff_doctor + supervision_lastvisit + rdt_totalguidelines + imci_guidelines + prov3qualif + mgt_meetings + userfees_routine + timer2observed + rdt2observed + amany2observed + abany2observed + provider_sex + provider_qualifyears + provider_incharge + provider_workhours + training_anyrdt + training_imci + provider_recentsupervision + provider_supervisiondiscuss + childage + childsex + parentage + nearestfacility + parenteduc + consultlength + starthour + waittime + cough + diarrhea + dangersign + real_temp + sickduration,weights = P4Data $ weight1,data = P4Data,model = glinearModel,family = binomial()) if(any(y <0 | y> 1))停止时出错(“y值必须为0&lt; = y&lt; = 1”): 缺少需要TRUE / FALSE的值
数据集中的样本权重(P4Data $ weights1)是非负值,范围从0.29865到5.084378,然后我乘以创建整数值权重(29865到5084378)。请注意,如果运行相同的函数但没有权重,我不会收到任何错误消息。
感谢任何指导。
答案 0 :(得分:0)
错误消息指出ab_any
的范围不符合family = binomial()
规范。它应该是factor
或虚拟编码的0/1数值变量。目前情况似乎并非如此。
对于权重:旧的party
实现始终将weights
参数视为案例权重。因此,将所有权重乘以10会使样本量增加10,从而降低参数稳定性检验的p值!
通常,我强烈建议在mob()
包中使用partykit
的新实现,该实现支持案例权重或比例权重,并且还有更多改进和附加功能。