如何面向具有不同行数的多个数据集

时间:2019-07-10 21:00:05

标签: r ggplot2 facet-grid

我正在尝试绘制共享x轴的三个数据集。但是,某些数据集缺少数据,因此长度不同。我可以单独绘制它们,但是当我尝试将它们全部组合在一起时,会出现一个错误,即数据集包含不同数量的行。仅当我对情节进行构图时才会发生此错误(这是必需的)。

关于如何使构面图接受具有不同行数的数据集的任何建议?

我一直在使用的代码是:

ggplot()+
 geom_line(data=x,aes(x=x$BIN_START,y=x$TajimaD),size=0.6,alpha=0.65,colour="skyblue1")+
geom_line(data=y,aes(x=y$BIN_START,y=y$TajimaD),size=0.3,alpha=0.85,colour="greenyellow")+
 geom_line(data=z,aes(x=z$BIN_START,y=z$TajimaD),size=0.25,alpha=0.95,colour="black")+
  scale_x_continuous()+
  facet_grid(rows=vars(x$CHROM))+
  theme_classic()+
  ylab("TajimaD") +
  xlab("Location (bp)") 

正如评论中所建议的那样,我现在将所有数据移动到一个文件中,并添加了一个列以指示数据来源。我仍然收到类似的错误消息:“替换有22588行,数据有7537”

ggplot()+
  geom_line(data=x,aes(x=a$BIN_START,y=a$TajimaD,color=a$Population),size=0.6,alpha=0.65)+
  scale_x_continuous()+
  facet_grid(rows=vars(a$CHROM))+
  theme_classic()+
  ylab("TajimaD") +
  xlab("Location (bp)")

1 个答案:

答案 0 :(得分:0)

第二次尝试使用x作为数据,但随后使用a$BIN_START,依此类推。xa很有可能具有不同的行数,并因此导致错误。我建议在使用ggplot2时,将所有<dataset_name>$调用中的aes()一起删除。说data = x时,您只需写aes(x=BIN_START,y=TajimaD,color=Population)(即不需要x$)。