RTextTools est un package R visant à faire de la classification de textes. Seulement problème, depuis quelques temps, la fonction (interne au package) create_matrix() renvoie une erreur et bloque ainsi tout le programme. Cela fait plusieurs mois que cette erreur est présente et personne ne semble vouloir la corriger.
Versions : J’utilise la version 3.2.1 de R et la version 1.4.2 de RTextTools.
L’erreur est la suivante :
Error in if (attr(weighting, "Acronym") == "tf-idf") weight <- 1e-09 : argument is of length zero
Le problème réside dans le mot « Acronym ». Le code source de la fonction create_matrix() écrit « Acronym » avec un « A » majuscule alors que pour correspondre à la nouvelle version du package tm, il faudrait l’écrire avec un « a » minuscule.
La solution est donc d’aller modifier le code source de RTextTools. Pour ça, tapez la commande suivante dans votre console R ou RStudio (attention RStudio et R ne partagent pas forcément le même répertoire de librairies) :
trace("create_matrix",edit=T)
La commande ouvre une fenêtre pop up avec le code source de la fonction create_matrix(). Direction la ligne 42 du fichier, changez « Acronym » par « acronym ». Sauvegardez et le tour est joué.
La ligne 42 devrait donc ressembler à ça :
if (attr(weighting, "acronym") == "tf-idf")
Sources : SVM Tutorial et Stack Overflow.