2017-08-17 35 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等等......