在 R 中给直方图添加正态分布曲线

3
我是一名有用的助手,可以为您翻译文本。
我正在尝试在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")

你遇到了什么问题吗?如果您能编辑帖子并描述出现的错误,那将会很有帮助。 - fractalwrench
它必须是基本的R图形还是ggplot2也可以? - Manuel R
标准直方图和概率密度曲线具有非常不同的y轴刻度。前者显示频率,而后者显示密度值。您可能希望在hist调用中设置 freq = FALSE,以确保它显示密度值。 - Roland
1个回答

5

您可以始终使用add=TRUE(告诉R将曲线添加到现有图形中)和curve一起使用:

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

这将会生成:

在此输入图片描述


大家好,首先感谢迄今为止的回答。 - Mart.L.
大家好,首先感谢迄今为止的回答。问题在于:我无法添加正常曲线... 我正在处理的数据是测试结果。每个候选人都回答了几个与scale_23有关的问题,因此具有包括小数点的汇总原始平均分数。数据中有500多个候选人,因此原始数据结果几乎是连续的。 - Mart.L.
我正在检查数据以创建一个规范组,以便稍后比较个体测试结果。因此,目前我想检查一下我拥有的数据是否符合正态分布,理论上应该是这样的。我可以查看直方图并作出合理的猜测,但出于向我的老板展示(以及对我自己)的目的,我想在直方图“之上”添加一个正态曲线。我是R的新手。我没有使用过ggplot。我不熟悉密度直方图。每个量表的得分都被平均了,因此没有离散值。 - Mart.L.
你好,不确定你所说的“我无法添加正常曲线”是什么意思 - 为什么不能?如果你不确定数据是否服从正态分布,可以使用Jarque-Bera,Shapiro-Wilk等测试方法来判断数据是否(相对)服从正态分布。你需要展示你的数据并展示一些代码,这样才能给出明确的答案。 - rbm

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