【问题标题】:How to create multiple subsets of a dataset using a loop?如何使用循环创建数据集的多个子集?
【发布时间】:2017-07-23 20:27:45
【问题描述】:

我有一个相当大的数据集,我想创建该特定数据集的 n 个子集。

我知道每个子集的起点和终点(每个子集的起点和终点位于两个不同的向量中,分别称为“起点”和“终点”)。

我可以通过输入手动创建一个子集:

Dataset_n

但是,由于我需要创建许多不同的子集,这是一个相当乏味的过程。

有没有办法通过使用循环来自动执行此操作?

【问题讨论】:

    标签: r loops dataframe


    【解决方案1】:

    我们可以使用Map从'start'和'end'的每个对应元素创建序列,以在list中创建'Dataset'的子集

    lst <- Map(function(x, y) Dataset[x:y,], start, ends)
    

    或者这可以通过循环'start'的序列来完成,然后根据索引和子集'Dataset'进行子集

    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], ]
     }
    

    【讨论】:

      猜你喜欢
      • 2020-04-28
      • 2017-05-09
      • 1970-01-01
      • 2018-09-15
      • 1970-01-01
      • 2013-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多