用reduce
和left_join
来组合table_base
table_a
table_b
.
方法A可以工作,但必须输入对象名称,有点无聊.
方法B可以获取对象名称,但不能返回正确的结果,如何修复?谢谢!
library(tidyverse)
table_base <- data.frame(cat=c("a","b","c","d"))
table_a <- data.frame(cat=c("a","b"),
value=c(1,2))
table_b <- data.frame(cat=c("a","c","d"),
value=c(7,9,10))
# method A: ok, but have to input object name one by one in list
reduce(list(table_base,table_a,table_b),left_join,by='cat')
# method B: can't work
reduce(list(mget(ls(pattern="^table"))),left_join,by='cat')