如何计算R中的相对风险?

Pio*_*era 1 r

如何计算R中的相对风险?

在输入我有

names(DS)
Tab<-table(DS[,5],DS[,11],DS[,3])

      No Yes
  No   4  16
  Yes  40 168
Run Code Online (Sandbox Code Playgroud)

我是R编程语言的新手......

Ben*_*ker 15

这是一个相当简单的计算; 相对风险是只是(pos1/total1)/(pos2/total2)其中pos1是所述第一组的情况下的数量,pos2在第二组中,将total变量是组总计

但是,您可能对包的epitab功能感兴趣epitools:

## maybe:
##   install.packages("epitools")
library("epitools")
Run Code Online (Sandbox Code Playgroud)

请参阅?epicalc输入格式,但这应该适用于您的示例:

tab <- matrix(c(4,16,40,168),byrow=TRUE,nrow=2)
epitab(tab,method="riskratio")
## $tab
##           Outcome
## Predictor  Disease1        p0 Disease2        p1 riskratio     lower    upper
##   Exposed1        4 0.2000000       16 0.8000000  1.000000        NA       NA
##   Exposed2       40 0.1923077      168 0.8076923  1.009615 0.8030206 1.269361
##           Outcome
## Predictor  p.value
##   Exposed1      NA
##   Exposed2       1
Run Code Online (Sandbox Code Playgroud)

你当然应该仔细检查结果是否有意义; 例如p0,对于第一组,4/20 = 0.2,对于第二组,40/208 = 0.192.风险比为((16/20)/(168/208))= 0.8/0.8076 = 1.009.