벡터를 목록으로 변환하고, 벡터의 각 요소를 목록의 요소로 변환합니다.


92

벡터는 다음과 같습니다.

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

답변:


126

간단합니다.

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

참고 : .NET에서 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 개의 요소가있는 목록을 반환하고 세 번째 요소에는 5 개의 요소가있는 하위 목록이 있습니다. 우리가 원했던 것이 아닙니다! 해결책은 두 개의 개별 목록을 결합하는 것입니다.

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.