一次提取两行并将其放入列表中

时间:2017-03-16 17:52:04

标签: r

我需要一次提取两行并将其放入列表中。基本上我有一个程序的输出,它给了我大约50个2x2矩阵作为数据(数据100中的行数),我需要提取每个矩阵以便稍后进行计算。这是一些模拟数据和我尝试过的。我做错了什么。它只是给了我最后一行。

dat <- matrix(1:12, 6, 2, byrow = TRUE)
dat
       #[,1] [,2]
 # [1,]    1    2
 # [2,]    3    4
 # [3,]    5    6
 # [4,]    7    8
 # [5,]    9   10
#  [6,]   11   12


# This is what I want my list to look like

  list(dat[1:2,],dat[3:4,],dat[5:6,])

 #   [[1]]
  #       [,1] [,2]
  #  [1,]    1    2
   # [2,]    3    4

#  [[2]]
#       [,1] [,2]
 # [1,]    5    6
 # [2,]    7    8

#  [[3]]
 #      [,1] [,2]
#  [1,]    9   10
 # [2,]   11   12


  # I tried the following
list<-list()
 l<-NULL
 for (i in 1:nrow(dat)-1)
 {
   l<-dat[i:i+1,]

   list<-list(rbind(l,l))
 }
 list
 # [[1]]
  #  [,1] [,2]
 # l   11   12
 # l   11   12

0 个答案:

没有答案