假设我有一些看起来有点像这样的数据
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")
<a href="https://i.stack.imgur.com/5p9n6.png" rel="nofollow noreferrer">情节
如何更改 bin 的颜色以反映“坏”的 x/y 点与整个数据集中该区域的总体平均值相比的百分比?即,如果左下角 bin 中“坏”点的平均值是 x 数,而 John 在该区域的平均值是 y 较低的数字,我怎样才能使 bin 颜色更深以表明他的计数较低?
我认为这可以创建平均值:
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"))
但后来我不知道如何绘制它。