我使用的是R进制,有一个关于正态分布的教学代码,并且已经成功地运行了很多次。
但是现在,当我叠加正态密度曲线时,它似乎不能正常工作。
下面是一个示例代码:
set.seed(100)
data <- rnorm(1000, mean = 0, sd = 1)
hist(data, main = "Normal Distribution", xlab = "X", ylab = "Frequency", col = "444", xlim=c(-4,4))
现在,我尝试使用density()
命令在图上叠加密度曲线:
lines(density(data), col = "red", lwd = 2)
如你所见,这条线是平的,我不明白为什么,所以我尝试了另一种方法:
x <- seq(-4, 4, length.out = 100)
lines(x, dnorm(x, mean = 0, sd = 1), col = "red", lwd = 2)
但我得到了相同的结果。
你知道为什么它不能正常工作吗?
1条答案
按热度按时间clj7thdc1#
多亏了其中一位用户的评论,我才得到了答案。
使用基数R,
hist()
函数在默认情况下不会绘制概率函数,而这正是这里所需要的,因此,如果我设置freq=F
,代码将工作。以下是正确答案: