Функция R для печати только отрицательных чисел - PullRequest
1 голос
/ 30 января 2020

Я пытаюсь создать функцию в R, чтобы данный вектор печатал только отрицательное число. Я попробовал следующее:

Negative_number <- function (i) {
  return(i <0)
}

print(Negative_number(c(-2,1,3,-5)))

[1] TRUE FALSE FALSE TRUE

Вместо true или false, я хочу напечатать фактические отрицательные числа, то есть -2 и -5 в этом случае. Как я могу решить эту проблему?

Ответы [ 2 ]

3 голосов
/ 30 января 2020

В этом случае нам нужно выполнить поднабор на основе логического вектора

Negative_number <- function(i) i[i <0]
Negative_number(c(-2,1,3,-5))
#[1] -2 -5
1 голос
/ 30 января 2020

Вы можете использовать функцию dplyr :: filter

negatives_only <- dplyr::filter(c(-2,1,3,-5), function (x) x < 0)

Любой элемент во входном наборе данных, для которого предикат оценивается как true или NA возвращается. Все остальные элементы отброшены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...