【问题标题】:I need to report difference in median (or Median difference) and its 95% confidence interval我需要报告中位数(或中位数差异)的差异及其 95% 置信区间
【发布时间】:2021-11-15 22:45:52
【问题描述】:

我有 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

这是我正在寻找的:

任何建议将不胜感激

【问题讨论】:

  • this 有帮助吗?
  • @Limey 感谢您的回复,但这不是我想要的。我添加了一个类似工作的链接,但使用 sas 代码
  • 您是否花一些时间在谷歌上搜索“置信区间中位数 R”?如果是这样,您可能已经找到了这个:rcompanion.org/handbook/E_04.html 或那个:stats.stackexchange.com/questions/21103/… 通常,引导似乎是一个潜在的解决方案。
  • @deschen 谢谢您的回复。我看到了他们,但他们还没有回答我的问题,因为我说我有 2 个“不平等”的群体。此外,它们是不同的组,即不是之前和之后(未配对),尽管是随机受试者。我重新调整了数据,所以我有 2 列用于waiting.time,现在 1 列用于 pp,1 列用于控制。请告诉我

标签: r difference median confidence-interval


【解决方案1】:

要引导中位数的差异,然后计算分位数,可以按如下方式完成。

1.

先读入数据。

data <- read.csv("~/Transferências/stackoverflow.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.

现在引导统计,函数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.

计算分位数。我还包括了引导值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

【讨论】:

  • 我相信这是有道理的,而不是我之前的试验。多谢。不胜感激。已投票并标记为解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多