R 在不同数据集的箱线图顶部绘制几何点
我有一个数据集R 在不同数据集的箱线图顶部绘制几何点,r,ggplot2,R,Ggplot2,我有一个数据集a,从中我制作了一组箱线图。在这些方框图的顶部,我想绘制一个geom_点,它只是原始数据集的一个子集。子集存储在b中 我做错了什么来得到这个错误 ggplot(a, aes(x=reorder(miRNA,as.numeric(value)),y=as.numeric(value))) + geom_boxplot() + geom_point(b, aes(x=reorder(miRNA,as.numeric(value)))) + theme(axis.text.x =
a
,从中我制作了一组箱线图。在这些方框图的顶部,我想绘制一个geom_点
,它只是原始数据集的一个子集。子集存储在b
中
我做错了什么来得到这个错误
ggplot(a, aes(x=reorder(miRNA,as.numeric(value)),y=as.numeric(value))) + geom_boxplot() +
geom_point(b, aes(x=reorder(miRNA,as.numeric(value)))) +
theme(axis.text.x = element_text( angle = 90)) +
coord_flip() +
scale_y_continuous(limits=c(-5, 5)) +
theme_bw(base_size = 8) +
labs(x = "miRNA", y = "log2 tumor/benign")
错误:ggplot2不知道如何处理类uneval的数据
我认为问题在于
aes()
到geom_point()
的规范。
你写道:
geom_点(b,aes(x=重新排序(miRNA,如数值)))
但我认为应该是:
几何点(b,aes(x=重新排序(miRNA),y=数值(值)))
您甚至不需要在调用geom_point()
时重新指定aes()
,因为它与整个绘图相同
在不细分数据的情况下尝试,也就是说,绘制所有点,然后看看是否有效。我还建议绘制所有数据并着色或以其他方式突出显示子集;否则可能会使观看情节的人感到困惑
注:
我通常指定
geom\u箱线图(outlier.size=NA)
以禁止在叠加点时绘制异常值,或者将对异常值进行双重绘制只需使用data=b
而不是geom\u point()中的b
> head(a)
miRNA variable value
2 hsa-let-7b-5p ta.008 -0.1512121
3 hsa-let-7c-5p ta.008 -0.2649810
11 hsa-miR-10a-5p ta.008 -1.6736331
13 hsa-miR-122-5p ta.008 0.0417420
15 hsa-miR-125a-5p ta.008 -0.8262042
19 hsa-miR-128-3p ta.008 -0.2867184
> head(b)
miRNA variable value
2670 hsa-let-7b-5p tb1302 1.313482
2671 hsa-let-7c-5p tb1302 1.071200
2679 hsa-miR-10a-5p tb1302 1.728654
2681 hsa-miR-122-5p tb1302 1.013428
2683 hsa-miR-125a-5p tb1302 -0.274418
2687 hsa-miR-128-3p tb1302 -4.967844