Допустим, у нас есть пример, подобный этому, и примеры независимы,
library(boot)
set.seed(100)
x=rpois(100,3)
y=rpois(100,5)
Вы просто добавляете что-то еще к средней функции для выполнения bootstrap:
boot_x = boot(x,function(i,d)mean(i[d]),R=999)
boot.ci(boot_x,type="perc")
BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
Based on 999 bootstrap replicates
CALL :
boot.ci(boot.out = boot_x, type = "perc")
Intervals :
Level Percentile
95% ( 2.79, 3.39 )
boot_y = boot(y,function(i,d)mean(i[d]),R=999)
и так далее ...
Если наблюдения сопряжены и вас интересует разница, вы должны поместить их в data.frame и выполнить:
x=rpois(100,3)
y= x+ rnorm(100,2,1)
df = data.frame(x,y)
boot_df = boot(df,function(i,d)mean(i[d,1] - i[d,2]),R=999)