带权重变量的ggplot2 geom_mosaic

时间:2017-09-09 18:09:12

标签: r ggplot2

我正在尝试用ggplot2制作马赛克图。我正在使用HSAUR3包中的bladdercancer数据。我希望显示肿瘤与数量之间的关系,但我不确定如何加重它。我知道tumorsizes<=3cm示例中的数字与tumorsize>3cm的数字不同。如何将其纳入我的马赛克图?

这是我在没有加权的情况下做的。

ggplot(data = bladdercancer, family=poisson()) +
   geom_mosaic(aes(weight= 1 , x = product(tumorsize, number), 
   fill=factor(tumorsize)), na.rm=TRUE) +
   labs(x="Number of tumors", title='Number of tumors vs Tumorsize') + 
   guides(fill=guide_legend(title = "Tumor Size"))

1 个答案:

答案 0 :(得分:0)

这可能是迟到但我提出我的建议,因为我正在尝试做类似的事情。以下是两个建议:

Bubble

第一个选项:

library(tidyverse)

plot1

其中每列中的类别代表每种肿瘤大小的不同计数,例如,bladdercancer %>% group_by(tumorsize, number) %>% # get frequencies/counts for each tumor size and for each number summarise(n.cases = n()) %>% ggplot() + geom_mosaic(aes(weight = n.cases, x = product(number), fill = factor(n.cases)), offset = 0) + guides(fill=guide_legend(title = "Tumor Size")) + labs(x="Number of tumors", title='Number of tumors vs Tumorsize') + # remove background colour theme_bw() + theme(panel.grid.major = element_blank(), # remove major and minor grids panel.grid.minor = element_blank(), # push title to the middle plot.title = element_text(size = 10, hjust = .5)) 的数字1出现15次,<=3cm出现5次。然而,我无法在频率相同的地方进行分区,在本例中为3号和4号。因此我的选项2

第二个选项:

>3cm

enter image description here