代码之家  ›  专栏  ›  技术社区  ›  Karl

统计列表中的对象数[已关闭]

  •  87
  • Karl  · 技术社区  · 16 年前

    library(stringr)
    
    l <- strsplit(words, "a")
    
    if(# number of items in list l < 1) 
      next
    
    5 回复  |  直到 4 年前
        1
  •  177
  •   zx8754    6 年前

    length(x)

    获取或设置向量(包括列表)和因子的长度,以及为其定义方法的任何其他R对象的长度。

    lengths(x)

    以整数或数字向量的形式获取列表或原子向量(is.atomic)的每个元素的长度。

        2
  •  93
  •   Skippy le Grand Gourou    12 年前

    忠告 R 像我这样的新来者:注意,下面是 :

    > mylist <- list (1:10)
    > length (mylist)
    [1] 1
    

    > length (mylist[[1]])
    [1] 10
    

    这是一个“真实”列表:

    > mylist <- list(1:10, rnorm(25), letters[1:3])
    > length (mylist)
    [1] 3
    

    而且,似乎 R 将data.frame视为列表:

    > df <- data.frame (matrix(0, ncol = 30, nrow = 2))
    > typeof (df)
    [1] "list"
    

    在这种情况下,您可能会对 ncol() nrow() 而不是 length()

    > ncol (df)
    [1] 30
    > nrow (df)
    [1] 2
    

    长度() 也将起作用(但当data.frame只有一列时,这是一个技巧):

    > length (df)
    [1] 30
    > length (df[[1]])
    [1] 2
    
        3
  •  13
  •   Jilber Urbina    12 年前

    我花了很多时间试图弄明白这一点,但很简单!你可以用 length(·) . length(mylist) 将告诉您对象的数量 mylist 包含。

    ... 刚刚意识到有人已经回答了这个问题-对不起!

        4
  •  11
  •   Jeff Kraus    10 年前

    > mylist <- vector(mode="list")
    

    > mylist <- list(record1=c(1:10),record2=c(1:5),record3=c(1:2))
    

    如果您只对列表中的组件数量感兴趣,请使用:

    > length(mylist)
    [1] 3
    

    如果您对列表中特定组件中元素的长度感兴趣,请使用:(两者在此处引用相同的组件)

    length(mylist[[1]])
    [1] 10
    length(mylist[["record1"]]
    [1] 10
    

    如果您对列表所有组件中所有元素的长度感兴趣,请使用:

    > sum(sapply(mylist,length))
    [1] 17
    
        5
  •  9
  •   user6062513    9 年前

    unlist()

    > mylist <- list(A = c(1:3), B = c(4:6), C = c(7:9))
    
    > mylist
    $A
    [1] 1 2 3
    
    $B
    [1] 4 5 6
    
    $C
    [1] 7 8 9
    
    > unlist(mylist)
    A1 A2 A3 B1 B2 B3 C1 C2 C3 
     1  2  3  4  5  6  7  8  9 
    
    > length(unlist(mylist))
    [1] 9
    

    > sum(mylist)
    Error in sum(mylist) : invalid 'type' (list) of argument
    
    > sum(unlist(mylist))
    [1] 45
    
    推荐文章