And或R函数

And或R函数,r,R,有没有办法在下面的函数中添加OR AA20 = MSRB[which(MSRB$ParTraded <=100 & MSRB$Year == 2020 & MSRB$AverageRating == "AA",] AA20=MSRB[其中(MSRB$ParTraded这将为您提供所需的结果: AA20 = MSRB[which(MSRB$ParTraded <=100 & MSRB$Year == 2020 & MSRB$AverageRating

有没有办法在下面的函数中添加OR

AA20 = MSRB[which(MSRB$ParTraded <=100 & MSRB$Year == 2020 & MSRB$AverageRating == "AA",]

AA20=MSRB[其中(MSRB$ParTraded这将为您提供所需的结果:

AA20 = MSRB[which(MSRB$ParTraded <=100 & MSRB$Year == 2020 & MSRB$AverageRating %in% c("AA", "AA-", "AA+")),]
另一种方法是使用“or”运算符
|

AA20 = MSRB[MSRB$ParTraded <=100 & MSRB$Year == 2020 & (MSRB$AverageRating == "AA" | MSRB$AverageRating == "AA-" | MSRB$AverageRating == "AA+"),]

你是在寻找%
中的
%吗?例如,
MSRB$AverageRating%在%c中(“AA”,“AA+”,“AA-”
还是使用
grepl(^AA[+-]?$”,MSRB$AverageRating)
我试图先按ParTraded,Year,然后按三个平均值(AA,AA+,AA-)中的任何一个来过滤数据。恼人的解决方案:
x==A&y==B&(z==c;z==D=e)
.Nice选项,来自第一条注释的建议,
x==A&y==B&z%c(c,D,E)
@BrianSteeves这回答了你的问题吗?如果没有,我可以看看我能做些什么来改变我的答案。如果有,你能接受答案作为正确答案吗?谢谢!@brian steeves这回答了你的问题吗?如果没有,我可以看看我能做些什么来改变我的答案。如果有,你能接受答案作为正确答案吗?谢谢!
AA20 = MSRB[MSRB$ParTraded <=100 & MSRB$Year == 2020 & (MSRB$AverageRating == "AA" | MSRB$AverageRating == "AA-" | MSRB$AverageRating == "AA+"),]
AA20 = MSRB[with(MSRB, ParTraded <=100 & Year == 2020 & (AverageRating == "AA" | AverageRating == "AA-" | AverageRating == "AA+")),]