我有一个清单
list1 <- list()
和两个序列
seq1 <- seq(10, 1000, by = 10)
seq2 <- seq(2, 10, by = 10)
我想循环两个序列,例如
for(i in seq1){
for(j in seq2){
########
# code #
########
}
}
,以便使用seq1和seq2的不同组合创建不同的列表。 我需要一个包含多个包含不同组合的列表的列表,例如
list1具有多个列表,这些列表具有不同的seq1和seq2组合(((10,2),(10,4)...)
答案 0 :(得分:2)
有更有效的方法可以实现目标,但是,如果您更愿意通过for-loop
来实现目标,则可以尝试
for(i in seq1){
for(j in seq2){
list1[[length(list1)+1]] <- c(i,j)
}
}
如此
> head(list1)
[[1]]
[1] 10 2
[[2]]
[1] 20 2
[[3]]
[1] 30 2
[[4]]
[1] 40 2
[[5]]
[1] 50 2
[[6]]
[1] 60 2
答案 1 :(得分:1)
您可以使用expand.grid
来包含两个向量的组合:
expand.grid(seq1, seq2)
具有组合列表:
list1 <- expand.grid(seq1, seq2)
split(list1, seq(nrow(list1)))
要删除列名称,请改用:
split(as.matrix(list1), row(list1))