即根据行索引将数据表拆分为可变块的动态数量
我正在尝试按行索引将数据表拆分为块。
数据是动态的,块的数量可能会发生变化并且大小会有所不同。
例如:
MyDT 是一个 2675 行、98 列的数据表。
我已经确定,对于这个数据集,我希望第 3-796、802-857、936-952 和 1206-2623 行作为它们自己的单独块,我可以调用/保存为单独的变量/等。
我希望脚本是动态的,不需要手动输入索引。我目前可以找到任何长度和数量的块,我只是无法将它们导出到干净的数组/列表中。即块 1 是 DAT[1],块 2 是 DAT[2],依此类推
[背景 好奇的是,我正在将数据从一台仪器导入 R,该仪器将其来自多个实验的数据输出到一个"凌乱"的文本文件中。我正在将数字、矩阵形式的数据与其余杂乱的输出分开。有时我的数据文件包含来自 2 个实验、3、4 等的信息......
如果我们想将其存储在list
中,请创建一个"开始","结束"向量序列,使用它来子集data.tableMap
library(data.table)
start <- c(3, 802, 936, 1206)
end <- c(796, 857, 952, 2623)
lst_out <- Map(function(i, j) MyDT[i:j], start, end)