我在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 "}"
为什么在尝试创建此功能时会出现这些错误?
答案 0 :(得分:2)
你不能在R中用下划线开始一个变量名。另外,return
是R中的一个函数,所以你必须把它写成return(test)
。
R与大多数编程语言非常不同,所以我不建议首先跳到它而不先了解主要的差异。