如何删除R中包含下划线或句点的单元格?

时间:2018-09-22 00:01:24

标签: r regex

我有诸如“ 76.1”和“ 76.1_0”之类的字符串。我想删除数据框中包含“。”的所有元素。或“ _”。

我尝试过

df <- df[!grepl("_", "."),]

这不起作用。我知道这是我的正则表达式,但是我不确定如何继续。

任何帮助将不胜感激,谢谢!

1 个答案:

答案 0 :(得分:2)

给出示例向量

(x <- c("76.1", "76.1_0", "1", "a"))
# [1] "76.1"   "76.1_0" "1"      "a" 

例如,

(x <- x[!grepl("\\.|_", x)])
# [1] "1" "a"

在几个方面我使用grepl的地方不同

1)第一个参数pattern必须是字符串("\\.|_"),而不是您尝试的("_", ".")多个参数。参见?grepl

2)对于“组合”两个符号,一个需要使用|,它代表OR

3).是一个特殊字符,必须与\\一起escaped

4)您没有提供第二个参数x;即应在何处进行更改。