1
我有一个相当大的数据集,我想创建该特定数据集的n个子集。我知道每个子集的起点和终点(每个子集的起点和终点分别位于称为“开始”和“结束”的两个不同向量中)。如何使用循环创建数据集的多个子集?
我可以通过输入手动创建一个子集:
Dataset_n < - 数据集[开始[N]:[n]结束,]
然而,由于需要创建许多不同的子集,这是一个相当乏味的过程。
有没有办法通过使用可能的循环自动化?
我有一个相当大的数据集,我想创建该特定数据集的n个子集。我知道每个子集的起点和终点(每个子集的起点和终点分别位于称为“开始”和“结束”的两个不同向量中)。如何使用循环创建数据集的多个子集?
我可以通过输入手动创建一个子集:
Dataset_n < - 数据集[开始[N]:[n]结束,]
然而,由于需要创建许多不同的子集,这是一个相当乏味的过程。
有没有办法通过使用可能的循环自动化?
我们可以使用Map
从“开始”和“结束”的每个对应的元素创建序列中的list
lst <- Map(function(x, y) Dataset[x:y,], start, ends)
打造“数据集”的子集或这是可以做到通过的“开始”,然后将序列循环子集基于所述索引子集和所述“数据集”
lst <- lapply(seq_along(start), function(i) Dataset[start[i]:ends[i],])
或者,这可以用for
循环通过初始化一个list
来完成,然后将子集分配给list
元素
lst <- vector("list", length(start))
for(i in seq_along(start)) {
lst[[i]] <- Dataset[start[i]:ends[i], ]
}