huohehuangling 2023-03-01 23:28 采纳率: 66.7%
浏览 495
已结题

【R语言】加权线性回归模型,PSU问题

请教各位R语言好手,请问在做加权线性回归模型的时候出现以下错误要如何解决呢?

d_rec$rec.n <- as.numeric(with(d_rec, ifelse(rec == "aaa", 1, 0)))
nhc <- svydesign(data=d_rec, ids=~sdmvpsu, strata = ~sdmvstra, 
                 weights=~nhs_wt, nest = TRUE)
fit1 <- svyglm(rec.n~sex+age+eth+edu+inc+hbp+dm+htc,
               design = nhc,family = quasibinomial(),data = d_rec)

Error in onestrat(x[index, , drop = FALSE], clusters[index], nPSU[index][1],  : 
  Stratum (65) has only one PSU at stage 1

昨晚同样代码就可以运行,今天跑就不行了[捂脸]

  • 写回答

1条回答 默认 最新

  • Taylor 淡定哥 2023-03-02 03:41
    关注

    其中一个层(第 65 层)中只有一个 PSU(主要抽样单位),这导致调查设计出现问题。
    你参考一下这个:

    # Filter out Stratum 65
    d_rec_filtered <- d_rec[d_rec$sdmvstra != 65, ]
    
    # Create survey design object with filtered data
    nhc <- svydesign(data=d_rec_filtered, ids=~sdmvpsu, strata = ~sdmvstra, 
                     weights=~nhs_wt, nest = TRUE)
    
    # Fit the model with the filtered survey design
    fit1 <- svyglm(rec.n~sex+age+eth+edu+inc+hbp+dm+htc,
                   design = nhc,family = quasibinomial())
    
    
    

    从 svyglm 函数调用中删除了数据参数,因为数据已经在调查设计对象中指定。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 3月10日
  • 已采纳回答 3月2日
  • 创建了问题 3月1日

悬赏问题

  • ¥15 C++ 句柄后台鼠标拖动如何实现
  • ¥15 有人会SIRIUS 5.8.0这个软件吗
  • ¥30 comsol仿真等离激元
  • ¥15 静电纺丝煅烧后如何得到柔性纤维
  • ¥15 (标签-react native|关键词-镜像源)
  • ¥100 照片生成3D人脸视频
  • ¥15 伪装视频时长问题修改MP4的时长问题,
  • ¥15 JETSON NANO
  • ¥15 VS开发qt时如何在paintgl函数中用pushbutton控制切换纹理
  • ¥20 关于 openpyxl 处理excel文件地问题