Преобразование матрицы терминов документа в матрицу с большим количеством данных вызывает переполнение.

Давайте поработаем с интеллектуальным анализом текста

Здесь я стою с матрицей терминов документа (из пакета tm )

dtm <- TermDocumentMatrix(
     myCorpus,
     control = list(
         weight = weightTfIdf,
         tolower=TRUE,
         removeNumbers = TRUE,
         minWordLength = 2,
         removePunctuation = TRUE,
         stopwords=stopwords("german")
      ))

Когда я выполняю

typeof(dtm)

, я вижу что это «список» и структура выглядит как

Docs
Terms        1 2 ...
  lorem      0 0 ...
  ipsum      0 0 ...
  ...        .......

Поэтому я пробую

wordMatrix = as.data.frame( t(as.matrix(  dtm )) ) 

, который работает для 1000 документов.

Но когда я пытаюсь использовать 40000, этого больше не происходит.

Я получаю это ошибка:

Fehler in vector(typeof(x$v), nr * nc) : Vektorgröße kann nicht NA sein
Zusätzlich: Warnmeldung:
In nr * nc : NAs durch Ganzzahlüberlauf erzeugt

Ошибка в векторе ...: Вектор не может быть NA Дополнительно: В nr * nc NA, созданных с помощью целочисленного переполнения

Итак, я посмотрел на as.matrix, и оказалось, что каким-то образом функция преобразует его в вектор с as.vector, а затем в матрицу. Преобразование в вектор работает, но преобразование из вектора в матрицу не работает.

Есть ли у вас какие-либо предложения, в чем может быть проблема?

Спасибо, капитан

14
задан smci 29 May 2015 в 00:00
поделиться