r - Boxplots: avoid blank space due to non-existing interactions -
i'm plotting boxplot of y interactions between 2 variables x1 , x2. problem levels there no data, boxplot still shows blank space boxplot.
how can avoid blank space? in reality have many more 2 factor levels. also, avoid ggplot2-based solutions.
example:
> set.seed(0) > t <- data.frame(y =rnorm(60), x1 = rep(c("a","a","b"), each=20), x2 = rep(c("c","d","d"), each=20)) > boxplot(y~x1+x2, t) > points(aggregate(y~x1+x2, t, mean)$y, col="red") the points function plot means not know missing interaction b.c, points don't correspond groups:

i work out output of boxplot(y~x1+x2, t, plot=f), don't know how plot modified object.
> b <- boxplot(y~x1+x2, t, plot=f) > <- complete.cases(t(b$stats)) > b$stats <- b$stats[,i] > b$n <- b$n[i] > b$conf <- b$conf[,i] > b$names <- b$names[i]
you can create 1 variable containing interaction interaction. can drop unused levels droplevels:
boxplot(y ~ droplevels(interaction(x1, x2)), t) points(aggregate(y ~ droplevels(interaction(x1, x2)), t, mean)$y, col="red") 
Comments
Post a Comment