【问题标题】:Add normal distribution curve to histogram R [duplicate]将正态分布曲线添加到直方图 R [重复]
【发布时间】:2016-09-16 03:28:20
【问题描述】:

我正在尝试将正态分布曲线叠加到 R 中的直方图上。我知道这是一个以前被问过的问题,但我无法让解决方案为我工作。

这是我的代码:

hist(input_data$"X109_scalesraw_23", freq = TRUE, breaks = 30, 
     col = "cadetblue", xlim = c(0,30), ylim = c(0,150), 
     main = "023", xlab = "score")

【问题讨论】:

  • 您遇到什么麻烦了?如果您可以编辑您的帖子并说明问题所在,将会很有帮助。
  • 必须是base r图形还是ggplot2也可以?
  • 标准直方图和概率密度曲线具有非常不同的 y 轴刻度。前者显示频率,而后者显示密度值。您可能希望在您的 hist 调用中设置 freq = FALSE,以确保它显示密度值。

标签: r histogram


【解决方案1】:

您始终可以使用 curveadd=TRUE(告诉 R 将曲线添加到现有绘图):

data <- rnorm(100, 0, 1)
hist(data, freq = FALSE)
x<-seq(-4,+4,by=0.02)
curve(dnorm(x), add=TRUE)

产生

【讨论】:

  • 大家好,首先,感谢到目前为止的回答。
  • 大家好,首先,感谢到目前为止的回答。问题是:我根本无法添加正态曲线......我正在使用的数据是测试结果。每个候选人都回答了几个与 scale_23 有关的问题,因此有一个包含小数点的整理后的原始平均分数。数据中有超过 500 个候选者,因此原始数据结果几乎是连续的。
  • 我正在检查数据以创建一个规范组,我可以将其与以后的个人测试结果进行比较。因此,我现在想检查我拥有的数据是否是正态分布的,理论上应该是正态分布的。我可以查看直方图并做出有根据的猜测,但为了向我的老板展示(对我来说,是的),我想在直方图的“顶部”添加一条正态曲线。我是 R 新手。我没有使用过 ggplots。我不熟悉密度直方图。每个量表的分数是平均的,因此没有离散值。
  • 嗨,不知道您所说的“我根本无法添加正态曲线”是什么意思 - 为什么不呢?如果您不确定数据是否正常,有一些测试可以告诉您数据是否(合理地)正常:Jarque-Bera、Shapiro-Wilk 等。您需要显示您的数据并显示一些代码,然后它'有可能给出肯定的答案。