繁体   English   中英

在for循环R中存储具有不同值的列表

[英]Storing lists with different values inside a for loop R

我有一个清单

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)...)

有更有效的方法可以实现您的目标,但是如果您更喜欢通过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

您可以使用expand.grid来具有两个向量的组合:

expand.grid(seq1, seq2)

拥有组合列表:

list1 <- expand.grid(seq1, seq2)
split(list1, seq(nrow(list1)))

要删除列名,请改用:

split(as.matrix(list1), row(list1))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM