我有一个我想要转换为列表的命名向量,如下所示:
a = 1:10
names(a) = letters[1:10]
as.list(a)
$a
[1] 1
$b
[1] 2
$c
[1] 3
这里,每个向量的名称现在是列表的名称,但是我需要列表中的向量来保留它们的名称,如下所示:
as.list(a)
$a
a
1
$b
b
2
$c
c
3
有什么想法吗?谢谢!
答案 0 :(得分:3)
您可以使用split()
。
split(a, names(a))
答案 1 :(得分:0)
继续使用as.list
后的一个选项是使用names
vector
的相应Map
元素的名称
Map(setNames, as.list(a), names(a))
#$a
#a
#1
#$b
#b
#2
#$c
#c
#3
#$d
#d
#4
#$e
#e
#5
#$f
#f
#6
#$g
#g
#7
#$h
#h
#8
#$i
#i
#9
#$j
# j
#10