我有一个mdata
看起来像这样的数据框:
>head(mdata)
ID variable value
SJ5444_MAXGT coding 4.241920
SJ5426_MAXGT coding 4.254331
HR1383_MAXGT coding 4.244994
HR5522_MAXGT missense 4.250347
CH30041_MAXGT missense 4.303174
SJ5438_MAXGT utr.3 4.242218
我正在尝试绘制这样的小提琴图:
x1<- mdata$value[mdata$variable=='coding']
x2<- mdata$value[mdata$variable=='missense']
x3<- mdata$value[mdata$variable=='utr.3']
vioplot(x1, x2, x3, names=as.character(unique(mdata$variable)), col="red")
title("Violin Plot: Log10 values")
但我有另一个数据框ndata
,如下所示:
>head(ndata)
ID variable value
SJ5444_MAXGT coding 17455
SJ5426_MAXGT coding 17961
HR1383_MAXGT coding 17579
HR5522_MAXGT missense 17797
CH30041_MAXGT missense 20099
SJ5438_MAXGT utr.3 17467
基本上 mdata$value 是:
mdata$value = log10(ndata$value)
所以我可以把小提琴情节做好。但我需要更改 Y 轴标签以匹配 ndata$value 而不是 mdata$value。我正在绘制 mdata$value,但希望从 ndata$value 获取 Y 轴标签。仅供参考,这是实际数据的子集,实际数据中的最小值和最大值为 12 和 36937,我知道如何使用以下方法将其绘制在箱线图上:
axis(side=2,labels=round(10^(seq(log10(min(ndata$value)),log10(max(ndata$value)),len=5))),at=seq(log10(min(ndata$value)),log10(max(ndata$value)),len=5))
但我无法绘制 Y 轴标签以匹配小提琴图中的 ndata$value。有什么建议么?
PS我找不到标签vioplot
,violinplot
所以我无法标记它。