web-dev-qa-db-ja.com

リストをベクトルに変換するより良い方法は?

名前付きの値のリストがあります:

myList <- list('A'=1, 'B'=2, 'C'=3)

値が1:3のベクターが必要です

関数を定義せずに値を抽出する方法がわかりません。私が知らない簡単な方法はありますか?

library(plyr)
myvector <- laply(myList, function(x) x)

名前を取り除き、それをベクトルとして返すmyList$Valuesに似たものはありますか?

33
sharoz

use.names = FALSE引数とともにunlistを使用します。

unlist(myList, use.names=FALSE)
78
Arun

purrr::flatten_*()も良いオプションです。 flatten_*関数は、シンサニティチェックを追加し、型の安全性を確保します。

myList <- list('A'=1, 'B'=2, 'C'=3)

purrr::flatten_dbl(myList)
## [1] 1 2 3
14
hrbrmstr

これは、as.vectorの前にunlistを使用して実行できます。結果は、パラメータuse.names=FALSEを使用した場合と同じです。

as.vector(unlist(myList))
1
canevae