R 按数据帧中是否存在字符串筛选行
这个问题类似,但不是和的重复。问题是,如果数据帧中行中的任意位置存在字符串,则如何删除该行,而不必在函数中写入列的名称R 按数据帧中是否存在字符串筛选行,r,dataframe,filter,string-matching,R,Dataframe,Filter,String Matching,这个问题类似,但不是和的重复。问题是,如果数据帧中行中的任意位置存在字符串,则如何删除该行,而不必在函数中写入列的名称 编辑:在答案中删除如果目标是保留这些行。您可以这样做 删除包含“bee”的所有行 df从技术上讲,您不希望在数据中执行forloop,以便能够计算包含蜜蜂的行,然后将其删除。这对计算机来说是乏味的。你可以像 DF[GRPL(Bee),do.Calp(Prand,Df),] < /COD>工作,但是我不太理解do.Calk和P贴是如何一起工作的,你可以考虑发布一个新的答案,我个人
编辑:在答案中删除
代码>如果目标是保留这些行。您可以这样做
删除包含“bee”的所有行
df从技术上讲,您不希望在数据中执行forloop,以便能够计算包含蜜蜂的行,然后将其删除。这对计算机来说是乏味的。你可以像<代码> DF[GRPL(Bee),do.Calp(Prand,Df),] < /COD>工作,但是我不太理解do.Calk和P贴是如何一起工作的,你可以考虑发布一个新的答案,我个人会喜欢解释它为什么工作的原因:哈哈。你知道do.call
是怎么工作的吗?那就没什么好解释的了。。这也是一个老问题。。我只是想看看我遗漏了什么。通常使用的术语是“filter”,如“filter rows where string present/not present…”
df <- data.frame(c("a", "c", "d", "h"),c("bee","f","g","i"))
df<-df[apply(df,1,function(rowdata){
!any(grepl("bee", rowdata))
}),]