загрузка необходимых библиотек
library(tm)
library(Snowball)
создать вектор
vec<-c("running runner runs","happyness happies")
создать корпус из вектора
vec<-Corpus(VectorSource(vec))
очень важно проверить класс нашего корпуса и сохранить его так, как нам нужен стандартный корпус, который понимают функции R
class(vec[[1]])
vec[[1]]
<<PlainTextDocument (metadata: 7)>>
running runner runs
это, вероятно, скажет вам простой текстовый документ
Так что теперь мы модифицируем нашу неисправную функцию stemDocument. сначала мы конвертируем наш простой текст в символ, а затем разбиваем текст, применяем stemDocument, который теперь работает нормально, и вставляем его вместе самое главное, мы конвертируем вывод в PlainTextDocument, заданный пакетом tm.
stemDocumentfix <- function(x)
{
PlainTextDocument(paste(stemDocument(unlist(strsplit(as.character(x), " "))),collapse=' '))
}
теперь мы можем использовать стандартное tm_map в нашем корпусе
vec1 = tm_map(vec, stemDocumentfix)
результат
vec1[[1]]
<<PlainTextDocument (metadata: 7)>>
run runner run
Самое важное, что вам нужно помнить, - это всегда сохранять класс документов в корпусе всегда.
Я надеюсь, что это упрощенное решение вашей проблемы с использованием функции из двух загруженных библиотек.