【问题标题】:List if many without typing in R列出是否有很多而不输入 R
【发布时间】:2017-08-17 16:59:44
【问题描述】:

我有以下代码

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 包解决它?

【问题讨论】:

    标签: r list purrr


    【解决方案1】:

    ?as.listlist。简短的解释是,在您的第一个示例中,您将三个对象存储到一个保存列表中它们自己的向量中。例如:

    if each number werre named:
    > list(a = 1, b = 2, c = 3)
    $a
    [1] 1
    
    $b
    [1] 2
    
    $c
    [1] 3
    

    对比:

    > list(1:3)
    [[1]]
    [1] 1 2 3
    

    但是……

    > as.list(1:3)
    [[1]]
    [1] 1
    
    [[2]]
    [1] 2
    
    [[3]]
    [1] 3
    

    R 中的1:3 是一个数字范围,因此如果存储在向量中,它就是范围本身的表示,而 list(1, 2, 3) 是一个列表,其中第一个向量是 @987654328 @,第二个 2 等等......

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多