如何在R中通过DataFrame列指定bind_rows需合并的DataFrame?
解决方法
你的问题核心是:list(dfToc$fn)只是把"df1"、"df2"这类字符串包装成了列表的单个元素,但bind_rows需要的是实际的DataFrame对象,而非对象的名称字符串。
下面是两种可行的解决方式:
方法1:用mget()直接获取对象列表
mget()能根据字符向量从当前环境中提取对应的对象,直接生成DataFrame组成的列表,再传给bind_rows即可:
bind_rows(mget(dfToc$fn))
方法2:用purrr::map()遍历转换
借助tidyverse自带的purrr包,通过map()把每个字符串名称转换成对应的DataFrame对象:
bind_rows(map(dfToc$fn, get))
以上两种方法都能得到和显式写list(df1, df2)完全一致的合并结果。
内容的提问来源于stack exchange,提问作者David
相关产品推荐
相关产品推荐

