R-根据y变量修改(ggplot)小提琴图的宽度

R-根据y变量修改(ggplot)小提琴图的宽度,r,ggplot2,violin-plot,R,Ggplot2,Violin Plot,我想修改使用ggplot2包构建的小提琴图的宽度 背景如下:我得到一个数据集,该数据集统计特定大小粒子的大量观测值。这个大小将是我的y变量,我称之为“事件”的事件数 我简化了数据,所以我只看了2个不同的集合(用“id”表示),融合到1个数据帧中 library(ggplot2) library(data.table) dt1 <- data.frame(id=c("A","A","A","A","A","B","B","B","B","B"),y=c(10,20,30,40,50,10,2

我想修改使用ggplot2包构建的小提琴图的宽度

背景如下:我得到一个数据集,该数据集统计特定大小粒子的大量观测值。这个大小将是我的y变量,我称之为“事件”的事件数

我简化了数据,所以我只看了2个不同的集合(用“id”表示),融合到1个数据帧中

library(ggplot2)
library(data.table)
dt1 <- data.frame(id=c("A","A","A","A","A","B","B","B","B","B"),y=c(10,20,30,40,50,10,20,30,40,50),incidents=c(3,1,5,9,2,4,2,7,1,5))
库(ggplot2)
库(数据表)

dt1首先计算新变量:

dt1$total_particle_size<-dt1$incidents * (4/3 * pi * (dt1$y/2)^3)


我确实收到了一个警告,您可能需要检查。

这很好用!它是如此简单,它是天才!为什么我没有想到这个?非常感谢你。我真的不知道该如何处理错误消息:在density.default(x,weights=w,bw=bw,adjust=adjust,…:sum(weights)!=1--将无法获得真实的density我试图获得有关警告的更多信息(不是错误)但找不到太多。我鼓励您目视检查宽度是否与“总粒度”变量正确相关,如果是,您会没事的。如果您找到解决方法,请让我知道。
dt1$total_particle_size<-dt1$incidents * (4/3 * pi * (dt1$y/2)^3)
ggplot(dt1, aes(x=id,y=y,fill=id,width=total_particle_size))+
 geom_violin()