在R中制作一堆密度图的最佳方法

时间:2017-06-02 13:08:43

标签: r ggplot2

v0=sample(c(T,F),100,T)
df = data.frame(v0=v0, v1=rnorm(100,0,1) + v0*rnorm(100,1,1),v2=rnorm(100,2,1))

如何为每个变量(v0除外)制作一堆图,其中每个图都是密度图,如:

ggplot(df, aes(x=v1)) + 
geom_density(aes(group=v0, colour=v0, fill=v0), 
                      bw=.15,
                      alpha=0.3)

Plot of v1

1 个答案:

答案 0 :(得分:2)

您可以melt() data.frame并使用facet_wrap()

library(reshape2)
library(ggplot2)
ggplot(melt(df), aes(x=value, bw=.15, colour=v0,fill=v0, alpha=.3)) + 
        geom_density() + facet_wrap(~variable)

enter image description here