我有一组简单的数据(住院时间),由“低”组和“正常”组分开。
中位数是用于表示该数据的统计量,我想测试然后绘制(以文本格式)组间中位数差异的测试结果。我可以使用 ggplot 注释对大多数基本统计测试(下面的示例)执行此操作,但找不到使用 Median_test 执行此操作的方法(可能是因为它是库(硬币)包的一部分)。
R 中的 t.test 并在 ggplot 中绘制为文本 - 例如:
test1 <- t.test(LengthOfStay ~ Group, data)
text = paste("T: ",test1$statistic ,"\n",
"p-value: ", test1$p.value
)
ggplot() +
annotate("text", x = 0.5, y = 0, size=4, label = text, hjust = 0.5) +
theme_void()
这将产生:
我想用median_test(硬币包)复制上面的图像。然而,这似乎不适用于 ggplot 和 annotate,因为测试结果是 S4 类。
medtest <- median_test(LengthOfStay ~ Group, data)
text = paste("T: ",medtest$statistic ,"\n",
"p-value: ", medtest$p.value
)
将产生“medtest$statistic 中的错误:未为此 S4 类定义 $ 运算符”有谁知道如何以文本格式绘制中位数测试的结果,就像上面的 t.test 一样?
提前致谢。
medtest@statistic@teststatistic
和
pvalue(medtest)
访问它们:
library(coin)
#> Loading required package: survival
ex <- data.frame(
y = c(3, 4, 8, 9, 1, 2, 5, 6, 7),
x = factor(rep(c("no", "yes"), c(4, 5)))
)
mt1 <- median_test(y ~ x, data = ex, distribution = "exact")
paste("Z: ", mt1@statistic@teststatistic ,"\n",
"p-value: ", pvalue(mt1)
)
#> [1] "Z: 0.282842712474619 \n p-value: 1"