R中颜色和大小变化的马赛克图

Mosaic plot with variation by color and size in R

这是我的数据集

library(dplyr)
df <- data.frame(var_1 = sample(c('A', 'B', 'C'), 1000, replace =TRUE), 
                 var_2 = sample(c(0,1), 1000, replace = TRUE))
df <- df %>% group_by(var_1) %>% summarize(count = n(),
                                             avg = mean(var_2))

我想创建一个类似于马赛克的图,其中正方形的大小对应于 count 变量,正方形的颜色对应于 avg 变量。这可能吗?

您要找的是 "treemap"。 ggplot2 中有一个用于创建树图的库,名为 treemapify:

library(tidyverse)
library(magrittr)
library(treemapify)

df %>% ggplot(aes(area = count, fill = avg)) + geom_treemap()