RTextTools – Résoudre l’erreur de la fonction create_matrix()

Rlogo.png

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.

Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s