gpt4 book ai didi

r - 带有 kruskal wallis 检验 p 值的 Dplyr 表

转载 作者:行者123 更新时间:2023-12-04 12:20:15 27 4
gpt4 key购买 nike

我有一个表格,其中包含变量(预算)在组(大小和严格度)上的平均值以及预算和严格度之间的 Kruskall-Wallis 检验的 p 值(除了每个大小组,所以不比较大小这里)。我单独编写代码,而不是在 Excel 中合并所有内容,因为我不知道如何调整代码以自动获取。每次我对数据进行更改时,我都必须重新制作表格。而且我还有更多变量需要执行此操作,这会占用大量时间。

我有以下代码:

small2017 <- subset(total2017, size=="Small")
medium2017 <- subset(total2017, size=="Medium")
large2017 <- subset(total2017, size=="Large")

library(dplyr)

total2017 %>% group_by(size, strictness) %>%
summarise(mean=mean(budget, na.rm=TRUE), sd=sd(budget, na.rm=TRUE), n=n()) %>%
filter(!is.na(strictness))

Kruskal.test(budget ~ strictness, data=small2017)
Kruskal.test(budget ~ strictness, data=medium2017)
Kruskal.test(budget ~ strictness, data=large2017)

我用 excel 做了这个,然后复制到 latex。 enter image description here

您可以在下面找到我的数据示例:




example <- tibble::tribble(

~size, ~budget, ~strictness,

"Small", "11,718183", 1L,

"Medium", "5,264815", 2L,

"Large", "-0,43848", NA,

"Small", "0,658158", 2L,

"Medium", "-1,2867", 3L,

"Large", "-0,8482", 2L,

"Small", "4,584138", 1L,

"Medium", "7,26868", 1L,

"Large", "-7,1868", NA,

"Small", "8,186884", 1L,

"Medium", "16,1548", NA,

"Large", "1,516844", 2L,

"Small", "-5,1687", 2L,

"Medium", "11,15687", 2L,

"Large", "-4,1867", 3L,

"Small", "7,25687", 3L,

"Medium", "5,1682186", 1L,

"Large", "-6,186515", 2L,

"Small", "7,2687", 3L

)



head(example)

#> # A tibble: 6 x 3

#> size budget strictness

#> <chr> <chr> <int>

#> 1 Small 11,718183 1

#> 2 Medium 5,264815 2

#> 3 Large -0,43848 NA

#> 4 Small 0,658158 2

#> 5 Medium -1,2867 3

#> 6 Large -0,8482 2

reprex package 创建于 2020-04-30 (v0.3.0)

最佳答案

正如@dc37 所指出的,您的问题有点令人困惑。当您有一个因变量(预算)和一个具有两个以上水平的自变量(例如规模)时,K-W 测试是合适的。 @dc37 为您提供了该问题的绝佳解决方案。

如果您想将预算与大小和严格 self 进行比较,您可以更改数据框来完成它,但这将是错误的测试,因为您现在有一个非参数双向方差分析(预算 ~ 大小 * 严格 self )。

如果这就是您的意思,那么适当的测试就是例如 Scheirer Ray Hare 测试,您可以从 rcompanion 运行它,如下所示。不确定你从哪里得到你的示例数据我把预算列变成了 dbl 而不是 chr

# https://stackoverflow.com/questions/61527880
library(tibble)
library(rcompanion)

example <- tibble::tribble(
~size, ~budget, ~strictself,
"Small", 11718183, 1L,
"Medium", 5264815, 2L,
"Large", -043848, NA,
"Small", 0658158, 2L,
"Medium", -12867, 3L,
"Large", -08482, 2L,
"Small", 4584138, 1L,
"Medium", 726868, 1L,
"Large", -71868, NA,
"Small", 8186884, 1L,
"Medium", 161548, NA,
"Large", 1516844, 2L,
"Small", -51687, 2L,
"Medium", 1115687, 2L,
"Large", -41867, 3L,
"Small", 725687, 3L,
"Medium", 51682186, 1L,
"Large", -6186515, 2L,
"Small", 72687, 3L
)

rcompanion::scheirerRayHare(budget ~ size * strictself, data = example)
#>
#> DV: budget
#> Observations: 16
#> D: 1
#> MS total: 22.66667
#> Df Sum Sq H p.value
#> size 2 69.943 3.0857 0.21377
#> strictself 2 118.713 5.2373 0.07290
#> size:strictself 3 52.511 2.3166 0.50934
#> Residuals 8 98.833

reprex package 创建于 2020-04-30 (v0.3.0)

关于r - 带有 kruskal wallis 检验 p 值的 Dplyr 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61527880/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com