Я попытался использовать tm_map
. Это дало следующую ошибку. Как я могу обойти это?
require(tm)
byword<-tm_map(byword, tolower)
Error in UseMethod("tm_map", x) :
no applicable method for 'tm_map' applied to an object of class "character"
Я попытался использовать tm_map
. Это дало следующую ошибку. Как я могу обойти это?
require(tm)
byword<-tm_map(byword, tolower)
Error in UseMethod("tm_map", x) :
no applicable method for 'tm_map' applied to an object of class "character"
Используйте базовую функцию R tolower()
:
tolower(c("THE quick BROWN fox"))
# [1] "the quick brown fox"
Развернув comment comment, вы должны обернуть tolower
внутри content_transformer
, чтобы не испортить объект VCorpus
- что-то вроде:
> library(tm)
> data('crude')
> crude[[1]]$content
[1] "Diamond Shamrock Corp said that\neffective today it had cut its contract prices for crude oil by\n1.50 dlrs a barrel.\n The reduction brings its posted price for West Texas\nIntermediate to 16.00 dlrs a barrel, the copany said.\n \"The price reduction today was made in the light of falling\noil product prices and a weak crude oil market,\" a company\nspokeswoman said.\n Diamond is the latest in a line of U.S. oil companies that\nhave cut its contract, or posted, prices over the last two days\nciting weak oil markets.\n Reuter"
> tm_map(crude, content_transformer(tolower))[[1]]$content
[1] "diamond shamrock corp said that\neffective today it had cut its contract prices for crude oil by\n1.50 dlrs a barrel.\n the reduction brings its posted price for west texas\nintermediate to 16.00 dlrs a barrel, the copany said.\n \"the price reduction today was made in the light of falling\noil product prices and a weak crude oil market,\" a company\nspokeswoman said.\n diamond is the latest in a line of u.s. oil companies that\nhave cut its contract, or posted, prices over the last two days\nciting weak oil markets.\n reuter"
myCorpus <- Corpus(VectorSource(byword))
myCorpus <- tm_map(myCorpus , tolower)
print(myCorpus[[1]])
использование tolower таким образом имеет нежелательный побочный эффект: если вы попытаетесь создать матрицу терминов документов из корпуса позже, это не удастся. Это связано с недавним изменением tm, которое не может обрабатывать возвращаемый тип tolower. Вместо этого используйте:
myCorpus <- tm_map(myCorpus, PlainTextDocument)