說我有一些數據,看起來有點像這樣如何更改ggplot(geom_bin2d)中的bin的顏色以反映該區域中的密度與數據集中的平均密度之間的差異?
library(ggplot2)
library(dplyr)
employee <- employee <- c('John','Dave','Paul','Ringo','George','Tom','Jim','Harry','Jamie','Adrian')
quality <- c('good', 'bad')
x = runif(4000,0,100)
y = runif(4000,0,100)
employ.data <- data.frame(employee, quality, x, y)
我正與一個geom_bin2d情節看起來像這樣
ggplot(dat, aes(x, y)) +
geom_bin2d(binwidth = c(20, 20)) +
scale_fill_gradient2(low="darkred", high = "darkgreen")
plot
我怎樣才能改變工作反映與整個數據集中該區域的整體平均值相比,「壞」的x/y點的百分比的箱的顏色?即,如果左下方垃圾箱中「壞」點的平均值爲x數,並且約翰在該區域的平均值爲y值較低,那麼如何讓垃圾箱顏色變暗以顯示其數量較低?
我想這可能是工作創造了場均數據:
df2 <- employ.data
df2$xbin <- cut(df2$x, breaks = seq(0, 100, by = 20))
df2$ybin <- cut(df2$y, breaks = seq(0, 100, by = 20))
df2 <- df2 %>% group_by(xbin, ybin) %>% mutate(ave_pct = mean(quality == "bad"))
df2 <- df2 %>% group_by(employee, xbin, ybin) %>% mutate(person_pct = mean(quality == "bad"))
但我不知道如何繪製這一點。
這是絕對完美的,謝謝!你是一個血腥的明星! –
還有一個問題:是否可以過濾掉一個選項並保留整個「垃圾桶質量」範圍?因爲否則它只關注與該員工相關的垃圾箱質量。 –
你可以在管道中添加一個'dplyr :: filter'語句。我不確定你想要過濾什麼,所以我不能給你確切的代碼。 – tbradley