【问题标题】:Save datasets with different names in for loop in R在R中的for循环中保存具有不同名称的数据集
【发布时间】:2021-04-16 12:38:21
【问题描述】:

我正在尝试实现以下内容:

dataset_id_1 = subset(data, id == 1)
dataset_id_2 = subset(data, id == 2)
dataset_id_3 = subset(data, id == 3)

但是,我需要为超过 100 个 ID 执行此操作。我在生成左侧数据集的名称时遇到问题。我尝试了以下方法:

for (i in 1:120) {
  dataset_id_[[i]] = subset(data, id == i)
}

你知道如何根据指定的id来保存数据集的名称吗?

非常感谢

【问题讨论】:

    标签: r loops for-loop dataset


    【解决方案1】:

    尝试split + list2env 如下所示

    lst <- split(volping, volping$id)
    list2env(setNames(lst,paste0("dataset_id_",names(lst))), .GlobalEnv) 
    

    【讨论】:

      【解决方案2】:

      试试这个:

      #List
      List <- list()
      #Loop
      for (i in 1:120) {
        List[[i]] = subset(data, id == i)
      }
      #Names
      names(List) <- paste0('dataset_id_',1:length(List))
      #Set to envir
      list2env(List,envir = .GlobalEnv)
      

      【讨论】:

      • @TheCodeBanker 总是乐于助人,记住最好将数据存储在列表中,然后处理为数据帧。亲切的问候!
      【解决方案3】:

      试试这个

      for (i in 1:120) {
        assign(paste("dataset_id_", i),  subset(data, id == i) ) 
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-08-31
        • 1970-01-01
        • 2020-11-04
        • 1970-01-01
        • 1970-01-01
        • 2020-06-12
        • 2020-07-01
        相关资源
        最近更新 更多