Цикл ввода пользовательского слова в R - PullRequest
0 голосов
/ 03 декабря 2018

У меня есть вопрос относительно создания функции в R, которая будет принимать пользовательский ввод и по существу проверять:

  1. Элемент строки меньше или равен трем словам
  2. Тест дляпосмотрим, есть ли данные в кадре ограниченных слов
  3. Если они пройдут оба эти условия, я хочу, чтобы они вернули вставленную строку

Я уже собрал этот код вместено я получаю сообщение об ошибке: неожиданно остальное в другом.Кроме того, я хотел бы создать условие, которое не может явно проверять длину два или длину три и проверять все эти элементы явно.

Вот упрощенная повторяемая версия того, что я пытаюсь сделать:

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 и содержал одно из запрещенных слов, я бы хотел, чтобы он возвращался не утвержденным.

Спасибо!

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