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


R ggplot2 geom_qq 分位数-分位数图


geom_qq()stat_qq() 生成 quantile-quantile 绘图。 geom_qq_line()stat_qq_line() 计算连接理论分布和样本分布指定四分位数处的点的直线的斜率和截距。

用法

geom_qq_line(
  mapping = NULL,
  data = NULL,
  geom = "path",
  position = "identity",
  ...,
  distribution = stats::qnorm,
  dparams = list(),
  line.p = c(0.25, 0.75),
  fullrange = FALSE,
  na.rm = FALSE,
  show.legend = NA,
  inherit.aes = TRUE
)

stat_qq_line(
  mapping = NULL,
  data = NULL,
  geom = "path",
  position = "identity",
  ...,
  distribution = stats::qnorm,
  dparams = list(),
  line.p = c(0.25, 0.75),
  fullrange = FALSE,
  na.rm = FALSE,
  show.legend = NA,
  inherit.aes = TRUE
)

geom_qq(
  mapping = NULL,
  data = NULL,
  geom = "point",
  position = "identity",
  ...,
  distribution = stats::qnorm,
  dparams = list(),
  na.rm = FALSE,
  show.legend = NA,
  inherit.aes = TRUE
)

stat_qq(
  mapping = NULL,
  data = NULL,
  geom = "point",
  position = "identity",
  ...,
  distribution = stats::qnorm,
  dparams = list(),
  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 的参数。

distribution

如果未指定 x,则要使用的分布函数

dparams

传递给 distribution 函数的其他参数。

line.p

拟合 Q-Q 线时使用的分位数向量,默认为 c(.25, .75)

fullrange

q-q 线应该跨越绘图的整个范围,还是仅跨越数据

na.rm

如果 FALSE ,则默认缺失值将被删除并带有警告。如果 TRUE ,缺失值将被静默删除。

show.legend

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

inherit.aes

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

美学

stat_qq() 理解以下美学(所需的美学以粗体显示):

  • sample

  • group

  • x

  • y

vignette("ggplot2-specs") 中了解有关设置这些美学的更多信息。

stat_qq_line() 理解以下美学(所需的美学以粗体显示):

  • sample

  • group

  • x

  • y

vignette("ggplot2-specs") 中了解有关设置这些美学的更多信息。

计算变量

这些是由层的 'stat' 部分计算的,可以通过以下方式访问ggplot2 aes_eval.
计算变量stat_qq()

  • after_stat(sample)
    样本分位数。

  • after_stat(theoretical)
    理论分位数。

stat_qq_line() 计算的变量:

  • after_stat(x)
    连接理论分布和样本分布的选定分位数处的点的线段端点的 x 坐标。

  • after_stat(y)
    端点的 y 坐标。

例子

# \donttest{
df <- data.frame(y = rt(200, df = 5))
p <- ggplot(df, aes(sample = y))
p + stat_qq() + stat_qq_line()


# Use fitdistr from MASS to estimate distribution params
params <- as.list(MASS::fitdistr(df$y, "t")$estimate)
#> Warning: NaNs produced
#> Warning: NaNs produced
#> Warning: NaNs produced
ggplot(df, aes(sample = y)) +
  stat_qq(distribution = qt, dparams = params["df"]) +
  stat_qq_line(distribution = qt, dparams = params["df"])


# Using to explore the distribution of a variable
ggplot(mtcars, aes(sample = mpg)) +
  stat_qq() +
  stat_qq_line()

ggplot(mtcars, aes(sample = mpg, colour = factor(cyl))) +
  stat_qq() +
  stat_qq_line()

# }

相关用法


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