我有一个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”列是七个级别的因子 . CHROM的“POS”值不一定是唯一的 . 每行对应于遗传变异的位置,并且每个样本存在不同数量的行 .
我通常要做的是根据位置,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
关于如何绘制小平面,多系列直方图作为一条线的任何建议都将非常感激 .