如何计算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.