当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R ggplot2 stat_ecdf 计算经验累积分布


经验累积分布函数 (ECDF) 提供了另一种分布可视化。与依赖密度的其他可视化(如 geom_histogram() )相比,ECDF 不需要任何调整参数,并且可以处理连续变量和分类变量。缺点是它需要更多的训练才能准确解释,并且底层的视觉任务更具挑战性。

用法

stat_ecdf(
  mapping = NULL,
  data = NULL,
  geom = "step",
  position = "identity",
  ...,
  n = NULL,
  pad = TRUE,
  na.rm = FALSE,
  show.legend = NA,
  inherit.aes = TRUE
)

参数

mapping

aes() 创建的一组美学映射。如果指定且inherit.aes = TRUE(默认),它将与绘图顶层的默认映射组合。如果没有绘图映射,则必须提供mapping

data

该层要显示的数据。有以下三种选择:

如果默认为 NULL ,则数据继承自 ggplot() 调用中指定的绘图数据。

data.frame 或其他对象将覆盖绘图数据。所有对象都将被强化以生成 DataFrame 。请参阅fortify() 将为其创建变量。

将使用单个参数(绘图数据)调用function。返回值必须是 data.frame ,并将用作图层数据。可以从 formula 创建 function (例如 ~ head(.x, 10) )。

geom

用于显示数据的几何对象,可以作为 ggproto Geom 子类,也可以作为命名去除 geom_ 前缀的几何对象的字符串(例如 "point" 而不是 "geom_point" )

position

位置调整,可以是命名调整的字符串(例如 "jitter" 使用 position_jitter ),也可以是调用位置调整函数的结果。如果需要更改调整设置,请使用后者。

...

其他参数传递给 layer() 。这些通常是美学,用于将美学设置为固定值,例如 colour = "red"size = 3 。它们也可能是配对的 geom/stat 的参数。

n

如果为 NULL,则不进行插值。如果不为 NULL,则这是要插值的点数。

pad

如果 TRUE ,用附加点 (-Inf, 0) 和 (Inf, 1) 填充 ecdf

na.rm

如果是FALSE(默认值),则删除缺失值并发出警告。如果TRUE默默地删除缺失值。

show.legend

合乎逻辑的。该层是否应该包含在图例中? NA(默认值)包括是否映射了任何美学。 FALSE 从不包含,而 TRUE 始终包含。它也可以是一个命名的逻辑向量,以精细地选择要显示的美学。

inherit.aes

如果 FALSE ,则覆盖默认美学,而不是与它们组合。这对于定义数据和美观的辅助函数最有用,并且不应继承默认绘图规范的行为,例如borders()

细节

该统计依赖于美学分配来猜测哪个变量用作输入以及哪个变量用作输出。必须提供 x 或 y,并且其中之一必须未使用。 ECDF 将根据给定的美学进行计算,并在未使用的美学上进行输出。

计算变量

这些是由层的 'stat' 部分计算的,可以使用 delayed evaluation 访问。

  • after_stat(ecdf)
    累积密度对应于x.

  • after_stat(y)
    [Superseded]为了向后兼容。

例子

set.seed(1)
df <- data.frame(
  x = c(rnorm(100, 0, 3), rnorm(100, 0, 10)),
  g = gl(2, 100)
)
ggplot(df, aes(x)) +
  stat_ecdf(geom = "step")


# Don't go to positive/negative infinity
ggplot(df, aes(x)) +
  stat_ecdf(geom = "step", pad = FALSE)


# Multiple ECDFs
ggplot(df, aes(x, colour = g)) +
  stat_ecdf()

源代码:R/stat-ecdf.R

相关用法


注:本文由纯净天空筛选整理自Hadley Wickham等大神的英文原创作品 Compute empirical cumulative distribution。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。