我有以下代码
n <- list(1,2,3)
str(n)
输出
> str(n)
List of 3
$ : num 1
$ : num 2
$ : num 3
我想要其中的100个,但当我这样做时
n <- list(1:100)
str(n)
我得到了
List of 1
$ : int [1:100] 1 2 3 4 5 6 7 8 9 10 ...
区别在于一个列表与三个列表。我如何在R中解决这个问题?另外,如何使用purrr
包解决它?
答案 0 :(得分:2)
?as.list
与list
。简短的解释是,在第一个示例中,您将三个对象存储在保留列表中的自己的向量中。例如:
if each number werre named:
> list(a = 1, b = 2, c = 3)
$a
[1] 1
$b
[1] 2
$c
[1] 3
VS
> list(1:3)
[[1]]
[1] 1 2 3
但是...
> as.list(1:3)
[[1]]
[1] 1
[[2]]
[1] 2
[[3]]
[1] 3
1:3
中的{p> R
是一个数值范围,因此如果存储在向量中它是范围本身的表示,而list(1,2,3)是一个列表,其中第一个vector是1
,second 2
等等......