デフォルトのmerge関数では、2つのデータフレームまでしか結合できないので、3つ以上のデータフレームを結合する関数を定義する。
#merge2関数を定義
merge2 <- function(dfs, ...)
{
base <- dfs[1]
lapply(dfs[-1], function(i) base <<- merge(base, i, ...))
return(base)
}
上記の関数を用いて、複数のデータフレームをリストとして与え、結合
merged_df <- merge2(list(df1, df2, df3), by="ID", sort=T, all=T)
他のオプションなどは、merge関数の説明を参照。
Comments