R 将两个数据集合并为一个直方图
我正试图用R来做一个比较两个数据集的柱状图。然而,我还没有找到一种方法。每个数据集是一个69个元素长的基因计数数字列表。前十个元素如下所示:R 将两个数据集合并为一个直方图,r,plot,histogram,R,Plot,Histogram,我正试图用R来做一个比较两个数据集的柱状图。然而,我还没有找到一种方法。每个数据集是一个69个元素长的基因计数数字列表。前十个元素如下所示: bt549_counts ## 1 2 3 4 5 6 7 8 9 10 ## 627984 711915 690967 1414629 1097368 274380 432299 165781 329155 19
bt549_counts
## 1 2 3 4 5 6 7 8 9 10
## 627984 711915 690967 1414629 1097368 274380 432299 165781 329155 1984503
bt549_uniqCounts
## 1 2 3 4 5 6 7 8 9 10
## 1794 1982 1921 3556 2851 800 1142 457 1013 4911
我尝试绘制每个列表,然后将这些列表合并为一个图,如下所示:
btPlot <- plot(bt549_counts, type="h")
uniqPlot <- plot(bt549_uniqCounts, type="h")
combPlot <- t(cbind(bt549_counts,bt549_uniqCounts))
barplot(combPlot, beside=TRUE, space=rep(0,2*ncol(combPlot)), col=c("red", "black"))
btPlot如果绘制测试数据,您将看到它正在工作。问题是你正在绘制计数,计数是如此不同(bt549_uniqCounts小得多,所以你几乎看不到它)。我添加了border=F
,这样它就不会在条的周围画一条黑线,并掩盖填充。如果你仔细看,你可以在5点前看到一点红色
cnt1<-c(627984,711915,690967,1414629,1097368,274380,432299,165781,329155,1984503)
cnt2<-c(1794,1982,1921,3556,2851,800,1142,457,1013,4911)
names(cnt1)<-1:10
names(cnt2)<-1:10
barplot(t(cbind(cnt1, cnt2)), beside=T, col=c("black","red"), border=F)
谢谢,这有助于澄清问题。后来,我还想在对数刻度上绘制y轴,这进一步有助于显示数据。
barplot(t(cbind(cnt1/sum(cnt1), cnt2/sum(cnt2))),
beside=T, col=c("black","red"), border=F)