ИЛИ R функция - PullRequest
       4

ИЛИ R функция

1 голос
/ 03 июня 2019

Есть ли способ добавить ИЛИ в приведенную ниже функцию?

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

Я ищу вместо == "AA", чтобы оно читалось как ИЛИ "AA", "AA +""АА-".

1 Ответ

2 голосов
/ 03 июня 2019

Это даст вам желаемый результат:

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+")),]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...