llb_321 发表于 2022-7-14 21:28
那个指令,只是让您自己检查一下数据,看看有什么问题。
如果有的变量,类型是factor,用as.integer(),或 ...
$ group: Factor w/ 2 levels "单纯糖尿病肾病DKD",..: 1 1 2 1 2 2 1 1 1 1 ...
$ sex : Factor w/ 2 levels "男性","女性": 1 1 2 1 1 1 1 2 1 1 ...
$ age : num [1:215] 60 57 60 59 62 66 54 26 50 46 ...
$ time : num [1:215] 120 120 0.5 84 12 0.3 240 48 84 36 ...
$ sbp : num [1:215] 117 122 210 138 133 164 139 170 136 152 ...
$ dbp : num [1:215] 67 74 110 87 77 92 80 116 82 89 ...
$ DR : Factor w/ 2 levels "有糖尿病视网膜病变",..: 1 2 2 1 1 2 1 1 1 1 ...
$ UA : num [1:215] 379 549 542 420 445 358 409 309 561 435 ...
$ KC : num [1:215] 9.15 7.68 9.22 8.09 4 ...
$ TC : num [1:215] 7.8 3.7 3.6 3.2 6.2 4.1 5.2 12.7 6 4.3 ...
$ TG : num [1:215] 10.81 1.43 1.77 1.41 1.97 ...
$ HDL : num [1:215] 0.88 0.86 0.64 1.01 1.28 1.28 1.34 2.49 1.03 1.08 ...
$ LDL : num [1:215] 3.67 2.4 2.34 2 4.29 2.41 3.33 8.02 4.05 2.59 ...
$ UIgG : num [1:215] 117.4 24.4 233.4 101 117 ...
- attr(*, "na.action")= 'omit' Named int [1:75] 1 2 9 13 15 18 19 24 27 28 ...
..- attr(*, "names")= chr [1:75] "1" "2" "9" "13" ...
model<-glm(formula,data=data,family = "binomial")
#计算logit P
pred.logit2<-predict(model)
#预测概率P
P2<-predict(model,type = "response")
```
val.prob(P2, data$group, m=m, cex=0.8) # m, subgroups obs.
Error in lrm.fit(logit
, y, initial = c(0, 1), maxit = 1L) :
must have >=3 non-missing observations
我的也是这样,请问怎么弄,您说的as.integer()是放在哪里呢