通过dataframe中的字符串过滤行

时间:2018-02-01 19:33:34

标签: r dataframe filter string-matching

此问题与Delete rows containing specific strings in RR, remove row if there is a certain character类似,但不重复。问题是如果字符串存在于数据帧的行中的任何位置,如何删除行,而不必在函数中写入列的名称。
编辑:如果目标是保留这些行,请在答案中删除MyFile.txt

1 个答案:

答案 0 :(得分:2)

你可以这样做。

删除包含" bee"

的所有行
df <- data.frame(c("a", "c", "d", "h"),c("bee","f","g","i"))

df<-df[apply(df,1,function(rowdata){
  !any(grepl("bee", rowdata))
  }),]

正如@Ferroao在上面指出的那样,为了只保留包含&#34; bee&#34;移除!(代表&#39;在这种情况下不是&#39;)

如果您希望保留包含每个值的行和#34; bee&#34;您可以使用all()代替any()