Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何绘制具有显著水平的箱线图?_R_Ggplot2_Boxplot_Significance - Fatal编程技术网

R 如何绘制具有显著水平的箱线图?

R 如何绘制具有显著水平的箱线图?,r,ggplot2,boxplot,significance,R,Ggplot2,Boxplot,Significance,不久前,我问了一个关于绘制箱线图的问题 我有3个不同组(或标签)的一些数据。我可以使用以下R代码获得箱线图 library(reshape2) library(ggplot2) morphData <- read.table(".\\TestData3.csv", sep=",", header=TRUE); morphData.reshaped <- melt(morphData, id.var = "Label") ggplot(data = morphData.reshap

不久前,我问了一个关于绘制箱线图的问题

我有3个不同组(或标签)的一些数据。我可以使用以下R代码获得箱线图

library(reshape2)
library(ggplot2)

morphData <- read.table(".\\TestData3.csv", sep=",", header=TRUE);
morphData.reshaped <- melt(morphData, id.var = "Label")

ggplot(data = morphData.reshaped, aes(x=variable, y=value)) + 
  + geom_boxplot(aes(fill=Label))
library(重塑2)
图书馆(GG2)

morphData我不太明白你所说的具有显著级别的箱线图是什么意思,但这里有一个建议,建议你如何生成这些条线:我将解决这个问题,用条线的坐标构造小数据帧。这里有一个例子:

pp <- ggplot(mtcars, aes(factor(cyl), mpg)) + geom_boxplot()
df1 <- data.frame(a = c(1, 1:3,3), b = c(39, 40, 40, 40, 39))
df2 <- data.frame(a = c(1, 1,2, 2), b = c(35, 36, 36, 35))
df3 <- data.frame(a = c(2, 2, 3, 3), b = c(24, 25, 25, 24))

pp + geom_line(data = df1, aes(x = a, y = b)) + annotate("text", x = 2, y = 42, label = "*", size = 8) +
     geom_line(data = df2, aes(x = a, y = b)) + annotate("text", x = 1.5, y = 38, label = "**", size = 8) +
     geom_line(data = df3, aes(x = a, y = b)) + annotate("text", x = 2.5, y = 27, label = "n.s.", size = 8)

pp我知道这是一个老问题,DatamineR的答案已经为这个问题提供了一个解决方案。但我最近创建了一个ggplot扩展,它简化了添加重要性条的整个过程:

您只需添加一个图层
geom\u符号
,而不是繁琐地将
geom\u线
注释
添加到绘图中:

library(ggplot2)
library(ggsignif)

ggplot(iris, aes(x=Species, y=Sepal.Length)) + 
  geom_boxplot() +
  geom_signif(comparisons = list(c("versicolor", "virginica")), 
              map_signif_level=TRUE)


该软件包的完整文档可在以下位置获得。

注释是否为您所需的“重要性”,有时与p值一起出现的重要性代码,如
summary.lm
?在给定的背景下,零假设对每一对都是相等的?ggplot是您的要求吗?谢谢您的回答!然而,如果你的ggplot有fill=factor(cyl),这就不起作用了。例如,你知道为什么会出现这种情况吗?@par你把它放在哪里了?如果你把它放在
geom_盒形图(aes(fill=factor(cyl)))
中,它就可以工作了……你必须在各个geom中添加fill或color,而不是在对ggplot的主调用中;否则,ggplot将把aes()参数作为全局参数,并且在随后对geom的调用中找不到它。谢谢你的回答,虽然,它被证明是超级容易做!