我想绘制密度。 我有以下数据框:
> head(plotdat)
Var1 Var2 value
1 1 K4me2_ChIP 3.584963
2 2 K4me2_ChIP 5.247928
3 3 K4me2_ChIP 5.700440
4 4 K4me2_ChIP 6.357552
5 5 K4me2_ChIP 5.832890
6 6 K4me2_ChIP 4.392317
我用这种方式绘制密度:
> ggplot(data = plotdat) + geom_density(aes(x = value)) +
+ facet_wrap(~ Var2)
我有一个额外的DataFrame,其中包含以下内容:
> head(colD[,c(1,2)])
DataFrame with 4 rows and 2 columns
Sample type
<character> <character>
K4me2_ChIP K4me2_ChIP ChIP
K4me2_input K4me2_input input
K4me3_ChIP K4me3_ChIP ChIP
K4me3_input K4me3_input input
现在我想根据&#39;类型&#39;来为密度图着色。第二个数据框中的列,左边的两个图得到一个颜色,右边的两个图得到另一个颜色。
我可以在“情节”中添加一个额外的列。 data.frame,其中包含由&#39; type&#39;指定的映射。在第二个数据框中作为附加列,这是最好的方法吗?
答案 0 :(得分:0)
我使用此代码将列添加到plotdat:
idx <- match(plotdat$Var2, colD$Sample)
plotdat$type <- factor(colD$type[idx])
然后绘制它:
ggplot(data=plotdat) + geom_density(aes(x=value, fill=type)) + facet_wrap(~ Var2)