Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在访问for循环中的元素时使用列表名?_R - Fatal编程技术网

如何在访问for循环中的元素时使用列表名?

如何在访问for循环中的元素时使用列表名?,r,R,我有一个矩阵列表,需要在for循环中分别访问名称和矩阵。我可以通过元素或名称访问列表,但是,这两种方法都不适合我。为了演示我的问题,我创建了一个玩具示例: # example list construction a <- matrix(c(1),nrow=3,ncol=3) b <- matrix(c(2),nrow=3,ncol=3) c <- matrix(c(3),nrow=3,ncol=3) my_list <- list("a"=a,"b"=b, "c"=c)

我有一个矩阵列表,需要在for循环中分别访问名称和矩阵。我可以通过元素或名称访问列表,但是,这两种方法都不适合我。为了演示我的问题,我创建了一个玩具示例:

# example list construction
a <- matrix(c(1),nrow=3,ncol=3)
b <- matrix(c(2),nrow=3,ncol=3)
c <- matrix(c(3),nrow=3,ncol=3)
my_list <- list("a"=a,"b"=b, "c"=c)
是否也可以将
收集
建立为矩阵或数据帧

collect <- c()

collect是否要返回循环中的列表$a、列表$b和列表$c
my_list[[i]]
而不是
my_list$i
,谢谢!如果一个人知道该做什么的话,R是很容易的。我尝试了
my_list[I]
,这给了我一个错误,因为
my_list[I]
我得到了列表的长度为1的子列表,而不是所需的元素。现在我甚至可以用旧名字建立一个新的列表(见我在原始帖子中的修订)。
# 2. approach (by list elements): name is not printed
for (i in my_list){
  print(names(i))
  s<-rowSums(i)
  print(s)
}
collect <- list()
for (i in names(my_list)){
  s<-rowSums(my_list[[i]])
  collect[[i]] <- c(s)
}
collect <- c()
  collect[[i]] <- c(s)
collect <- data.frame()
  collect[i] <- c(s)
  collect[[i]] <- c(s)
  collect$i <- c(s)