我的问题如下:我有下面这张表
0 1-5 6-10 11-15 16-20 21-26 27-29
a 0.019 0.300 0.296 0.211 0.117 0.042 0.014
b 0.058 0.448 0.308 0.120 0.042 0.019 0.005
c 0.026 0.277 0.316 0.187 0.105 0.068 0.020
d 0.054 0.297 0.378 0.108 0.108 0.041 0.014
e 0.004 0.252 0.358 0.216 0.102 0.053 0.015
f 0.032 0.097 0.312 0.280 0.161 0.065 0.054
g 0.113 0.500 0.233 0.094 0.043 0.014 0.003
h 0.328 0.460 0.129 0.050 0.020 0.010 0.003表示数据的每个子组(a到h)的一些边际频率(逐行)。
我的数据集实际上是长格式的( long,计数超过10万项),前6行如下所示:
RX_SUMM_SURG_PRIM_SITE Nodes.Examined.Class
1 Wedge Resection 1-5
2 Segmental Resection 1-5
3 Lobectomy w/mediastinal LNdissection 6-10
4 Lobectomy w/mediastinal LNdissection 6-10
5 Lobectomy w/mediastinal LNdissection 1-5
6 Lobectomy w/mediastinal LNdissection 11-15当我按组绘制一个桶形图(上面的表只是这两个协变量与行边际概率的交叉表)时,会发生这样的情况:

我的代码是
ggplot(data.ln.red, aes(x=Nodes.Examined.Class))+geom_bar(aes(x=Nodes.Examined.Class, group=RX_SUMM_SURG_PRIM_SITE))+
facet_grid(RX_SUMM_SURG_PRIM_SITE~.)实际上,我非常高兴的是,边际频率(即表中的那些)位于图的每个y轴上(而不是计数)。
有人能帮我吗?
谢谢你的帮助!EM
发布于 2018-04-06 18:09:26
geom_bar计算观测的数量和比例。您可以使用..prop.. (旧方式)或calc(prop) (在较新版本的ggplot2中引入)访问这些计算的比例。用这个作为你的美学。
您还可以去掉geom_bar中的geom_bar,因为这只是对ggplot和facet_grid已经介绍过的内容的重复。
看上去你的计数/比例在不同的组之间会有很大的差异,所以我在面板上加入了自由的y-缩放。
下面是与虹膜数据类似的一个例子,您可以用它来建模您的代码:
library(tidyverse)
ggplot(iris, aes(x = Sepal.Length, y = calc(prop))) +
geom_bar() +
facet_grid(Species ~ ., scales = "free_y")

由reprex封装创建于2018-04-06 (v0.2.0)。
编辑:计算出的prop变量是每个组中的比例,而不是所有组中的比例,所以当x是一个因子时,它的工作方式就不同了。对于分类x,prop将x视为组;要覆盖这个组,请在aes中包含group = 0或其他虚拟值。对不起,我第一次错过了!
https://stackoverflow.com/questions/49696094
复制相似问题