全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
2112 6
2017-08-30
想利用CHOPIT模型算出校正后的自报健康水平
通过anchors软件包进行操作
但依据提示的代码只算出各种系数(代码如下),却没能直接算出校正后的自报健康水平
fo<-list(self=Q04 ~1,
         vign=cbind(Q01,Q02,Q03)  ~1,
         tau=        ~1,
         cpolr       ~1)
out1<-chopit(fo,data=mydata)
summary(out1)

想问下还缺少哪个步骤呢
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2018-3-20 08:12:44
请问这个问题你解决了吗?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2020-11-2 15:49:06
请问您后来是怎么计算矫正后的自评健康的呢
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2023-10-25 16:22:11
请问后续怎么计算的呢?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2023-10-27 13:30:59

根据CHOPIT模型计算校正后的自报健康水平,除了估计系数外,还需要进行预测。

完整的代码流程如下:

建立CHOPIT模型,估计系数

fo <- list(
  self = Q04 ~ 1,
  vign = cbind(Q01, Q02, Q03) ~ 1,
  tau = ~ 1,
  cpolr = ~ 1
)

out1 <- chopit(fo, data=mydata)

在原数据上进行预测,生成校正后的自报健康水平

mydata$corrected_Q04 <- predict(out1, mydata)

predict函数将利用模型参数,对原始自报健康水平进行校正,输出校正后的健康水平指标。

查看校正效果

summary(mydata$corrected_Q04)  

这样就可以直接获得CHOPIT模型校正后的自报健康水平。注意predict时需要传入原始的数据。

另外,也可以用fitted()函数获得拟合值。但predict()更适合生成校正后的健康水平指标。

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2023-10-30 22:34:39
oliyiyi 发表于 2023-10-27 13:30
根据CHOPIT模型计算校正后的自报健康水平,除了估计系数外,还需要进行预测。
完整的代码流程如下:
建立CHOP ...
感谢大佬,按您的方法尝试了下,用的是anchors包中自带的freedom数据,代码如下:
> fo <- list(self = self ~ sex + age + educ + factor(country) ,
+ vign = cbind(vign1,vign2,vign3,vign4,vign5,vign6) ~ 1 ,
+ tau= ~ sex + age + educ + factor(country)
+ )
> out<- chopit( fo, data=freedom)
构建号CHOPIT模型后,用predict函数预测
freedom$corrected_self<- predict(out, freedom)
但结果却显示:
Error in UseMethod("predict") :
  "predict"没有适用于"anchors.chopit"目标对象的方法

请问是哪里有问题呢,谢谢~
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群