【问题标题】:Using for_loop to combine multiple subset datasets使用for_loop组合多个子集数据集
【发布时间】:2022-11-11 16:15:39
【问题描述】:

我想从 dflist 1-4 中选择相同的 3 个变量。 dflist 是包含我已经加载的 4 个数据集的列表。我写了一个代码来实现它。我的代码是这样的:

dfmul<-rbind(dflist[[1]][,c("siteid_public","childid_public","round")], 
                dflist[[2]][,c("siteid_public","childid_public","round")], 
                dflist[[3]][,c("siteid_public","childid_public","round")], 
                dflist[[4]][,c("siteid_public","childid_public","round")])

但这看起来很笨重而且效率不高。有人可以帮助弄清楚如何简化它吗?非常感谢~~!

【问题讨论】:

    标签: r for-loop


    【解决方案1】:

    您可以使用lapply 遍历您的列表,选择您的变量并绑定所有结果行。

    dfmul <- do.call(rbind, lapply(dflist, "[", c("siteid_public",
                                                  "childid_public",
                                                  "round")))
    

    【讨论】:

      【解决方案2】:

      另外的选择:

      library(tidyverse)
      
      dfmul <- map_dfr(dflist, ~select(.x, siteid_public, childid_publicm, round))
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-12-07
        • 2013-10-12
        • 2022-06-15
        • 1970-01-01
        • 1970-01-01
        • 2018-07-16
        • 1970-01-01
        相关资源
        最近更新 更多