Функция для переноса отдельных складок в глобальную среду после каретки :: createFolds - PullRequest
0 голосов
/ 02 июня 2018

Я хотел бы внести отдельные складки в глобальную среду после использования caret::createFolds.Рабочий пример приведен ниже.

# Load libraries 

library(tibble)
library(caret)


# Set the seed so example is reproducible     

set.seed(123)


# Create example data set

df1 <- tibble(id      = seq(1, 100, by = 1),
              gender  = as.factor(rbinom(n = 100, size = 1, prob = 0.50)),
              working = as.factor(rbinom(n = 100, size = 1, prob = 0.40)),
              pweight = sample(50:500, 100,  replace   = TRUE))

# Create 5 folds

folds <- createFolds(df1$id, k = 5)

Это создает 5 наборов данных с 20 наблюдениями в каждом, как и ожидалось.Теперь я хотел бы перенести каждый из этих наборов данных в глобальную среду.Я могу сделать это индивидуально с помощью следующих команд:

fold1 <- df1[folds[[1]], ]
fold2 <- df1[folds[[2]], ]
fold3 <- df1[folds[[3]], ]
fold4 <- df1[folds[[4]], ]
fold5 <- df1[folds[[5]], ]

Но я хотел бы написать функцию или цикл, чтобы сделать это более кратко.В моем реальном примере у меня 20 сгибов, так что это довольно много кода.Мне бы хотелось, чтобы сгибы были именами последовательно (то есть, fold1, fold2, fold3 и т. Д.).

Я пытался list2env(folds, envir = .GlobalEnv), но это не приводит отдельные наборы данных в глобальную среду.

Я все еще учусь, как наилучшим образом использовать функции, поэтому любое объяснение также будет высоко ценится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...