Filter values from list in R

前端 未结 3 1055
死守一世寂寞
死守一世寂寞 2021-02-13 09:37

I want to calculate the mean of a list of named numbers. There are numeric(0) values that I first want to remove. Also, I would like to retrieve which elements of

3条回答
  •  有刺的猬
    2021-02-13 09:48

    ## Example list
    
    l <- list(n1=numeric(0), n2="foo", n3=numeric(0), n4=1:5)
    
    ## Filter out elements with length 0
    
    l[lapply(l, length) > 0]
    
    
    $n2
    [1] "foo"
    
    $n4
    [1] 1 2 3 4 5
    
    
    ## Get names of elements with length 0
    
    names(l)[lapply(l, length) == 0]
    
    [1] "n1" "n3"
    

提交回复
热议问题