y 変数の因数があり、それを使用しようとするとgeom_hline
、facet_grid
エラーが発生します。
p <- qplot(mpg, factor(sample(c("a", "b", "c", "d"), nrow(mtcars), T)), data=mtcars, facets = vs ~ am)
hline.data <- data.frame(z = factor(c("a", "b", "c", "d")), vs = c(0,0,1,1), am = c(0,1,0,1))
p + geom_hline(aes(yintercept = z), hline.data)
## > p + geom_hline(aes(yintercept = z), hline.data)
## Error in x - from[1] : non-numeric argument to binary operator
なぜエラーが発生するのですか?どうすれば修正できますか?
PS次のように数値に変えることで修正できます。
hline.data <- data.frame(z = factor(c("a", "b", "c", "d")), vs = c(0,0,1,1), am = c(0,1,0,1))
qplot(mpg, as.numeric(factor(sample(c("a", "b", "c", "d"), nrow(mtcars), T))), data=mtcars, facets = vs ~ am) +
geom_hline(aes(yintercept = as.numeric(z)), hline.data)
しかし、目的の因子ラベルを失います。