【问题标题】:For loop to create new objects in RFor循环在R中创建新对象
【发布时间】:2021-05-08 18:55:46
【问题描述】:

我正在尝试为“类别”列中的每个项目创建新对象。

rs_ <- regular_season %>% filter(user_id > 0)
unique_categories <- unique(regular_season$category)

for (i in unique_categories)
  rs_[i] <- regular_season %>% filter(category %in% unique_categories)

我尝试创建一个模板对象“rs_”,我将迭代地添加到它(它本质上是带有空条件的数据集,只是它不会简单地重命名数据集)。有人可以告诉我如何更好地做到这一点吗?

我已经查看了一些其他问题,这些问题建议使用列表等其他内容,但是(当然对 R 了解不多)对于列中的项目数,for 循环似乎并不可怕,并且无论如何,我在弄清楚如何使用列表时遇到了一些麻烦。

【问题讨论】:

    标签: r for-loop


    【解决方案1】:

    我们可以使用assign

    for(i in unique_categories) {
          assign(i, regular_season %>%
                filter(category %in% i)
      }
    

    或者另一个选项是splitlist2env

    list2env(split(regular_season, regular_season$category), 
            .GlobalEnv)
    

    【讨论】:

    • 谢谢@akrun,这很有帮助!网站不让我接受你的回答,但我会在允许时接受,大约 10 分钟
    猜你喜欢
    • 2016-07-11
    • 1970-01-01
    • 2020-08-03
    • 1970-01-01
    • 1970-01-01
    • 2012-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多