如何使用R中的ggplot注释绘制median_test的结果?

问题描述 投票:0回答:1

我有一组简单的数据(住院时间),由“低”组和“正常”组分开。

中位数是用于表示该数据的统计量,我想测试然后绘制(以文本格式)组间中位数差异的测试结果。我可以使用 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()
这将产生:

enter image description here

我想用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 一样?

提前致谢。

r ggplot2 text median annotate
1个回答
0
投票
您可以使用

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"
    
© www.soinside.com 2019 - 2024. All rights reserved.