仅删除以 r 中给定字符串开头的行

Remove Only rows that start with a given string in r

我需要删除列中以给定字符串开头的所有行。在此示例中,删除以 example2 开头的所有行。在着陆栏中

我有一个数据集EX:

my.data

BABY      MOM      LANDING
mark      dina    example1.bo
tom       becky   example2.do
brad      tina    example1.eo
mark      dina    example1.ro
bob       kindra  example2.ao
brad      tina    example1.c3po

我希望我的新数据是:

new.data

BABY      MOM      LANDING
mark      dina    example1.bo
brad      tina    example1.eo
mark      dina    example1.ro
brad      tina    example1.c3po

如何告诉 R 删除所有 my.data$LANDING 以 'example2.'

开头的行

这是我的代码

indx1 <- grepl('^community.', ga.data$pagePath)

ga.data[!indx1, ]

但我在 pagePath 列中仍然有项目 community.xxxx.com/

不确定我做错了什么

我们可以使用 grep 从 'LANDING' 列中获取以 'example2' 开头的元素的数字索引,并从 'my.data'[=13 中删除这些行=]

my.data[-grep('^example2', my.data$LANDING),]
# BABY  MOM       LANDING
#1 mark dina   example1.bo
#3 brad tina   example1.eo
#4 mark dina   example1.ro
#6 brad tina example1.c3po

数据

my.data <- structure(list(BABY = c("mark", "tom", "brad", "mark", "bob", 
"brad"), MOM = c("dina", "becky", "tina", "dina", "kindra", "tina"
), LANDING = c("example1.bo", "example2.do", "example1.eo",
"example1.ro", 
"example2.ao", "example1.c3po")), .Names = c("BABY", "MOM", "LANDING"
), class = "data.frame", row.names = c(NA, -6L))

只需使用 grepl 创建逻辑索引,然后使用 ! 运算符创建子集。

 ind <- grepl("^example2", df$LANDING)

 df[!ind, ]
  BABY  MOM       LANDING
1 mark dina   example1.bo
3 brad tina   example1.eo
4 mark dina   example1.ro
6 brad tina example1.c3po