R语言 绘制累积分布函数
在这篇文章中,我们将讨论如何在R编程语言中绘制累积分布函数(CDF)。
在x处评估的随机变量的累积分布函数(CDF)是x取值小于或等于x的概率。R语言中的ecdf()函数用于计算和绘制一个数字向量的经验累积分布函数值。ecdf()函数将数据向量作为参数,并返回CDF数据。
语法: ecdf( data_vector )
参数
- data_vector: 确定包含用于计算CDF的数据的向量。
在基础R中绘制累积分布函数
要在基础 R 中绘制 CDF 函数,我们首先使用 ecdf() 函数来计算 CDF。然后我们使用 plot() 函数在 R 语言中绘制 CDF 图。plot函数将ecdf()函数的结果作为参数来绘制CDF图。
语法: plot( CDF )
参数
- CDF: 确定使用ecdf()函数计算的累积分布函数。
例1: 基础R中的累积分布函数
这里,是一个R语言中基本累积分布函数图的例子。
# create sample data
sample_Data = rnorm(500)
# calculate CDF
CDF <- ecdf(sample_Data )
# draw the cdf plot
plot( CDF )
输出
例2:使用虹膜数据集的R基础 的 累积分布函数
head(iris)
plot(ecdf(iris$Petal.Length))
输出
绘制已知分布的 CDF
为了绘制一个标准分布在特定已知范围内的累积分布函数,我们使用R语言中的curve()函数。curve()函数在区间内画出一条对应于函数的曲线。它接受一个表达式作为参数,在本例中是 pnorm 以及 from 和 to 的极限,并返回一个正态 CDF 图。
语法: curve( expression, from, to )
参数
- expression: 确定用于计算 CDF 的表达式函数。
- from: 确定数据的下限。
- to :决定数据的上限。
例子
这里,是一个正态CDF图的例子。
# plot normal CDF plot
curve(pnorm, from = -10, to = 10)
输出
使用ggplot2包绘制已知分布的CDF图
为了在 ggplot2 包库中绘制同样的图,我们使用 stat_function() 函数。stat_function将表达式函数作为一个fun参数,并根据该表达式在基本的ggplot2绘图中转换曲线。
语法: plot + stat_function( fun )
参数
- fun: 决定了绘图的形状的函数。
例子
这里,是一个使用ggplot2绘制正态CDF图的例子。
# load library ggplot2
library(ggplot2)
# create sample dataframe for upper and lower limit
sample_limit<- data.frame(x = c(-10, 10))
# draw CDF Plot
ggplot(sample_limit, aes(x = x)) +
stat_function(fun = pnorm)
输出