You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 11:35:06