R 如何从不同系列中空间分离地毯图
我试图以图形方式评估数据集的分布(双峰与单峰),其中每个数据集的数据点数量可能差异很大。我的问题是使用类似于地毯图的方法来指示数据点的数量,但要避免一个数据点多的序列超过一个只有几个点的序列的问题 目前我在R 如何从不同系列中空间分离地毯图,r,ggplot2,R,Ggplot2,我试图以图形方式评估数据集的分布(双峰与单峰),其中每个数据集的数据点数量可能差异很大。我的问题是使用类似于地毯图的方法来指示数据点的数量,但要避免一个数据点多的序列超过一个只有几个点的序列的问题 目前我在ggplot2工作,结合geom_density和geom_rug如下: # Set up data: 1000 bimodal "b" points; 20 unimodal "a" points set.seed(0); require(ggplot2) x <- c(rnorm(5
ggplot2
工作,结合geom_density
和geom_rug
如下:
# Set up data: 1000 bimodal "b" points; 20 unimodal "a" points
set.seed(0); require(ggplot2)
x <- c(rnorm(500, mean=10, sd=1), rnorm(500, mean=5, sd=1), rnorm(20, mean=7, sd=1))
l <- c(rep("b", 1000), rep("a", 20))
d <- data.frame(x=x, l=l)
ggplot(d, aes(x=x, colour=l)) + geom_density() + geom_rug()
但是,这并不令人满意,因为y位置必须手动调整。是否有更自动的方法从不同系列中分离地毯图,例如使用位置调整?一种方法是使用两个
geom_rug()
调用-一个用于b
,另一个用于a
。然后为一个geom_rug()
设置sides=“t”
以在顶部绘制它们
ggplot(d, aes(x=x, colour=l)) + geom_density() +
geom_rug(data=subset(d,l=="b"),aes(x=x)) +
geom_rug(data=subset(d,l=="a"),aes(x=x),sides="t")
ggplot(d, aes(x=x, colour=l)) + geom_density() +
geom_rug(data=subset(d,l=="b"),aes(x=x)) +
geom_rug(data=subset(d,l=="a"),aes(x=x),sides="t")