【发布时间】:2013-05-03 16:47:44
【问题描述】:
向量是这样的:
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
【问题讨论】:
向量是这样的:
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
【问题讨论】:
简单,只需这样做:
as.list(c(1,2,3))
【讨论】:
as.list(c(0, NULL,1)) 中的 NULL 值。
NULL 传递给一个向量c(),你可以传递NA,如果那是你要找的。span>
对已接受答案的补充:如果您想将向量添加到较长列表中的其他元素, 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
【讨论】: