在我的数据框中,第一列是一个因子(factor),我想删除具有某个factorname值(当该值存在时)的行。我尝试了:
```R df <- df[-which(df$factorname == "value"), ] ```
df <- df[-grep("factorname",df$parameters),]
当目标因素名称存在时,该方法效果良好。但是,如果因素名称不存在,该命令会破坏数据框架,使其行数为0。因此,我尝试了以下方法:
df <- df[!apply(df, 1, function(x) {df$parameters == "factorname"}),]
如何测试是否存在factorname并删除该行,而不是删除有问题的行。
df[!apply(df, 1, function(x) {x['parameters'] == "factorname"}),]
来成功,尽管这看起来相当笨重。你将会对每一行测试一个值,而不是将整个向量与每个 apply 迭代一起发送到“==”中。 - IRTFM