我有一个
如您所见,虽然
因此,我的目的是通过其
直到我刚刚安装了最新的
现在我遇到了这个错误:
有什么想法吗?
xy
数据集,希望使用R
的ggplot
进行绘图。library(dplyr)
library(ggplot2)
set.seed(1)
df <- data.frame(group = unlist(lapply(LETTERS[1:5],function(l) rep(l,5))),
x = rep(1:5,5),
y = rnorm(25,2,1),
y.se = runif(25,0,0.1)) %>%
dplyr::mutate(y.min = y-3*y.se,
y.low = y-y.se,
y.high = y+y.se,
y.max = y+3*y.se)
如您所见,虽然
df$x
是一个点(integer
),但df$y
有一个相关的误差,我想使用箱线图来包含它。因此,我的目的是通过其
x
坐标绘制df
中的每一行,使用y.min
、y.low
、y
、y.high
和y.max
构造一个boxplot
,并且通过group
进行color
和fill
。这意味着,我想要将df
中的每一行作为一个box
绘制在单独的x-axis
位置,并通过df$group
进行分面,使得df$group
A
的五个重复出现在首位,然后是它们右侧的df$group
B
的重复,以此类推。直到我刚刚安装了最新的
ggplot2
软件包(ggplot2_3.2.0
),这段代码才能够实现我的目的:ggplot(df,aes(x=x,ymin=y.min,lower=y.low,middle=y,upper=y.high,ymax=y.max,col=group,fill=group))+
geom_boxplot(position=position_dodge(width=0),alpha=0.5,stat="identity")+
facet_grid(~group,scales="free_x")+scale_x_continuous(breaks = integerBreaks())
现在我遇到了这个错误:
Error: Can't draw more than one boxplot per group. Did you forget aes(group = ...)?
有什么想法吗?