R语言 用拟合的密度曲线叠加直方图

R语言 用拟合的密度曲线叠加直方图

在这篇文章中,我们将研究在R编程语言中用拟合密度曲线叠加直方图的不同方法。

方法1:使用line()和density()函数

在这种方法中,将直方图与拟合的密度曲线重叠,用户不需要安装或导入任何库,因为所有的函数都是R编程语言编程的基础函数,用户首先需要调用hist()函数来绘制给定数据的直方图,然后进一步使用lines()函数与density()函数相结合,这将导致在R编程语言的同一图上绘制的直方图的密度曲线。

hist() 是一个通用函数hist,用于计算给定数据值的直方图。

语法: 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() 是一个通用函数,它接收以各种方式给出的坐标,并将相应的点用线段连接起来。

语法:lines(x, ...)

density() 是一个通用函数 density,用于计算内核密度估计。

语法: density(x,…)

例子

gfg <-rnorm(500) 
  
hist(gfg, prob = TRUE) 
  
lines(density(gfg), col = "green")

输出

在R语言中用拟合的密度曲线叠加直方图

方法2:使用 geom_histogram()和geom_density()函数

在这个方法中,为了将直方图与拟合的密度曲线叠加起来,用户首先需要在R控制台中安装并导入ggplot2包,然后调用ggplot()函数,该函数将用所需的参数创建给定数据的绘图,并添加geom_histogram()函数来创建数据的直方图,并结合geom_density()函数在R编程语言中将密度曲线与直方图绘制出来。

geom_histogram() 函数用于在ggplot中创建给定数据的柱状图。

语法: geom_histogram(mapping = NULL, data = NULL, stat = “bin”, position = “stack”, …)

geom_density() 函数计算并绘制内核密度估计值,它是直方图的平滑版本。

语法

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")

输出

在R语言中用拟合的密度曲线叠加直方图

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程