我需要报告中位数差异(或中位数差异)及其 95% 置信区间
I need to report difference in median (or Median difference) and its 95% confidence interval
我有 2 个不相等的组(pp 和对照组),我报告了每组 waiting.time
变量的中位数和 95% 置信区间,但现在我想报告“中位数差异”及其 95% 置信区间间隔。我在 sas
(Link here) 中发现了类似的东西,但我需要在 R
.
中进行
这是一个data sample
library(tableone)
tab<-print(a<-CreateTableOne(vars = "waiting.time", strata="group",
data=data, addOverall = T, ), nonnormal = "waiting.time");tab
这是我要找的:
任何建议将不胜感激
到bootstrap中位数的差异,然后计算分位数可以按如下方式完成。
1.
首先读入数据。
data <- read.csv("~/Transferências/Whosebug.data.csv")
str(data)
#'data.frame': 420 obs. of 3 variables:
# $ X : int 1 2 3 4 5 6 7 8 9 10 ...
# $ group : chr "Control" "Control" "PP" "Control" ...
# $ waiting.time: num NA NA NA 23.9 NA ...
数据有 NA
,将使用参数 na.rm = TRUE
。
2.
现在bootstrap统计,函数boot_diff_median
。
library(boot)
boot_diff_median <- function(data, i){
diff(tapply(data$waiting.time[i], data$group[i], FUN = median, na.rm = TRUE))
}
set.seed(2021)
R <- 1e4
b <- boot(data, statistic = boot_diff_median, R = R)
3.
计算分位数。我还包含了 bootstrapped 值,mean(b$t)
。
mean(b$t)
#[1] -0.4330915
t(quantile(b$t, probs = c(0.025, 0.5, 0.975), na.rm = TRUE))
# 2.5% 50% 97.5%
#[1,] -11.35525 -0.5 8.620875
我有 2 个不相等的组(pp 和对照组),我报告了每组 waiting.time
变量的中位数和 95% 置信区间,但现在我想报告“中位数差异”及其 95% 置信区间间隔。我在 sas
(Link here) 中发现了类似的东西,但我需要在 R
.
这是一个data sample
library(tableone)
tab<-print(a<-CreateTableOne(vars = "waiting.time", strata="group",
data=data, addOverall = T, ), nonnormal = "waiting.time");tab
这是我要找的:
任何建议将不胜感激
到bootstrap中位数的差异,然后计算分位数可以按如下方式完成。
1.
首先读入数据。
data <- read.csv("~/Transferências/Whosebug.data.csv")
str(data)
#'data.frame': 420 obs. of 3 variables:
# $ X : int 1 2 3 4 5 6 7 8 9 10 ...
# $ group : chr "Control" "Control" "PP" "Control" ...
# $ waiting.time: num NA NA NA 23.9 NA ...
数据有 NA
,将使用参数 na.rm = TRUE
。
2.
现在bootstrap统计,函数boot_diff_median
。
library(boot)
boot_diff_median <- function(data, i){
diff(tapply(data$waiting.time[i], data$group[i], FUN = median, na.rm = TRUE))
}
set.seed(2021)
R <- 1e4
b <- boot(data, statistic = boot_diff_median, R = R)
3.
计算分位数。我还包含了 bootstrapped 值,mean(b$t)
。
mean(b$t)
#[1] -0.4330915
t(quantile(b$t, probs = c(0.025, 0.5, 0.975), na.rm = TRUE))
# 2.5% 50% 97.5%
#[1,] -11.35525 -0.5 8.620875