У меня есть куча тела, загруженного в среду R, и я хочу преобразовать каждый из них в матрицу документов Term. Я попробовал комбинацию цикла for
и assign
, но он не работает, и я не могу понять, что не так.Назначение объекта в цикле for в R
хранить имена корпуса в среде в списке:
bNames<-ls()
И сделать именованный список объектов
corpus.n1<-mget(bNames)
> corpus.n1
$qB001
<<VCorpus (documents: 1, metadata (corpus/indexed): 0/0)>>
$qB002
<<VCorpus (documents: 1, metadata (corpus/indexed): 0/0)>>
....
библиотек и п-граммовая функции
library(rJava)
.jinit(parameters="-Xmx128g")
library(RWeka)
nGra2Tok <- function(x) NGramTokenizer(x, Weka_control(min = 2, max =2))
Виды вещей, которые я хочу положить в петлю:
tdm.n2.01<-TermDocumentMatrix(qB001,control=list(tokenize=nGram2Tok))
tdm.n2.02<-TermDocumentMatrix(qB002,control=list(tokenize=nGram2Tok))
tdm.n2.03<-TermDocumentMatrix(qB003,control=list(tokenize=nGram2Tok))
....
и TermDocumentMatrix
петля
for(i in corpus.n1){
tdm.n2<-paste(i)
assign(i, TermDocumentMatrix(tdm.n2,control=list(tokenize=nGram2Tok)))
}
Я получаю ошибку:
Error in UseMethod("TermDocumentMatrix", x) :
no applicable method for 'TermDocumentMatrix' applied to an object of class "character"
Что я делаю неправильно?
@krimir Спасибо за ваш ответ. 'Lapple' сделал трюк. –