我正在尝试绘制共享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)")
答案 0 :(得分:0)
第二次尝试使用x
作为数据,但随后使用a$BIN_START
,依此类推。x
和a
很有可能具有不同的行数,并因此导致错误。我建议在使用ggplot2时,将所有<dataset_name>$
调用中的aes()
一起删除。说data = x
时,您只需写aes(x=BIN_START,y=TajimaD,color=Population)
(即不需要x$
)。