2

ブール値に基づいて条件付きでaesマッピングを設定しようとしています。これが私がやろうとしていることです:

mydata <- data.frame(x=1:10, 
                     y=runif(10), 
                     categoryShort=LETTERS[1:2], 
                     categoryLong=LETTERS[1:5])
mybool <- TRUE
myaes <- aes(x=x, y=y, 
             colour=ifelse(mybool, factor(categoryShort), factor(categoryLong)))
ggplot(mydata, myaes) + geom_point()

色を無視し、凡例全体を台無しにします。

aes_stringを使用してみましたが、同じ問題がありました。

aes_string(x="x", y="y", 
           colour=factor(ifelse(mybool, "categoryShort", "categoryLong")))
4

1 に答える 1

4

aes_stringはfactor関数を処理できることがわかりました。だからここに解決策があります:

colourMapping <- ifelse(mybool, "factor(categoryShort)", "factor(categoryLong)")
myaes <- aes_string(x="x", y="y", colour=colourMapping)
于 2013-03-24T05:21:43.427 に答える