【问题标题】:R performing r rbind on dataframes some of which are emptyR 在其中一些为空的数据帧上执行 r rbind
【发布时间】:2020-11-17 20:14:28
【问题描述】:

我有许多数据框想要连接在一起。问题是其中一些有时可能是空的,这会产生错误消息

例如,如果 df3 为空

rbind(df1, df2, df3)

给出错误信息

错误:找不到对象“df3”

如何让 rbind 忽略空数据帧,只绑定存在的数据帧。 感谢您的帮助。

【问题讨论】:

    标签: r dataframe rbind


    【解决方案1】:

    我们可以将数据集加载到list 并使用bind_rows。优点是只有那些在全局环境中创建的数据集才会被加载

    library(dplyr)
    mget(ls(pattern ='^df\\d+$')) %>%
       bind_rows
    

    或者另一种选择是使用exists 创建一个条件

    do.call(rbind, lapply(paste0("df", 1:3), function(x)
              if(exists(x, .GlobalEnv)) get(x) else NULL))
    

    【讨论】:

      猜你喜欢
      • 2019-11-05
      • 2022-10-02
      • 1970-01-01
      • 2018-06-21
      • 1970-01-01
      • 2014-08-13
      • 2017-08-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多