首页 > 解决方案 > 如何从 t 检验和条形图的数据列表中选择特定的两组?

问题描述

如何从数据中选择两组进行 t 检验和条形图?我有由几个组/基材(即 O1、O2、O3、S_O4、S_O5 等)组成的数据,我需要使用特定的两组/基材(例如 O1 和 S_O5)绘制条形图,然后运行 ​​t -测试。我需要帮忙。请检查附件中的 Excel 数据链接好吗?

library(ggpubr)
library(rstatix)
library(xlsx)
library(patchwork)
df<-read.xlsx("umar_02.xlsx", header = T, 1)
# Statistical test

######## Figure 1 ########
stat.test <- df %>%
  t_test(Moisture_content ~ substrate) %>%
  add_significance()
stat.test

# Box plots with p-values
bxp1 <- ggboxplot(df, x = "substrate", y = "Moisture_content", fill = "substrate", 
                 palette = c("#00AFBB", "#E7B800"), width = 0.35)



stat.test <- stat.test %>% add_xy_position(x = "substrate")
bxp1 + 
  stat_pvalue_manual(stat.test, label = "p = {p}") +
  scale_y_continuous(expand = expansion(mult = c(0.05, 0.1)))+
  theme(
    aspect.ratio = 3
  )

Excel 数据:在此处输入链接描述

标签: rggplot2

解决方案


我们可能需要filter%in%

library(dplyr)
stat.test <- df %>% 
  filter(Ortamlar %in% c("O1", "S_O5")) %>%
  rename(substrate = Ortamlar) %>%
  t_test(Moisture_content ~ substrate) %>%
  add_significance()

-输出

stat.test
# A tibble: 1 x 9
  .y.              group1 group2    n1    n2 statistic    df     p p.signif
* <chr>            <chr>  <chr>  <int> <int>     <dbl> <dbl> <dbl> <chr>   
1 Moisture_content O1     S_O5       3     3     -2.20  2.50 0.132 ns      

推荐阅读