我正在嘗試使用pairwiseCI計算某些結果差異的置信區間。
資料框如下所示:
| 類別 | Male_Success | 女性_成功 | 男_不成功 | 女_不成功 |
|---|---|---|---|---|
| 一個 | 100 | 150 | 90 | 60 |
| 乙 | 70 | 40 | 30 | 80 |
| C | 20 | 30 | 50 | 50 |
要計算類別 AI 成功比例差異的置信區間,將應用以下代碼:
library(pairwiseCI)
success <- c(100, 150)
failure <- c(90, 60)
page <- c(2,1)
dataframe <- data.frame(cbind(success,failure,page))
pairwiseCI(cbind(success,failure)~page, data=dataframe, method="Prop.diff", CImethod="CC")
給出以下輸出:
95 %-confidence intervals
Method: Continuity corrected interval for the difference of proportions
estimate lower upper
2-1 -0.188 -0.2867 -0.0893
我想為所有 3 個類別生成這個而不單獨輸入它們(我之前使用過“應用”函式對資料框進行 chi-sq 測驗,但無法弄清楚如何在此設定中使用它)。理想情況下,我希望在原始資料框旁邊的列中列印估計值、下限和上限結果,因此它看起來像這樣:
| 類別 | Male_Success | 女性_成功 | 男_不成功 | 女_不成功 | 估計 | 降低 | 上 |
|---|
非常感謝您提前提供的幫助!
uj5u.com熱心網友回復:
您可以創建一個輔助函式并將該函式應用于每一行。在我的示例中,我使用該stats::prop.test()函式而不是使用專用包 ( pairwiseCI)
- 輔助函式,獲取成功/失敗的四個值并回傳估計串列和置信區間
f <- function(s1,s2,f1,f2) {
k <- prop.test(matrix(c(s1,s2,f1,f2),nrow=2,ncol=2))
setNames(as.list(c(-1*diff(k$estimate),k$conf.int)),c("estimate", "lower","upper"))
}
- 將函式應用于每一行
library(data.table)
setDT(df)[, (c("estimate", "lower", "upper")):= f(Male_Success, Female_Success, Male_UnSuccessful, Female_UnSuccessful), Category]
注意:上面我使用data.table,但您也可以使用dplyrand tidyr,如下所示:
library(dplyr)
library(tidyr)
df %>%
group_by(Category) %>%
mutate(r = list(f(Male_Success,Female_Success, Male_UnSuccessful, Female_UnSuccessful))) %>%
ungroup() %>%
unnest_wider(r)
輸出:
Category Male_Success Female_Success Male_UnSuccessful Female_UnSuccessful estimate lower
<char> <int> <int> <int> <int> <num> <num>
1: A 100 150 90 60 -0.18796992 -0.2866507
2: B 70 40 30 80 0.36666667 0.2342893
3: C 20 30 50 50 -0.08928571 -0.2525247
upper
<num>
1: -0.08928912
2: 0.49904403
3: 0.07395327
輸入:
df = structure(list(Category = c("A", "B", "C"), Male_Success = c(100L,
70L, 20L), Female_Success = c(150L, 40L, 30L), Male_UnSuccessful = c(90L,
30L, 50L), Female_UnSuccessful = c(60L, 80L, 50L)), row.names = c(NA,
-3L), class = "data.frame")
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/522768.html
標籤:r统计数据置信区间
