Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 将两个数据集合并为一个直方图_R_Plot_Histogram - Fatal编程技术网

R 将两个数据集合并为一个直方图

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

我正试图用R来做一个比较两个数据集的柱状图。然而,我还没有找到一种方法。每个数据集是一个69个元素长的基因计数数字列表。前十个元素如下所示:

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)