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


R plot.boot Bootstrap 模拟的输出图


R语言 plot.boot 位于 boot 包(package)。

说明

这需要一个引导程序对象并为感兴趣的变量的引导程序复制生成绘图。

用法

## S3 method for class 'boot'
plot(x, index = 1, t0 = NULL, t = NULL, jack = FALSE,
     qdist = "norm", nclass = NULL, df, ...)

参数

x

从引导生成函数之一返回的 "boot" 类的对象。

index

boot.out 输出中感兴趣的变量的索引。如果提供tt0,则忽略此选项。

t0

统计量的原始值。默认为 boot.out$t0[index] ,除非在默认为 NULL 时提供了 t 。在这种情况下,直方图上不会绘制垂直线。

t

引导程序复制统计数据。通常这将采用默认值 boot.out$t[,index] ,但是有时提供一组不同的值(它们是 boot.out$t 的函数)可能很有用。

jack

指示是否需要 jackknife-after-bootstrap 图的逻辑值。默认情况下不会生成这样的图。

qdist

应根据其绘制 Q-Q 图的分布。目前"norm"(正态分布 - 默认)和"chisq"(卡方分布)是唯一可能的值。

nclass

一个整数,给出引导直方图中要使用的类的数量。默认值是 10 到 100 之间最接近 ceiling(length(t)/25) 的整数。

df

如果qdist"chisq",则这是要使用的卡方分布的自由度。在这种情况下,这是一个必需的参数。

...

jackTRUE 时,可以向jack.after.boot 提供附加参数。有关可能参数的详细信息,请参阅 jack.after.boot 的帮助文件。

细节

该函数通常会生成两个side-by-side图。左图将是引导重复的直方图。通常会选择直方图的断点,以便 t0 位于断点处,并且所有间隔的长度相等。垂直虚线表示 t0 的位置。如果提供了 t 但未提供 t0,则无法完成此操作,因此在这种情况下,断点由 hist 使用 nclass 参数计算,并且不绘制垂直线。

第二个图是引导重复的 Q-Q 图。重复的顺序统计可以根据正态分位数或卡方分位数绘制。无论哪种情况,都会绘制预期的线。对于法线,这将具有截距 mean(t) 和斜率 sqrt(var(t)),而对于卡方,它具有截距 0 和斜率 1。

如果jackTRUE,则会在这两个图下方生成第三个图。该图就是jackknife-after-bootstrap图。仅当使用非参数模拟时才可以请求该图。有关此图的更多详细信息,请参阅jack.after.boot

boot.out 隐形返回。

副作用

所有屏幕都关闭并清除,并在当前图形设备上生成许多绘图。在此函数终止时,屏幕会关闭但不会清除。

例子

# We fit an exponential model to the air-conditioning data and use
# that for a parametric bootstrap.  Then we look at plots of the
# resampled means.
air.rg <- function(data, mle) rexp(length(data), 1/mle)

air.boot <- boot(aircondit$hours, mean, R = 999, sim = "parametric",
                 ran.gen = air.rg, mle = mean(aircondit$hours))
plot(air.boot)

# In the difference of means example for the last two series of the 
# gravity data
grav1 <- gravity[as.numeric(gravity[, 2]) >= 7, ]
grav.fun <- function(dat, w) {
     strata <- tapply(dat[, 2], as.numeric(dat[, 2]))
     d <- dat[, 1]
     ns <- tabulate(strata)
     w <- w/tapply(w, strata, sum)[strata]
     mns <- as.vector(tapply(d * w, strata, sum)) # drop names
     mn2 <- tapply(d * d * w, strata, sum)
     s2hat <- sum((mn2 - mns^2)/ns)
     c(mns[2] - mns[1], s2hat)
}

grav.boot <- boot(grav1, grav.fun, R = 499, stype = "w", strata = grav1[, 2])
plot(grav.boot)
# now suppose we want to look at the studentized differences.
grav.z <- (grav.boot$t[, 1]-grav.boot$t0[1])/sqrt(grav.boot$t[, 2])
plot(grav.boot, t = grav.z, t0 = 0)

# In this example we look at the one of the partial correlations for the
# head dimensions in the dataset frets.
frets.fun <- function(data, i) {
    pcorr <- function(x) { 
    #  Function to find the correlations and partial correlations between
    #  the four measurements.
         v <- cor(x)
         v.d <- diag(var(x))
         iv <- solve(v)
         iv.d <- sqrt(diag(iv))
         iv <- - diag(1/iv.d) %*% iv %*% diag(1/iv.d)
         q <- NULL
         n <- nrow(v)
         for (i in 1:(n-1)) 
              q <- rbind( q, c(v[i, 1:i], iv[i,(i+1):n]) )
         q <- rbind( q, v[n, ] )
         diag(q) <- round(diag(q))
         q
    }
    d <- data[i, ]
    v <- pcorr(d)
    c(v[1,], v[2,], v[3,], v[4,])
}
frets.boot <- boot(log(as.matrix(frets)),  frets.fun,  R = 999)
plot(frets.boot, index = 7, jack = TRUE, stinf = FALSE, useJ = FALSE)

也可以看看

boot , jack.after.boot , print.boot

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Plots of the Output of a Bootstrap Simulation。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。