8
我不確定如何使用ggplot
對象的data
元素中的數據功能構成方面。在下面的例子玩具,我想要做的是這樣的:ggplot - 按功能輸出方面
df <- data.frame(x=1:8, y=runif(8), z=8:1)
ggplot(df, aes(x=x, y=y)) + geom_point() + facet_wrap(~ (z %% 2))
但是給人的錯誤:Error in layout_base(data, vars, drop = drop) : At least one layer must contain all variables used for facetting
。
我可以通過將數據幀達到預期的效果:
ggplot(transform(df, z=z%%2), aes(x=x, y=y)) + geom_point() + facet_wrap(~ z)
但往往是可取的,如果我已經被賦予了ggplot
對象已經不使用這種轉變,比如,我想添加一些特別的面向它。
'myplot $數據$ ZZ < - myplot $數據$ Z^%% 2'可能會更加簡單。 –
@Josh,是的,但依賴於已經安裝的數據集。有時候我會創建沒有數據的ggplots,然後應用多個數據集。 –
這與我一直使用的解決方案非常相似 - myplot $ data < - transform(myplot $ data,z = z %% 2)'。我用'%+%''命名空間燒了幾次,因爲其他一些包定義了同一個操作符。花了我*小時*來弄清楚。 –