ggplot
nesnesinin data
öğesindeki bir veri işleviyle nasıl karşı karşıya kalacağından emin değilim. Aşağıdaki oyuncak örnekte, ne yapmak istiyorum böyle bir şeydir:ggplot - işlev çıkışına göre yönlendirme
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))
Ama bu hata veriyor: Error in layout_base(data, vars, drop = drop) : At least one layer must contain all variables used for facetting
.
Veri çerçevesi dönüştürerek istenilen sonuç elde edilebilir:
ggplot(transform(df, z=z%%2), aes(x=x, y=y)) + geom_point() + facet_wrap(~ z)
ancak çoğu zaman zaten bir ggplot
nesne verilmiş etmişse için, böyle bir dönüşüm kullanmak için arzu edilir ve I want Bir miktar geçici faceting ekle.
'MyPlot $ veri $ zz <- - Varolan
R
ggplot toptan (ana) veri kümesini değiştirmek unutmayın MyPlot $ veri $ z %% 2'FC daha basit olabilir. –@Josh, true, ancak zaten yüklü olan veri kümesine güveniyor. Bazen veri içermeyen ggplots yapıyorum ve daha sonra birden çok veri seti uyguluyorum. –
Bu benim de kullandığım çözüm gibi - 'myplot $ data <- dönüşümü (myplot $ data, z = z %% 2)' gibi. Başka bir paket aynı operatörü tanımladığından, ad alanı iki kez% +% 'ya yazdım. Bunu anlamak için * saat * aldım. –