提问人:qed 提问时间:5/4/2013 最后编辑:zx8754qed 更新时间:9/7/2018 访问量:91335
将向量转换为列表,向量中的每个元素都作为列表中的一个元素
Convert a vector into a list, each element in the vector as an element in the list
问:
向量是这样的:
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
答:
145赞
qed
5/4/2013
#1
很简单,只需这样做:
as.list(c(1,2,3))
评论
0赞
Oleg Melnikov
11/20/2017
仅供参考:它似乎忽略了 中的 NULL 值。as.list(c(0, NULL,1))
1赞
Matt W.
1/3/2018
@OlegMelnikov你不能传递到一个向量中,如果这是你要找的,你可以传递。NULL
c()
NA
12赞
John
6/30/2018
#2
对公认的答案进行补充:如果您想将向量添加到较长列表中的其他元素中,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
上一个:创建 ID(行号)列
评论