我有一个看起来像这样的数据框:
bin_with_regard_to_strand CLONE3
31 0.14750872
33 0.52735917
28 0.48559060
. .
. .
我想使用这个数据框来生成小提琴图,使得CLONE3
与给定值对应的所有值都 bin_with_regard_to_strand
将生成一个图。此外,我希望所有绘图都出现在同一个图形设备中(我使用的是 R-studio,并且我希望所有绘图都出现在一个绘图窗口中)。理论上我可以这样做:
vioplot(df$CLONE3[which(df$bin_with_regard_to_strand==1)],
df$CLONE3[which(df$bin_with_regard_to_strand==2)]...)
但由于bin_with_regard_to_strand
有 60 个不同的值,这似乎有点荒谬。我尝试使用tapply
:
tapply(df$CLONE3, df$bin_with_regard_to_strand,vioplot)
但这会打开 60 个不同的窗口(每个地块一个)。或者,如果我使用add
参数:
tapply(df$CLONE3, df$bin_with_regard_to_strand,vioplot(add=TRUE))
bin_with_regard_to_strand
使用来自所有值的数据(以线分隔)生成一个图。
有没有办法做到这一点?