我正在尝试计算暴露在焦虑率上的风险因素水平的优势比,这些数据是由以下因素产生的:
data<-structure(list(exposure = structure(c(3L, 1L, 2L), .Label = c("mild",
"severe", "unaffected"), class = "factor"), count_not_anxious = c(108,
337, 203), count_anxious = c(8, 48, 76)), .Names = c("exposure",
"count_not_anxious", "count_anxious"), row.names = c(NA, -3L), class = "data.frame") 看起来是这样的:
exposure count_not_anxious count_anxious
1 unaffected 108 8
2 mild 337 48
3 severe 203 76我整理了一些数据,专门用于'epitools‘包中的oddsratio()函数,但是oddsratio(data)生成了以下错误信息:
Error in nrow(x) : object 'x' not found为什么会这样呢?我是不是误解了这个函数的数据应该如何排列?
提前感谢您的建议!
发布于 2017-08-01 23:39:29
看起来您可以通过将数据从三列数据帧转换为两行矩阵来完成此操作。
> dd <- as.matrix(data[,-1]) ## drop first column
> rownames(dd) <- data[,1]
> oddsratio(dd)结果:
$data
count_not_anxious count_anxious Total
unaffected 108 8 116
mild 337 48 385
severe 203 76 279
Total 648 132 780
$measure
NA
odds ratio with 95% C.I. estimate lower upper
unaffected 1.000000 NA NA
mild 1.891296 0.911011 4.46757
severe 4.956366 2.432386 11.56705
$p.value
NA
two-sided midp.exact fisher.exact chi.square
unaffected NA NA NA
mild 9.001770e-02 1.289249e-01 9.505682e-02
severe 1.579224e-06 1.755645e-06 6.787096e-06
$correction
[1] FALSE
attr(,"method")
[1] "median-unbiased estimate & mid-p exact CI"https://stackoverflow.com/questions/45441963
复制相似问题