R函数意外输入错误

时间:2014-06-16 15:18:15

标签: r

我在R中定义了以下函数:

CreateTestFromRaw <- function(text, dict) {
  _corpus <- Corpus(VectorSource(text))
  corpus_clean <- tm_map(_corpus, removeNumbers)
  corpus_clean <- tm_map(corpus_clean, removeWords, stopwords('english'))
  corpus_clean <- tm_map(corpus_clean, removePunctuation)
  corpus_clean <- tm_map(corpus_clean, stripWhitespace)
  #dtm <- DocumentTermMatrix(corpus_clean)
  test <- DocumentTermMatrix(corpus_clean, control = list(dictionary = dict))
  test <- apply(test, MARGIN = 2, convert_counts)
  return test
}

我正在使用文本挖掘包:

install.packages("tm")
library(tm)

当我尝试运行上面的代码来创建函数时,它会给我这些错误:

> CreateTestFromRaw <- function(text, dict) {
+   _corpus <- Corpus(VectorSource(text))
Error: unexpected input in:
"CreateTestFromRaw <- function(text, dict) {
  _"
>   corpus_clean <- tm_map(_corpus, removeNumbers)
Error: unexpected input in "  corpus_clean <- tm_map(_"
>   corpus_clean <- tm_map(corpus_clean, removeWords, stopwords('english'))
>   corpus_clean <- tm_map(corpus_clean, removePunctuation)
>   corpus_clean <- tm_map(corpus_clean, stripWhitespace)
>   #dtm <- DocumentTermMatrix(corpus_clean)
>   test <- DocumentTermMatrix(corpus_clean, control = list(dictionary = dict))
Error in stopifnot(is.list(control)) : object 'dict' not found
>   test <- apply(test, MARGIN = 2, convert_counts)
Error in apply(test, MARGIN = 2, convert_counts) : 
  object 'test' not found
>   return test
Error: unexpected symbol in "  return test"
> }
Error: unexpected '}' in "}"

为什么在尝试创建此功能时会出现这些错误?

1 个答案:

答案 0 :(得分:2)

你不能在R中用下划线开始一个变量名。另外,return是R中的一个函数,所以你必须把它写成return(test)

R与大多数编程语言非常不同,所以我不建议首先跳到它而不先了解主要的差异。