У меня есть вопрос относительно создания функции в R, которая будет принимать пользовательский ввод и по существу проверять:
- Элемент строки меньше или равен трем словам
- Тест дляпосмотрим, есть ли данные в кадре ограниченных слов
- Если они пройдут оба эти условия, я хочу, чтобы они вернули вставленную строку
Я уже собрал этот код вместено я получаю сообщение об ошибке: неожиданно остальное в другом.Кроме того, я хотел бы создать условие, которое не может явно проверять длину два или длину три и проверять все эти элементы явно.
Вот упрощенная повторяемая версия того, что я пытаюсь сделать:
library(tokenizers)
a <- c("alpha", "beta", "gamma", "delta", "epsilon")
a <- as.data.frame(a)
colnames(a) <- c("words")
test <- function(phrase){
words <- tolower(phrase)
words <- tokenize_words(words)
if(length(words[[1]])> 3){
"Phrase too long"
} else if(length(words[[1]]) == 2){
if(words[[1]][1] %in% a$words){
"Not Approved"
} else if(words[[1]][2] %in% a$word){
"Not Approved"
} else
{
words[[1]]
}
}
else {
if(words[[1]] %in% a$word){
"Not Approved"
}
else {words[[1]]}
}
}
test("Alpha Test")
Это должно вернуть «Not Approved» на нем;но если бы он был длиной 3 или длиной 1 и содержал одно из запрещенных слов, я бы хотел, чтобы он возвращался не утвержденным.
Спасибо!