在R中使用prob=TRUE绘制多个直方图

3
我想在R中绘制多个直方图,不显示频率,而是显示密度:
A <- rnorm(100)
B <- rnorm(100)
hist1 <- hist(A,prob=TRUE,breaks=30)
hist2 <- hist(B,prob=TRUE,breaks=30) 
plot(hist1, col="red",lty=0, xlim=c(-4,4))
plot(hist2, col="blue", lty=0, xlim=c(-4,4), add=TRUE, main="Example")
lines(density(A))

然而,当绘制对象时,我的“prob=TRUE”选项显然没有生效。有人能解释一下我做错了什么吗?

似乎给出了相同的结果。 - user1814665
问题在于(至少在我得到的情节中),直方图没有被归一化(y轴仍然显示频率而不是密度)。然而,当我直接绘制直方图时(即不先将它们保存为对象再调用“plot”),y轴的值是正确的。 - user1814665
1个回答

2

在hist()命令中去掉prob=T参数

hist1 <- hist(A,breaks=30)
hist2 <- hist(B,freq=F,breaks=30) 

在绘图命令中加入freq=F
plot(hist1, col="red",lty=0, xlim=c(-4,4),freq=F)
plot(hist2, col="blue", lty=0, xlim=c(-4,4), add=TRUE, main="Example",freq=F)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接