【发布时间】:2020-01-30 05:52:31
【问题描述】:
我希望在 R 中创建一个用户函数,它合并多个使用正则表达式查找这些表的表。在我的情况下,我想合并环境中以“m_”开头的所有表。
这正是我想要的:
Reduce(function(...) merge(..., all = TRUE), mget(apropos("^m_")))
但是当我尝试将此代码转换为用户函数时它不起作用:
multi.merge <- function(...){
x <- Reduce(function(...) merge(..., all = TRUE), mget(apropos(...))
return(x)
}
dt <- multi.merge("^m_")
错误:找不到“m_table1”的值
我尝试过使用不同的函数,例如get0 或syms,但不同的语法最终会导致相同的错误。我怀疑这只是与我不理解的函数结构中的问题有关。
有什么办法可以做到吗?
【问题讨论】: