如何在R中绘制与示例一致的离散变量累积分布函数图像?
调整R中离散变量CDF图像以匹配目标示例
我需要在R中绘制离散变量的累积分布函数(CDF)图像,当前使用以下代码实现:
# Créer la fonction cumulative F <- stepfun(c(1, 2, 3), c(0, 0.5, 0.875, 1)) plot(F, do.points = FALSE, col = "blue", type = "s", lwd = 2, xlab = "x", ylab = "F(x)", main = "Fonction de répartition")
但生成的图像与目标示例不符,求调整方法。
离散CDF的标准样式通常是右连续阶梯线,且在每个跳跃点处用实心点标记该点的函数值、空心点标记跳跃前的取值。可以通过以下参数调整代码:
右连续CDF(匹配常见离散分布定义)
# Créer la fonction cumulative F <- stepfun(c(1, 2, 3), c(0, 0.5, 0.875, 1)) plot(F, do.points = TRUE, # 开启点显示 pch = c(1, 16), # 左端点空心、右端点实心,符合右连续逻辑 col = "blue", col.points = "blue", type = "s", # 绘制右连续阶梯线 verticals = FALSE, # 关闭垂直跳跃线段(按需选择,目标图有垂直线则删除此行) lwd = 2, xlab = "x", ylab = "F(x)", main = "Fonction de répartition")
左连续CDF(若目标图为左连续样式)
如果目标图是左连续的阶梯线,只需调整type参数为大写"S",同时对应修改点样式:
plot(F, do.points = TRUE, pch = c(16, 1), # 左端点实心、右端点空心,符合左连续逻辑 col = "blue", col.points = "blue", type = "S", # 绘制左连续阶梯线 verticals = FALSE, lwd = 2, xlab = "x", ylab = "F(x)", main = "Fonction de répartition")
参数说明
type="s":生成右连续阶梯线(线段从左跳跃点向右延伸),符合离散CDF的常规定义(F(x)取x处的右侧极限)pch=c(1,16):分别对应空心圆和实心圆,标记阶梯的左右端点取值verticals=FALSE:关闭默认的垂直跳跃线段,若目标图包含垂直线段可删除此参数
内容的提问来源于stack exchange,提问作者CHAIMAE HAFID
相关产品推荐
相关产品推荐

