Split a data frame into multiple data sets according to the specified ratios.

split_df(dt, y = NULL, ratios = c(0.7, 0.3), name_dfs = c("train",
  "test"), seed = 618, ...)

Arguments

dt

A data frame.

y

Name of y variable, Defaults to NULL. The input data will split based on the predictor y, if it is provide.

ratios

A numeric vector indicating the ratio of total rows contained in each split, defaults to c(0.7, 0.3).

name_dfs

Name of returned data frames. Its length should equals to the ratios'. Defaults to train and test.

seed

A random seed, Defaults to 618.

...

Additional parameters.

Value

A list of data frames

Examples

# load German credit data data(germancredit) # Example I dt_list = split_df(germancredit, y="creditability") # dimensions of each split data sets lapply(dt_list, dim)
#> $train #> [1] 681 21 #> #> $test #> [1] 319 21 #>
# Example II dt_list2 = split_df(germancredit, y="creditability", ratios = c(0.5, 0.3, 0.2), name_dfs = c('train', 'test', 'valid')) lapply(dt_list2, dim)
#> $train #> [1] 491 21 #> #> $test #> [1] 298 21 #> #> $valid #> [1] 211 21 #>