regularize_data {MagmaClustR} | R Documentation |
Regularise a grid of inputs in a dataset
Description
Modify the original grid of inputs to make it more 'regular' (in the sense that the interval between each observation is constant, or corresponds to a specific pattern defined by the user). In particular, this function can also be used to summarise several data points into one, at a specific location. In this case, the output values are averaged according to the 'summarise_fct' argument.
Usage
regularize_data(
data,
size_grid = 30,
grid_inputs = NULL,
summarise_fct = base::mean
)
regularise_data(
data,
size_grid = 30,
grid_inputs = NULL,
summarise_fct = base::mean
)
Arguments
data |
A tibble or data frame. Required columns: |
size_grid |
An integer, which indicates the number of equispaced points each column must contain. Each original input value will be collapsed to the closest point of the new regular grid, and the associated outputs are averaged using the 'summarise_fct' function. This argument is used when 'grid_inputs' is left to 'NULL'. Default value is 30. |
grid_inputs |
A data frame, corresponding to a pre-defined grid of
inputs according to which we want to regularise a dataset. Column names
must be similar to those appearing in |
summarise_fct |
A character string or a function. If several similar inputs are associated with different outputs, the user can choose the summarising function for the output among the following: min, max, mean, median. A custom function can be defined if necessary. Default is "mean". |
Value
A data frame, where input columns have been regularised as desired.
Examples
data = tibble::tibble(ID = 1, Input = 0:100, Output = -50:50)
## Define a 1D input grid of 10 points
regularize_data(data, size_grid = 10)
## Define a 1D custom grid
my_grid = tibble::tibble(Input = c(5, 10, 25, 50, 100))
regularize_data(data, grid_inputs = my_grid)
## Define a 2D input grid of 5x5 points
data_2D = cbind(ID = 1, expand.grid(Input=1:10, Input2=1:10), Output = 1:100)
regularize_data(data_2D, size_grid = 5)
## Define a 2D custom input grid
my_grid_2D = MagmaClustR::expand_grid_inputs(c(2, 4, 8), 'Input2' = c(3, 5))
regularize_data(data_2D, grid_inputs = my_grid_2D)