我有一个包含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会话错误。
有没有更好的解决方案,这不需要那么多内存?