R:如何创建具有开始、结束行序列配对序列的 data.table 的动态子集



即根据行索引将数据表拆分为可变块的动态数量

我正在尝试按行索引将数据表拆分为块。

数据是动态的,块的数量可能会发生变化并且大小会有所不同。

例如:

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)

最新更新