创建一些数据
# 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
。我想使用非参数检验,即。邓恩试验。
1条答案
按热度按时间1zmg4dgp1#
该函数无法识别您尝试使用dplyr进行的分组。
我写了一个R包,可以自动完成这一点(通过Dunn测试),但它目前使用的是pgirmess的实现(而不是rstatix)。也没有办法做一个霍尔姆调整,但你可以做一个Bonferroni校正,只需将阈值(p值)除以比较的次数(在这种情况下为3)。