用 R 中的拟合密度曲线叠加直方图
在本文中,我们将研究在 R 编程语言中使用拟合密度曲线叠加直方图的不同方法。
方法 1:使用line() 和 density() 函数
在这种用拟合密度曲线叠加直方图的方法中,用户不需要安装或导入任何库,因为所有函数都是 R 编程语言编程的基本函数,用户首先需要调用 hist() 函数来绘制直方图给定数据,并进一步使用lines()函数与密度()函数的组合,它将导致密度曲线拟合到R 编程语言中同一图上绘制的直方图。
hist()是一个通用函数hist 计算给定数据值的直方图。
Syntax: hist(x, breaks = “Sturges”, freq = NULL, probability = !freq, include.lowest = TRUE, right = TRUE, density = NULL, angle = 45, col = NULL, border = NULL, main = paste(“Histogram of” , xname), xlim = range(breaks), ylim = NULL, xlab = xname, ylab, axes = TRUE, plot = TRUE, labels = FALSE, nclass = NULL, warn.unused = TRUE, …)
lines()是一个通用函数采用以各种方式给出的坐标并将相应的点与线段连接起来。
Syntax: lines(x, …)
密度()是计算核密度估计的通用函数密度。
Syntax: density(x,…)
例子:
R
gfg <-rnorm(500)
hist(gfg, prob = TRUE)
lines(density(gfg), col = "green")
R
library("ggplot2")
gfg <-data.frame(x=rnorm(500))
ggplot(gfg, aes(x)) +geom_histogram(aes(y = stat(density))) +
geom_density(col = "green")
输出:
方法二:使用geom_histogram() 和 geom_density()函数
在这种将直方图与拟合的密度曲线叠加的方法中,用户首先需要在 R 控制台中安装并导入 ggplot2 包,并调用 ggplot()函数,该函数将使用所需的参数创建给定数据的绘图,并且添加 geom_histogram() 以使用 geom_density()函数的组合创建数据的直方图,该函数将使用 R 编程语言中的直方图在该图上绘制密度曲线。
geom_histogram()函数用于在给定数据的 ggplot 中创建直方图。
Syntax: geom_histogram(mapping = NULL, data = NULL, stat = “bin”, position = “stack”, …)
geom_density()函数计算并绘制核密度估计,这是直方图的平滑版本。
Syntax:
geom_density(mapping = NULL, data = NULL, stat = “density”, position = “identity”, …, na.rm = FALSE, orientation = NA, show.legend = NA,inherit.aes = TRUE, outline.type = “upper”)
例子:
电阻
library("ggplot2")
gfg <-data.frame(x=rnorm(500))
ggplot(gfg, aes(x)) +geom_histogram(aes(y = stat(density))) +
geom_density(col = "green")
输出: