當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。