如何在R中使用group_by时向dunn_test添加紧凑字母dispaly?

plupiseo  于 2023-05-11  发布在  其他
关注(0)|答案(1)|浏览(129)

创建一些数据

# Generate species 
species <- rep (c("Oak", "Elm", "Ash"), each = 10)

# Generate treatments
dose_1 <- rep (c("Ctrl"), 30)
dose_2 <- rep (c ("L"), 30)

# Generate results
result_1 <- c((runif(10, 9, 12)), runif(10, 14, 16), runif(10, 6, 8), (runif(10, 2, 5)), runif(10, 1, 4), runif(10, 2, 4))

# Combine into a sinlge dataframe
data <- data.frame (species = rep(species, 2), treatment = c(dose_1, dose_2), result = result_1)

使用rstatix包执行dunn_test

library(tidyverse)
library(rstatix)

data %>% 
  group_by(species) %>% 
  dunn_test(result ~ treatment, p.adjust.method = "holm")

现在我怎么能有群信像下面这样

species treatment emmean    SE    df lower.CL upper.CL cld  
  <chr>   <fct>      <dbl> <dbl> <dbl>    <dbl>    <dbl> <chr>
1 Oak     Ctrl       10.6  0.249    18    10.1     11.1  A    
2 Oak     L           3.57 0.249    18     3.04     4.09 B    
3 Elm     Ctrl       15.2  0.252    18    14.7     15.8  A    
4 Elm     L           2.93 0.252    18     2.40     3.46 B    
5 Ash     Ctrl        7.15 0.173    18     6.79     7.51 A    
6 Ash     L           2.96 0.173    18     2.59     3.32 B

下面是一个question,其中应用了简单的aov。我想使用非参数检验,即。邓恩试验。

1zmg4dgp

1zmg4dgp1#

该函数无法识别您尝试使用dplyr进行的分组。
我写了一个R包,可以自动完成这一点(通过Dunn测试),但它目前使用的是pgirmess的实现(而不是rstatix)。也没有办法做一个霍尔姆调整,但你可以做一个Bonferroni校正,只需将阈值(p值)除以比较的次数(在这种情况下为3)。

# installation
remotes::install_github("ethanbass/ggtukey")

library(ggplot2)
library(ggtukey)

ggplot(data, aes(x=treatment, y=result)) + 
geom_boxplot() + 
facet_wrap(~species) + 
ggtukey::geom_tukey(test = "kruskalmc", threshold = .05/3)

相关问题