0
我想更好地理解ggplot2,所以當我正在尋找一種方法來完成下面的任務時,我也會很感激爲什麼它當前不工作的解釋。 到目前爲止,我無法找到有關該主題的信息。評估ggplot2中的表達式
我的兩個問題都是關於在ggplot2中使用表達式的。
我有data.frame
set.seed(1)
DF <- data.frame(A = 1:24, B = LETTERS[rep(1:4,6)], C = rep(1:3,8))
head(DF, n = 9)
# A B C
#1 1 A 1
#2 2 B 2
#3 3 C 3
#4 4 D 1
#5 5 A 2
#6 6 B 3
#7 7 C 1
#8 8 D 2
#9 9 A 3
我想不轉換我的數據繪製列A的平均值,由B中的值進行分組。 我希望,這是可以做到像下面這樣:
ggplot(DF) + geom_point(aes(x = B , y = mean(A), group = B))
怎麼會B.
的所有值相同我開始在不改變數據的情況下進行繪圖?,我發現自己頂住了來自不時另一個障礙是試圖把一個表達式facet_grid()內或facet_wrap()
例如,說我想用模塊化的分工做出新的臨時列稍後如何面向:
DF$A %% 4
1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0
我可以把這一列加到我的數據框上。但是,我們強加一個限制,即我無法轉換我的數據。 我本來期望,我可以做這樣的事情:
ggplot(DF)+geom_point(aes(x = B, y = C)) + facet_grid({A %% 4}~.)
或
ggplot(DF)+geom_point(aes(x = B, y = C, group = A)) + facet_grid({A %% 4} ~ .)
甚至
ggplot(DF)+geom_point(aes(x = B, y = C)) + facet_grid(formula({A %% 4} ~.))
,但他們都將返回錯誤
Error in layout_base(data, rows, drop = drop) :
At least one layer must contain all variables used for facetting
任何人都可以說以一種揭示ggplot2工作方式的方式向我展示這些嘗試失敗的原因以及如何在不轉換數據的情況下獲得理想的結果?