Выбор отдельных номеров из многозначных номеров в R - PullRequest
0 голосов
/ 26 февраля 2019

Я пытаюсь написать функцию, которая будет брать числовой столбец из моего фрейма данных («скорость») и сообщать мне, если любое из двузначных чисел содержит 5. Он должен вернуть X5, если операторtrue или "", если false.Я пробовал ifelse:

contX5 <- function(x) {
   ifelse(5 %in% name$rate, "X5", "")
}

Единственное, что он возвращает, это:

[1] ""

Как мне изменить его, чтобы получить ответ для всего столбца?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 26 февраля 2019

Вы можете попробовать.Я добавил пример.

yourData <- c(10, 5, 125, 100, 50)

ifelse(unlist(lapply(strsplit(as.character(yourData), ''), function(x) any(x %in% '5'))), 'X5', '')

""   "X5" "X5" ""   "X5"
0 голосов
/ 26 февраля 2019

%in% ищет точных совпадений.В вашем случае 5 %in% name$rate соответствует только 5 в столбце rate.Вы можете использовать grepl(), чтобы найти любое вхождение 5 в вашем столбце.

ifelse(grepl(5, name$rate), "X5", "")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...