当我使用此代码时,标准R绘图在一个图中产生30个箱图:
boxplot(Abundance[Quartile==1]~Year[Quartile==1],col="LightBlue",main="Quartile1 (Rare)")
我想在ggplot2中生成类似的东西。到目前为止我正在使用它:
d1 = data.frame(x=data$Year[Quartile==1],y=data$Abundance[Quartile==1])
a <- ggplot(d1,aes(x,y))
a + geom_boxplot()
有30年的数据。每年有145种。在每年,145种物种被分为1-4的四分位数。
但是,我只使用这个获得了一个盒子图。知道如何沿x轴获得30个箱图(每年一个)吗?任何帮助非常感谢。
有30年的数据。每年有145种。在每年,145种物种被分为1-4的四分位数。
答案 0 :(得分:8)
str(d1)
告诉您x
的内容是什么?如果是数字或整数,那么这可能是你的问题。如果Year
是一个因素,那么每个年份都会得到一个箱线图。举个例子:
library(ggplot2)
# Some toy data
df <- data.frame(Year = rep(c(1:30), each=20), Value = rnorm(600))
str(df)
请注意Year
是一个整数变量
ggplot(df, aes(Year, Value)) + geom_boxplot() # One boxplot
ggplot(df, aes(factor(Year), Value)) + geom_boxplot() # 30 boxplots