我有一个328040行的tbl_df
head(homVar)
sample CHROM POS ID QUAL DP
1 H001 chr2L 43265 . 1790.77 50
2 H001 chr2L 950701 . 396.78 15
3 H001 chr2L 950723 . 430.77 14
4 H001 chr2L 950730 . 350.77 11
5 H001 chr2L 1648327 . 494.77 14
6 H001 chr2L 3274239 . 203.84 6
列'样本'是一个从H001到H230的角色。专栏' CHROM'是一个有七个级别的因素。 ' POS' CHROM的价值不一定是唯一的。每行对应一个遗传变异的位置,每个样本有不同的行数。
我通常要做的是根据位置,CHROM和样本绘制变体的频率。我可以做一个普通的条形直方图,但它对视觉解释不实用。我能够进行密度绘图,但这并不能显示最具信息性的绝对计数。
具体而言,我想做的是生成直方图的数据,然后将其绘制为线条,但保留样本和CHROM的分离。因此,在窗口大小为例如100000计算行数(对于每个样本和CHROM)。
密度图的代码是:
my.plot =
ggplot(homVar, aes(POS, col=sample)) +
geom_density(weight=0.5) +
facet_wrap(~CHROM, ncol=1)
my.plot
我正在查看来自
的ggplot_build功能和信息Making ggplot2 plot density histograms as lines
Need to extract data from the ggplot geom_histogram
关于如何将小平面,多系列直方图绘制成一条线的任何建议都将非常受欢迎。