R ggplot-使用“时每个面板的不同y轴;统计“比较”平均值;

R ggplot-使用“时每个面板的不同y轴;统计“比较”平均值;,r,ggplot2,bar-chart,facet,facet-grid,R,Ggplot2,Bar Chart,Facet,Facet Grid,用于生成说明问题的玩具数据集的代码 # Load libraries library(ggpubr) library(datasets) library(reshape2) # Import dataset data(ToothGrowth) # Melt dataset 1 ToothGrowth.melted <- melt(ToothGrowth, id.vars=c("supp", "dose")) # Create second dataset with differen

用于生成说明问题的玩具数据集的代码

# Load libraries
library(ggpubr)
library(datasets)
library(reshape2)

# Import dataset
data(ToothGrowth)

# Melt dataset 1 
ToothGrowth.melted <- melt(ToothGrowth, id.vars=c("supp", "dose"))

# Create second dataset with different value range, and change "len" to "lon"
ToothGrowth.melted2 <- ToothGrowth.melted %>% 
  mutate(value = value * 10)
levels(ToothGrowth.melted2$variable) <- "long"

# Concatenate the 2 datasets
new <- rbind(ToothGrowth.melted, ToothGrowth.melted2)

# Create plot 
compare_list <- list(c("0.5", "1"), c("0.5", "2"), c("1", "2"))
ggbarplot(new, x = "dose", y = "value", 
          add = "mean_se", 
          facet.by = c("variable", "supp"),
          scales = "free",
          fill = "supp", 
          color = "black",
          palette = c("grey", "grey")) +
  theme(strip.placement = "outside") +
  labs(x="\nDose", y="Value\n") + 
  stat_compare_means(comparisons=compare_list) +
  stat_compare_means(label.y = 60)
#加载库
图书馆(ggpubr)
图书馆(数据集)
图书馆(E2)
#导入数据集
数据(增长)
#熔化数据集1

ToothGrowth.melled您应该在标准化父坐标中添加标签,尝试
+stat\u compare\u方法(label.y.npc=0.8)
+stat\u compare\u方法(label.y.npc=“middle”)
谢谢@atsyplenkov。这对Kruskal-Wallis p值非常有效。对成对比较p值也可以这样做吗?我想减少垂直灰条和p值之间的空白。我不知道如何使用
ggpubr
。您可以在
ggpubr
的github上提出问题。我只能建议你使用几个图而不是面。通过
ggarrange
排列,您应该在标准化父坐标中添加标签,尝试
+stat\u compare\u means(label.y.npc=0.8)
+stat\u compare\u means(label.y.npc=“middle”)
谢谢@atsyplenkov。这对Kruskal-Wallis p值非常有效。对成对比较p值也可以这样做吗?我想减少垂直灰条和p值之间的空白。我不知道如何使用
ggpubr
。您可以在
ggpubr
的github上提出问题。我只能建议你使用几个图而不是面。并通过
ggarrange