我在列表中有3个数据集,我想使用测试数据和训练数据的所有组合来构建模型。例如:
我现在使用的方法费力且不明智。这是一个示例,我的问题是,如何使该过程自动化?
Day1 <- data.frame(x = c(1,2,3))
Day2 <- data.frame(x = c(4,5,6))
Day3 <- data.frame(x = c(7,8,9))
Days <- list(Day1,Day2,Day3)
Test <- list()
Train <- list()
Train[[1]] <- bind_rows(Day1, Day2)
Test[[1]] <- Day3
Train[[2]] <- bind_Rows(Day1,Day3)
Test[[2]] <- Day2
Train[[3]] <- bind_rows(Day2,Day3)
Test[[3]] <- Day1
我们可以使用combn
train_inds <- combn(seq_along(Days), 2, simplify = FALSE)
Train <- lapply(train_inds, function(x) dplyr::bind_rows(Days[x]))
Test <- sapply(train_inds, function(x) Days[-x])