R言語で、リストをベクトルにする方法について解説します。リストの操作は様々な方法がありますが、ここではtidyverseパッケージに含まれているpurrrパッケージのlist_simplify()を使用した方法についてお伝えします。
list_simplify()の概要
list_simplify()は、リストをアトミックまたはS3ベクトルに簡略化するための関数です。簡略化により、入力と出力の1対1の対応が維持されます。つまり、xの各要素には1要素のベクトルまたは1行のデータフレームが含まれている必要があります。この対応を維持したくない場合は、list_c()/list_rbind()またはlist_flatten()のいずれかが必要になります。
list_simplify()の使い方
purrr::list_simplify()の使い方は次になります。
list_simplify(x, ..., strict = TRUE, ptype = NULL)
list_simplify()の引数の意味
x
リストを指定します。
…
これらのドットは将来の拡張用であり、空である必要があります。
strict = TRUE
簡略化に失敗した場合にどうするかを指定します。
TRUEの場合はエラーになります。FALSEでptypeが指定されていない場合は、xを変更せずに返します。
ptype = NULL
出力タイプが常に同じであることを保証するオプションのプロトタイプを指定します。
準備
あらかじめ、tidyverseパッケージを読み込んでおきます。
library(tidyverse)
リストをベクトルにする
リストをベクトルにするには次のようにします。
x <- list(1, 10, 100)
list_simplify(x)
[1] 1 10 100
R×purrr::list_simplify リストをベクトルにする