2017-08-17 37 views
0

打字我有以下代码列表而不作为R

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包?

回答

2

?as.listlist。简单的解释是,在你的第一个例子中,你将三个对象存储在一个保存列表中的自己的向量中。例如:

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 

R1:3是一个数值范围,因此,如果存储在向量是的代表性范围本身,而列表(1,2,3)是一个列表,其中第一个矢量是1,第二个2等等......