R言語で、リスト内のデータフレームを列方向に結合する方法について解説します。リストの操作は様々な方法がありますが、ここではtidyverseパッケージに含まれているpurrrパッケージのlist_cbind()を使用した方法についてお伝えします。
list_cbind()の概要
list_cbind()は、リスト内のデータフレームを列方向に結合するための関数です。list_cbind()は、vctrs::vec_cbind()を使用して要素を列に結合することにより、要素をデータフレームに結合します。
list_cbind()の使い方
purrr::list_cbind()の使い方は次になります。
list_cbind(
x,
...,
name_repair = c("unique", "universal", "check_unique"),
size = NULL
)
list_cbind()の引数の意味
x
リストを指定します。リストにはデータフレームまたはNULLのみが含まれている必要があります。
…
これらのドットは将来の拡張用であり、空である必要があります。
name_repair = c(“unique”, “universal”, “check_unique”)
「unique」、「universal」、「check_unique」のいずれかを指定します。
- unique: 重複した列名は、一意になるように接尾辞(サフィックス)が追加されます
- universal: 構文の規則に従う一意的な列名を割り当てることで、エラーを発生させません
- check_unique: 列名の修復は実行さず、代わりに列名が「unique」基準に適合しない場合はエラーが発生します
size = NULL
すべての入力が同じサイズ(行数)になるようにするためのオプションの整数サイズを指定します。
準備
あらかじめ、tidyverseパッケージを読み込んでおきます。
library(tidyverse)
解説のために、次のリストを使用します。
x <- list(
x1 = data.frame(a = 1:10),
x2 = data.frame(b = letters[1:10])
)
リスト内のデータフレームを列方向に結合する
リスト内のデータフレームを列方向に結合するには次のようにします。
list_cbind(x)
a b
1 1 a
2 2 b
3 3 c
4 4 d
5 5 e
6 6 f
7 7 g
8 8 h
9 9 i
10 10 j
R×purrr::list_cbind リスト内のデータフレームを列方向に結合する