ベクトルをリストに変換し、ベクトルの各要素をリストの要素として


91

ベクトルは次のようなものです。

c(1,2,3)
#[1] 1 2 3

私はこのようなものが必要です:

list(1,2,3)
#[[1]]
#[1] 1
#
#[[2]]
#[1] 2
#
#[[3]]
#[1] 3

私はこれを試しました:

list(c(1,2,3))
#[[1]]
#[1] 1 2 3

回答:


125

シンプルです、これを実行してください:

as.list(c(1,2,3))

参考:のNULL値は無視されるようas.list(c(0, NULL,1))です。
Oleg Melnikov

1
@OlegMelnikovあなたはNULLベクトルc()に渡すことができません、それがNAあなたが探しているものならそれを渡すことができます。
Matt W.

4

受け入れられた答えへの追加:より長いリストの他の要素にベクトルを追加したい場合、as.list()は期待どおりの結果を生成しない可能性があります。たとえば、2つのテキスト要素と5つの数値要素(1:5)のベクトルを追加して、7要素の長さのリストを作成するとします。

L<-list("a","b",as.list(1:5)) 

エラー:3つの要素を持つリストを返し、3番目の要素には5つの要素のサブリストがあります。私たちが欲しかったものではありません!解決策は、2つの別個のリストを結合することです。

L1<-list("a","b")
L2<-as.list(1:5)
L<-c(L1,L2) #7 elements, as expected
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.