首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从t-test和柱状图的数据列表中选择特定的两组?

如何从t-test和柱状图的数据列表中选择特定的两组?
EN

Stack Overflow用户
提问于 2021-08-25 17:38:39
回答 2查看 43关注 0票数 1

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

代码语言:javascript
复制
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数据:enter link description here

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-08-25 18:21:51

代码语言:javascript
复制
df <- rio::import("https://docs.google.com/spreadsheets/d/1YZQRihyc5aTWehda8Wr24xwm23a87jv7/edit#gid=1007932109")
library(ggpubr)
library(rstatix)
stat.test <- df %>%
  filter(Ortamlar %in% c("O1", "S_O5")) %>% 
  t_test(Moisture_content ~ Ortamlar) %>%
  add_significance()
stat.test

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      

# Box plots with p-values
bxp1 <- df %>%
  filter(Ortamlar %in% c("O1", "S_O5")) %>%
  ggboxplot( x = "Ortamlar", y = "Moisture_content", fill = "Ortamlar", 
                  palette = c("#00AFBB", "#E7B800"), width = 0.35, xlab = "Substrate")


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

票数 3
EN

Stack Overflow用户

发布于 2021-08-25 18:16:31

我们可能需要使用%in%进行filter

代码语言:javascript
复制
library(dplyr)
stat.test <- df %>% 
  filter(Ortamlar %in% c("O1", "S_O5")) %>%
  rename(substrate = Ortamlar) %>%
  t_test(Moisture_content ~ substrate) %>%
  add_significance()

-output

代码语言:javascript
复制
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      
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68927574

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档