Often you will resample a dataset hundreds or thousands of times. Storing the complete resample each time would be very inefficient so this class instead stores a "pointer" to the original dataset, and a vector of row indexes. To turn this into a regular data frame, call as.data.frame, to extract the indices, use as.integer.

resample(data, idx)

Arguments

data

The data frame

idx

A vector of integer indexes indicating which rows have been selected. These values should lie between 1 and nrow(data) but they are not checked by this function in the interests of performance.

Examples

resample(mtcars, 1:10)
#> <resample [10 x 11]> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
b <- resample_bootstrap(mtcars) b
#> <resample [32 x 11]> 25, 1, 18, 16, 2, 23, 27, 25, 7, 12, ...
as.integer(b)
#> [1] 25 1 18 16 2 23 27 25 7 12 28 3 1 5 28 3 21 8 5 3 32 3 8 28 28 #> [26] 1 14 9 15 18 13 21
as.data.frame(b)
#> mpg cyl disp hp drat wt qsec vs am gear carb #> Pontiac Firebird 19.2 8 400.0 175 3.08 3.845 17.05 0 0 3 2 #> Mazda RX4 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4 #> Fiat 128 32.4 4 78.7 66 4.08 2.200 19.47 1 1 4 1 #> Lincoln Continental 10.4 8 460.0 215 3.00 5.424 17.82 0 0 3 4 #> Mazda RX4 Wag 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4 #> AMC Javelin 15.2 8 304.0 150 3.15 3.435 17.30 0 0 3 2 #> Porsche 914-2 26.0 4 120.3 91 4.43 2.140 16.70 0 1 5 2 #> Pontiac Firebird.1 19.2 8 400.0 175 3.08 3.845 17.05 0 0 3 2 #> Duster 360 14.3 8 360.0 245 3.21 3.570 15.84 0 0 3 4 #> Merc 450SE 16.4 8 275.8 180 3.07 4.070 17.40 0 0 3 3 #> Lotus Europa 30.4 4 95.1 113 3.77 1.513 16.90 1 1 5 2 #> Datsun 710 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1 #> Mazda RX4.1 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4 #> Hornet Sportabout 18.7 8 360.0 175 3.15 3.440 17.02 0 0 3 2 #> Lotus Europa.1 30.4 4 95.1 113 3.77 1.513 16.90 1 1 5 2 #> Datsun 710.1 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1 #> Toyota Corona 21.5 4 120.1 97 3.70 2.465 20.01 1 0 3 1 #> Merc 240D 24.4 4 146.7 62 3.69 3.190 20.00 1 0 4 2 #> Hornet Sportabout.1 18.7 8 360.0 175 3.15 3.440 17.02 0 0 3 2 #> Datsun 710.2 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1 #> Volvo 142E 21.4 4 121.0 109 4.11 2.780 18.60 1 1 4 2 #> Datsun 710.3 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1 #> Merc 240D.1 24.4 4 146.7 62 3.69 3.190 20.00 1 0 4 2 #> Lotus Europa.2 30.4 4 95.1 113 3.77 1.513 16.90 1 1 5 2 #> Lotus Europa.3 30.4 4 95.1 113 3.77 1.513 16.90 1 1 5 2 #> Mazda RX4.2 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4 #> Merc 450SLC 15.2 8 275.8 180 3.07 3.780 18.00 0 0 3 3 #> Merc 230 22.8 4 140.8 95 3.92 3.150 22.90 1 0 4 2 #> Cadillac Fleetwood 10.4 8 472.0 205 2.93 5.250 17.98 0 0 3 4 #> Fiat 128.1 32.4 4 78.7 66 4.08 2.200 19.47 1 1 4 1 #> Merc 450SL 17.3 8 275.8 180 3.07 3.730 17.60 0 0 3 3 #> Toyota Corona.1 21.5 4 120.1 97 3.70 2.465 20.01 1 0 3 1
# Many modelling functions will do the coercion for you, so you can # use a resample object directly in the data argument lm(mpg ~ wt, data = b)
#> #> Call: #> lm(formula = mpg ~ wt, data = b) #> #> Coefficients: #> (Intercept) wt #> 37.194 -5.248 #>