How can I remove an element from a list?

前端 未结 16 1434
傲寒
傲寒 2020-11-28 01:21

I have a list and I want to remove a single element from it. How can I do this?

I\'ve tried looking up what I think the obvious names for this function would be in

16条回答
  •  北海茫月
    2020-11-28 01:31

    If you don't want to modify the list in-place (e.g. for passing the list with an element removed to a function), you can use indexing: negative indices mean "don't include this element".

    x <- list("a", "b", "c", "d", "e"); # example list
    
    x[-2];       # without 2nd element
    
    x[-c(2, 3)]; # without 2nd and 3rd
    

    Also, logical index vectors are useful:

    x[x != "b"]; # without elements that are "b"
    

    This works with dataframes, too:

    df <- data.frame(number = 1:5, name = letters[1:5])
    
    df[df$name != "b", ];     # rows without "b"
    
    df[df$number %% 2 == 1, ] # rows with odd numbers only
    

提交回复
热议问题