Это даст вам желаемый результат:
AA20 = MSRB[which(MSRB$ParTraded <=100 & MSRB$Year == 2020 & MSRB$AverageRating %in% c("AA", "AA-", "AA+")),]
Это отфильтрует строки данных по ParTraded, Year и когда AverageRating имеет значение «AA», «AA-» или «AA +»
обратите внимание, что which
не требуется, так как строки будут отфильтрованы, исходя из того, какие из них ИСТИНА:
AA20 = MSRB[MSRB$ParTraded <=100 & MSRB$Year == 2020 & MSRB$AverageRating %in% c("AA", "AA-", "AA+"),]
Другой способ сделать это - использовать оператор 'или' |
:
AA20 = MSRB[MSRB$ParTraded <=100 & MSRB$Year == 2020 & (MSRB$AverageRating == "AA" | MSRB$AverageRating == "AA-" | MSRB$AverageRating == "AA+"),]
Редактировать
Способ упростить, только написав MSRB один раз, используя with
.Предложил @Gregor:
AA20 = MSRB[with(MSRB, ParTraded <=100 & Year == 2020 & (AverageRating == "AA" | AverageRating == "AA-" | AverageRating == "AA+")),]