0

我正在尝试使用以下代码计算合并感染的风险比:

*NET_post4['VCandShig']<-NA

NET_post4$VCandShig <- ifelse(NET_post4$VC=="Negative"& !is.na(NET_post4$VC) | NET_post4$Shigella=="Negative" & !is.na(NET_post4$Shigella), "No", "Coinf")

NET_post4$VCandShig <- ifelse(is.na(NET_post4$VC) & is.na(NET_post4$Shigella),NA,NET_post4$VCandShig)

table(NET_post4$VCandShig)

riskratio(NET_post4$VCandShig,NET_post3$SD_Cat)*

我收到以下结果:

在此处输入图像描述

2x2 是正确的,但为什么 CI NA 到 NA 的 RR 估计值为 1.0?我根据 2x2 手动计算 RR 为 (1/9)/(74/440)=0.66

我的代码是否以某种方式导致了这个问题?我该如何解决?

4

1 回答 1

0

我的一位朋友指出,可以通过简单地 rev(c("rows")) 反转 2x2 表的行顺序来解决问题,因此最终代码是

NET_post4['VCandShig']<-NA NET_post4$VCandShig <- ifelse(NET_post4$VC=="Negative"& !is.na(NET_post4$VC) | NET_post4$Shigella=="Negative" & !is.na(NET_post4 $Shigella), "No", "Coinf") NET_post4$VCandShig <- ifelse(is.na(NET_post4$VC) & is.na(NET_post4$Shigella),NA,NET_post4$VCandShig) 表(NET_post4$VCandShig) 风险比(NET_post4$VCandShig,NET_post3$SD_Cat, rev = c("rows") )

于 2020-12-17T20:03:24.837 回答