循环遍历r中的数据帧

时间:2015-03-17 15:22:25

标签: r list

我有一个包含205个不同data.frames的列表。每个数据框包含 205 列和 150

我想遍历每个数据框并选择一组行并将其保存在另一个列表中。

包含205个数据框的列表看起来像这样,但每个数据框中都有不同的行名和列号

list1[[1]]

         S48      S55      S58      S63      S81      S82              
 201501 3.882404 4.431433 4.208048 3.804576 4.619146 4.491193           
 5909   5.073869 6.164607 4.795546 4.344407 4.673163 5.185577 
 1056   6.099640 5.761811 5.653437 4.442167 6.943914 8.2185407
 90993  6.767227 6.744791 5.995674 6.064480 6.599200 6.461070 
 51268  5.849200 5.049686 4.806815 4.115414 5.216890 5.277743

我最终想要的是list1中每个数据帧的输出(但直到我得到150行的子集)

         S48      S55      S58      S63      S81      S82              
 201501 3.882404 4.431433 4.208048 3.804576 4.619146 4.491193           
 5909   5.073869 6.164607 4.795546 4.344407 4.673163 5.185577 

         S48      S55      S58      S63      S81      S82              
 201501 3.882404 4.431433 4.208048 3.804576 4.619146 4.491193           
 5909   5.073869 6.164607 4.795546 4.344407 4.673163 5.185577 
 1056   6.099640 5.761811 5.653437 4.442167 6.943914 8.2185407

         S48      S55      S58      S63      S81      S82              
 201501 3.882404 4.431433 4.208048 3.804576 4.619146 4.491193           
 5909   5.073869 6.164607 4.795546 4.344407 4.673163 5.185577 
 1056   6.099640 5.761811 5.653437 4.442167 6.943914 8.2185407
 90993  6.767227 6.744791 5.995674 6.064480 6.599200 6.461070 

         S48      S55      S58      S63      S81      S82              
 201501 3.882404 4.431433 4.208048 3.804576 4.619146 4.491193           
 5909   5.073869 6.164607 4.795546 4.344407 4.673163 5.185577 
 1056   6.099640 5.761811 5.653437 4.442167 6.943914 8.2185407
 90993  6.767227 6.744791 5.995674 6.064480 6.599200 6.461070 
 51268  5.849200 5.049686 4.806815 4.115414 5.216890 5.277743

等。等

我想将所有这些数据帧保存在列表中 所以最终我将有205个列表(包含数据帧子集的列表,如上面的数据),我想将这205个列表保存在一个列表中

这是我所拥有的代码

newlist = list()

for (i in 1:205) {
        newlist[[i]] <- lapply(seq(2,150), function(x) list1[[i]][1:x,])
 }

代码可以工作,但每次进入循环时都会占用大量内存。在我运行时导致终止R会话错误。

有没有更好的解决方案,这不需要那么多内存?

0 个答案:

没有答案