我有一个数据框
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/