在R中使用2个不同的索引进行循环

时间:2018-08-20 22:01:26

标签: r

我创建一个名为list_ok的列表:

 list_ok <- list()
 a=c(1,2,3,4,5)
 b=c(6,7,8,9,10)
 c=c(11,12,13,14,15)
 d=c(16, 17, 18, 19, 20)
 e=c(21,22,23,24,25)

 list_ok[[1]]=a
 list_ok[[2]]=b
 list_ok[[3]]=c
 list_ok[[4]]=d
 list_ok[[5]]=e

我要在下面使用此列表来重新创建列表list_ok。它很奇怪,但是我会在另一个练习中使用这个想法,它比这个要大得多:

new_list <- list()

for (i in 1:5) {
  for(k in 1:5) {     
    new_list <- list_ok[[i]][[k]]
  }
}

我面临的最大问题是知道如何使用两个不同的索引ik处理。您如何处理?

我也一直在考虑lapply函数,但是它没有用。

有帮助吗?

2 个答案:

答案 0 :(得分:1)

尝试此操作,首先创建一个对象[ts] Module '"/Users/laurenhesterman/Desktop/StormSensor/front- stormsensor/node_modules/@angular/http/index"' has no exported member ' HttpModule'. 来分配值,然后使用new_list以及[中的每个索引ik来填充{{ 1}},并从new_list[[i]][k]

中提取这些值
new_list

答案 1 :(得分:0)

我不知道您要做什么,但我会在这里使用lapply:来代替嵌套循环:

 lapply(seq(1,21,5), function(x) x:(x+4))
 # alternatively: lapply(seq(1,21,5), seq, length.out=5)

 # or with names:
 setNames(lapply(seq(1,21,5), function(x) x:(x+4)), letters[1:5])

 # output:

$a
[1] 1 2 3 4 5

$b
[1]  6  7  8  9 10

$c
[1] 11 12 13 14 15

$d
[1] 16 17 18 19 20

$e
[1] 21 22 23 24 25