Use droplevels
after subset
dfMod <- subset(df, c %in% c("x1", "x2"))
dfMod$c <- droplevels(dfMod$c)
boxplot(x ~ c,data=dfMod)
You can also use class
to change factor
to character
and subsetting inside boxplot
call
class(df) <- c("numeric", "character")
boxplot(x ~ c, subset=c %in% c("x1", "x2"), data=df)
