r - 有条件地从数据框中删除

标签 r dataframe

我有一个数据框

r <- data.frame("a" = c(1,2,2,0,0,3,0,3),"b"=c("a","b","c","a","a","c","d","d"))

#   a b
# 1 1 a
# 2 2 b
# 3 0 c
# 4 0 a
# 5 0 a
# 6 3 c
# 7 0 d
# 8 3 d

我想制作上述数据框的子集,它应该遵循给定的标准

我想保留所有行 1.r$a!=0, 2. 但是对于r$a==0行,如果r$b=="a",则保留它

我尝试执行r[!(r$a==0),],但这仅适用于第一个条件,我将如何设置第二个条件。

输出为

#   a b
# 1 1 a
# 2 2 b
# 3 0 a
# 4 0 a
# 5 3 c
# 6 3 d

最佳答案

使用这个:

r[r$a!=0 | (r$a==0 & r$b=="a"),]

或者,您可以使用:

r[r$a!=0 | r$b=="a",]

关于r - 有条件地从数据框中删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33877666/

相关文章:

r - Tidymodels(使用 fit_samples() 拟合随机森林) : Fold01: internal: Error: Must group by variables found in `.data`

python dataframe 到具有多列键和值的字典

python - 重新采样数据框以添加缺失的日期

r - 根据另一列的最大实例数对数据框进行子集化

python - 用 Pandas 附加到数据框单元格?

python - 数据框名称

R中的相对频率直方图,ggplot

r - 提取润滑间隔内的月份

r - ggplot2中的两列分组

R 为每一行生成随机数字