Skip to contents

Generate a new, resampled dataset of the same shape as data following the given model. The covariates are resampled from data$x and the response variables are drawn according to model$sample_yx().

Usage

resample_param_rsmplx(data, model)

Arguments

data

data.frame() with columns x and y containing the original data

model

ParamRegrModel to use for the resampling

Value

data.frame() with columns x and y containing the resampled data

Examples

# Create an example dataset
n <- 10
x <- cbind(runif(n), rbinom(n, 1, 0.5))
model <- NormalGLM$new()
params <- list(beta = c(2, 3), sd = 1)
y <- model$sample_yx(x, params = params)
data <- dplyr::tibble(x = x, y = y)

# Fit the model to the data
model$fit(data, params_init = params, inplace = TRUE)

# Resample from the model given data
resample_param(data, model)
#> # A tibble: 10 × 2
#>    x[,1]  [,2]      y
#>    <dbl> <dbl>  <dbl>
#>  1 0.600     1 4.92  
#>  2 0.964     1 5.44  
#>  3 0.561     0 0.832 
#>  4 0.793     0 1.61  
#>  5 0.689     0 0.0488
#>  6 0.936     0 2.58  
#>  7 0.703     0 1.45  
#>  8 0.472     0 0.352 
#>  9 0.418     1 4.89  
#> 10 0.882     0 2.46