是否有R函数删除列表的元素并将所有元素存储在另一个列表中

问题描述 投票:0回答:1

我在列表中有3个数据集,我想使用测试数据和训练数据的所有组合来构建模型。例如:

  • 模型1:火车数据-1,2,测试数据-3
  • 模型2:火车数据-1,3,测试数据-2
  • 模型3:火车数据-2,3,测试数据-1

我现在使用的方法费力且不明智。这是一个示例,我的问题是,如何使该过程自动化?

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
r combinations permutation
1个回答
0
投票

我们可以使用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])
© www.soinside.com 2019 - 2024. All rights reserved.