R言語で、リスト要素を単一のデータ構造に結合する方法について解説します。リストの操作は様々な方法がありますが、ここではtidyverseパッケージに含まれているpurrrパッケージのlist_c()を使用した方法についてお伝えします。

list_c()の概要

list_cbind()は、リスト要素を単一のデータ構造に結合するための関数です。list_c()は、vctrs::vec_c()を使用して要素を連結し、ベクトルに結合します。

list_c()の使い方

purrr::list_c()の使い方は次になります。


list_c(x, ..., ptype = NULL)

list_c()の引数の意味

x

リストを指定します。

これらのドットは将来の拡張用であり、空である必要があります。

ptype = NULL

出力タイプが常に同じであることを保証するオプションのプロトタイプを指定します。

準備

あらかじめ、tidyverseパッケージを読み込んでおきます。


library(tidyverse)

リスト内のデータフレームを結合する

リスト内のデータフレームを結合するには次のようにします。


x <- list(
    x1 = data.frame(a = 1:10),
    x2 = data.frame(b = letters[1:10])
  )
list_c(x)

    a    b
1   1 <NA>
2   2 <NA>
3   3 <NA>
4   4 <NA>
5   5 <NA>
6   6 <NA>
7   7 <NA>
8   8 <NA>
9   9 <NA>
10 10 <NA>
11 NA    a
12 NA    b
13 NA    c
14 NA    d
15 NA    e
16 NA    f
17 NA    g
18 NA    h
19 NA    i
20 NA    j

リスト内のベクトルを結合する

リスト内のベクトルを結合するには次のようにします。


y <- list(
    y1 =  1:10,
    y2 = 20:25
  )
list_c(y)

 [1]  1  2  3  4  5  6  7  8  9 10 20 21 22 23 24 25
R×purrr::list_c リスト要素を単一のデータ構造に結合する