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

如何排除该值第一个实例所在行中的所有值?(右图)

  •  0
  • Lynn  · 技术社区  · 5 年前

    我有一个数据集,df

    Subject
    
    Hi
    hello
    RE: Hello
    RE: How is work
    No
    Ok
    RE: What time are 
    Hello RE: are you
    

    主题

    Hi
    hello
    No
    Ok
    Hello RE: are you
    

    这里是dput:

     structure(list(Subject = structure(c(2L, 1L, 5L, 6L, 3L, 4L, 
     7L), .Label = c("hello", "HI", "No", "ok", "RE: Hello", "RE:   How     is work", 
     "RE: What time are"), class = "factor")), class = "data.frame",       row.names = c(NA, 
     -7L))
    

    我试过这个:

       df %>% 
       filter(Subject!= %RE:)
    

    我不知道如何构造代码,以便仅当是行中的第一个实例时才将其排除。

    1 回复  |  直到 5 年前
        1
  •  1
  •   Ronak Shah    5 年前

    您可以使用:

    subset(df, !grepl('^RE', Subject))
    

    或与 grep invert = TRUE

    df[grep('^RE', df$Subject, invert = TRUE), , drop = FALSE]
    

    dplyr

    library(dplyr)
    df %>% filter(!grepl('^RE', Subject))
    

    slice 格雷普

    df %>% slice(grep('^RE', Subject, invert = TRUE))
    
    推荐文章