循环浏览R中的用户单词输入

时间:2018-12-02 22:46:03

标签: r for-loop if-statement

我有一个关于在R中创建一个函数的问题,该函数需要用户输入并进行基本检查:

  1. 字符串项目小于或等于三个词
  2. 测试以查看限制词的数据框中是否有数据
  3. 如果同时通过了这两个条件,那么我希望它返回粘贴的字符串

到目前为止,我已经将这段代码放在一起,但是我收到错误:其他意外。另外,我想创建一个条件,该条件不能明确测试长度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")

这应该在其上返回“未批准”;但是,如果长度为3或长度1且包含限制词之一,我希望它返回不被批准。

谢谢!

0 个答案:

没有答案