Ошибка при импорте тм Vcorpus в Quanteda корпус - PullRequest
0 голосов
/ 17 апреля 2020

Этот фрагмент кода работал очень хорошо, пока я не решил вчера обновить R (3.6.3) и RStudio (1.2.5042), хотя для меня не очевидно, что является источником проблемы.

В двух словах, я конвертирую 91 pdf-файл в энергозависимый корпус с именем Vcorp и подтверждаю, что создал энергозависимый корпус следующим образом:

> Vcorp <- VCorpus(VectorSource(citiesText)) 
> class(Vcorp)
[1] "VCorpus" "Corpus" 

Затем я пытаюсь импортировать этот тм Vcorpus в quanteda, но продолжаю получать сообщение об ошибке, которое я не получил раньше (например, за день до обновления).

> data(Vcorp, package = "tm")   
> citiesCorpus <- corpus(Vcorp)
Error in data.frame(..., check.names = FALSE) : 
  arguments imply differing number of rows: 8714, 91 

Есть предложения? Спасибо.

1 Ответ

0 голосов
/ 18 апреля 2020

Невозможно узнать точную проблему без а) информации о версии ваших пакетов и б) воспроизводимого примера.

Зачем вообще использовать тм ? Вы могли бы создать quanteda корпус непосредственно как:

corpus(citiesText)

Преобразование VCorpus прекрасно работает для меня.

library("quanteda")
## Package version: 2.0.1

library("tm")
packageVersion("tm")
## [1] ‘0.7.7’

reut21578 <- system.file("texts", "crude", package = "tm")
VCorp <- VCorpus(
  DirSource(reut21578, mode = "binary"),
  list(reader = readReut21578XMLasPlain)
)

corpus(VCorp)
## Corpus consisting of 20 documents and 16 docvars.
## text1 :
## "Diamond Shamrock Corp said that effective today it had cut i..."
## 
## text2 :
## "OPEC may be forced to meet before a scheduled June session t..."
## 
## text3 :
## "Texaco Canada said it lowered the contract price it will pay..."
## 
## text4 :
## "Marathon Petroleum Co said it reduced the contract price it ..."
## 
## text5 :
## "Houston Oil Trust said that independent petroleum engineers ..."
## 
## text6 :
## "Kuwait"s Oil Minister, in remarks published today, said ther..."
## 
## [ reached max_ndoc ... 14 more documents ]
...