来自 sciplot 的 bargraph 允许我们绘制带有误差线的条形图。它还允许按自变量(因子)分组。我想按因变量分组,我该如何实现
bargraph.CI(x.factor, response, group=NULL, split=FALSE,
col=NULL, angle=NULL, density=NULL,
lc=TRUE, uc=TRUE, legend=FALSE, ncol=1,
leg.lab=NULL, x.leg=NULL, y.leg=NULL, cex.leg=1,
bty="n", bg="white", space=if(split) c(-1,1),
err.width=if(length(levels(as.factor(x.factor)))>10) 0 else .1,
err.col="black", err.lty=1,
fun = function(x) mean(x, na.rm=TRUE),
ci.fun= function(x) c(fun(x)-se(x), fun(x)+se(x)),
ylim=NULL, xpd=FALSE, data=NULL, subset=NULL, ...)
bargraph.CI 的规格如上所示。响应变量通常是数值向量。这一次,我真的想针对相同的自变量绘制三个响应变量(A、B、C)。让我用数据框“mpg”来说明问题。我可以用下面的代码成功地得到一个情节,这里的 DV 是 hwy
data(mpg)
attach(mpg)
bargraph.CI(
class, #categorical factor for the x-axis
hwy, #numerical DV for the y-axis
group=NULL, #grouping factor
legend=T,
ylab="Highway MPG",
xlab="Class")
我也可以成功地得到一个情节,唯一的变化是 DV(从 hwy 改为 cty)
data(mpg)
attach(mpg)
bargraph.CI(
class, #categorical factor for the x-axis
cty, #numerical DV for the y-axis
group=NULL, #grouping factor
legend=T,
ylab="Highway MPG",
xlab="Class")
但是,如果我想同时使用两个 DV,我的意思是,对于每个组,我想显示两个条,一个用于 cty,一个用于 hwy。
data(mpg)
attach(mpg)
bargraph.CI(
class, #categorical factor for the x-axis
c(cty,hwy), #numerical DV for the y-axis
group=NULL, #grouping factor
legend=T,
ylab="Highway MPG",
xlab="Class")
由于尺寸不匹配,它不起作用。我怎样才能做到这一点?好吧,实际上可以通过使用Boxplot schmoxplot 中的方法来实现类似的条形图效果:如何绘制由 R 中的一个因素决定的均值和标准误差?用ggplot2。因此,如果您对如何使用 ggplot2 进行操作有任何想法,那对我来说也很好。