R:如何使用成对的开始、结束行序列序列创建 data.table 的动态子集
R: How to create dynamic subsets of data.table with a paired sequence of start, end row sequences
即根据行索引
将数据 Table 拆分为动态数量的可变块
我正在尝试按行索引将 data.table 分成块。
数据是动态的,块的数量可能会发生变化且大小可能会有所不同。
例如:
MyDT是一个2675行98列的数据table。
我已经确定对于这个数据集,我希望第 3-796、802-857、936-952 和 1206-2623 行作为它们自己单独的块,我可以 call/save 作为单独的 variable/etc.
我希望脚本是动态的,不需要手动输入索引。我目前可以找到任何长度和数量的块,但我无法将它们导出到干净的 array/list。 IE。块 1 是 DAT[1] ,块 2 是 DAT[2] ,依此类推
[好奇的背景,我正在将数据从一台仪器导入 R,该仪器将来自多个实验的数据输出到一个“混乱”的文本文件中。我将数字矩阵形式的数据与其余的杂乱输出分开。有时我的数据文件包含来自 2 个实验、3 个、4 个等的信息...]
如果我们想将它存储在 list
中,创建一个 'start'、'end' 向量序列,使用它来将 data.table 与 [=12] 子集化=]
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)
即根据行索引
将数据 Table 拆分为动态数量的可变块我正在尝试按行索引将 data.table 分成块。
数据是动态的,块的数量可能会发生变化且大小可能会有所不同。
例如:
MyDT是一个2675行98列的数据table。
我已经确定对于这个数据集,我希望第 3-796、802-857、936-952 和 1206-2623 行作为它们自己单独的块,我可以 call/save 作为单独的 variable/etc.
我希望脚本是动态的,不需要手动输入索引。我目前可以找到任何长度和数量的块,但我无法将它们导出到干净的 array/list。 IE。块 1 是 DAT[1] ,块 2 是 DAT[2] ,依此类推
[好奇的背景,我正在将数据从一台仪器导入 R,该仪器将来自多个实验的数据输出到一个“混乱”的文本文件中。我将数字矩阵形式的数据与其余的杂乱输出分开。有时我的数据文件包含来自 2 个实验、3 个、4 个等的信息...]
如果我们想将它存储在 list
中,创建一个 'start'、'end' 向量序列,使用它来将 data.table 与 [=12] 子集化=]
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)