【问题标题】:Remove Only rows that start with a given string in r仅删除以 r 中给定字符串开头的行
【发布时间】:2015-10-28 18:06:34
【问题描述】:

我需要删除列中以给定字符串开头的所有行。在此示例中,删除以 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/ 的项目

不知道我做错了什么

【问题讨论】:

  • 你可以试试grepl('^community\\.', ga.data$pagePath)
  • 我看到了 12 个真实的陈述实例。但数据集没有变化。
  • 如果你得到 12 个 TRUE 语句并且想要删除这些行 ga.data[!grepl('^community\\.', ga.data$pagePath),] 应该删除它
  • 同意应该,但是当我运行它时,我仍然结束@我开始的相同 1257 obs @
  • 成功了!谢谢

标签: regex r subset


【解决方案1】:

只需使用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

【讨论】:

  • 好的,所以我尝试了这个,我将我的代码添加到问题中,因为我仍然有我试图解决的问题的实例。
【解决方案2】:

我们可以使用grep 从“LANDING”列中获取以“example2”开头的元素的数字索引,并从“my.data”中删除该行

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))

【讨论】:

  • 经过更精确的观察,我们的解决方案略有不同。我使用了grel,然后使用! 运算符对数据进行子集化。
  • @SabDeM 是的,这是不同的,您在法定允许的 1 分钟内发帖:-)
  • @rawr 没有必要。我会放松的。
  • 我给了两个答案,但都没有成功,因此我更新了我的问题以更具体。我正在处理我已导入的 Google 分析数据 - 如果这有帮助吗?
  • @AllyKat 我用我使用的my.data 进行了更新。你能检查一下这是否有效。我使用dput 来获得该输出。如果没有,您能否使用 dput 输出进行更新。
猜你喜欢
  • 1970-01-01
  • 2022-11-28
  • 2017-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-25
  • 2019-11-18
  • 2020-01-07
相关资源
最近更新 更多