FUN-erreur après l'exécution de 'tolower' tout en faisant Twitter wordcloud
En essayant de créer wordcloud de données de twitter, mais obtiens l'erreur suivante:
Error in FUN(X[[72L]], ...) :
invalid input '������������❤������������ "@xxx:bla, bla, bla... http://t.co/56Fb78aTSC"' in 'utf8towcs'
Cette erreur apparaît après l'exécution de la "mytwittersearch_corpus<-
tm_map(mytwittersearch_corpus, tolower)" code
mytwittersearch_list <-sapply(mytwittersearch, function(x) x$getText())
mytwittersearch_corpus <-Corpus(VectorSource(mytwittersearch_corpus_list))
mytwittersearch_corpus<-tm_map(mytwittersearch_corpus, tolower)
mytwittersearch_corpus<-tm_map( mytwittersearch_corpus, removePunctuation)
mytwittersearch_corpus <-tm_map(mytwittersearch_corpus, function(x) removeWords(x, stopwords()))
J'ai lu sur d'autres pages, ce peut être en raison de la R de la difficulté de traitement des symboles, des émoticônes et des lettres dans les langues autres que l'anglais, mais cela ne semble pas être le problème avec l'erreur "tweets" que R a des problèmes avec. J'ai fait exécuter les codes:
mytwittersearch_corpus <- tm_map(mytwittersearch_corpus, function(x) iconv(enc2utf8(x), sub = "byte"))
mytwittersearch_corpus<- tm_map(mytwittersearch_corpus, content_transformer(function(x) iconv(enc2utf8(x), sub = "bytes")))
Ces n'aident pas. Je reçois aussi qu'il ne peut pas trouver la fonction content_transformer
même si le tm-package
est cochée, et en cours d'exécution.
Je suis l'exécution de ce sous OS X 10.6.8 et en utilisant les dernières RStudio.
tm_map(mytwittersearch_corpus, content_transformer(stringi::stri_trans_tolower))
.content_transformer
est relativement nouveau. Vous devrez peut-être mettre à jour le package. Qu'est-ce que packageVersion("tm")
?Richard dit, il est probablement plus important d'afficher la version de R et de les packages qui sont chargés. Le
sessionInfo()
fonction est le moyen le plus facile de recueillir et de présenter ces informations.Je vous remercie pour votre aide, Richard! J'ai essayé d'exécuter le code, mais malheureusement, je reçois le même message. Je vais essayer de mettre à jour le paquet tm. Pourrait l'absence de content_transformer expliquer l'erreur, peut-être?
Voir si vous obtenez le même genre d'erreur avec une version réduite de
mytwittersearch
, peut-être small <- head(mytwittersearch)
. Si oui, alors vous devez poster à la sortie de dput(small)
OriginalL'auteur Anne Boysen | 2015-01-03
Vous devez vous connecter pour publier un commentaire.
J'utilise ce code pour se débarrasser du problème des caractères:
Il supprime toutes les emoji pour moi.
Cette réponse devrait être acceptée. Il y parvient parfaitement.
cette solution fonctionne, mais seulement pour les caractères latins. en cas de fréquentes conversion en utf-8 problèmes, le code le plus simple pour la conversion semble être:
tweets$text <- iconv(tweets$text, "ASCII", "UTF-8", sub="byte")
OriginalL'auteur RUser
Un bel exemple sur la création de wordcloud de données de Twitter est ici. À l'aide de l'exemple, et le code ci-dessous, et de passer le tolower paramètre lors de la création du TermDocumentMatrix, j'ai pu créer un compte Twitter wordcloud.
J'ai pu exécuter avec succès le code ci-dessus et obtenir le wordcloud dans le système d'exploitation Windows XP et RStudio.
OriginalL'auteur bdeb2015
Avez-vous essayé la mise à jour de
tm
et à l'aide destri_trans_tolower
destringi
?Puis-je vous demander, est content_trasformer partie de votre tm=paquet? Lorsque je recherche sous mon tm-package-je obtenir "aucun résultat trouvé". Je pensais que c'était étrange. Il serait très intéressant de comparer si cela arrive à d'autres. Alors je sais que c'est quelque chose de mal avec mon tm paquet.
href="http://cran.r-project.org/web/packages/tm/tm.pdf#page=4" >cran.r-project.org/web/packages/tm/tm.pdf#page=4 - oui, c'est une partie de
tm
.Maintenant, avec le tm version de package de 0,5-10, vous pouvez simplement utiliser : mytwittersearch_corpus <- tolower(mytwittersearch_corpus) . Cela devrait fonctionner correctement.
OriginalL'auteur lukeA
Les solutions ci-dessus peut-être travaillé, mais pas plus dans les dernières versions de wordcloud et tm.
Ce problème est presque fait de moi un fou, mais j'ai trouvé une solution et veulent l'expliquer du mieux que je peux pour sauver quelqu'un de devenir désespérée.
La fonction qui est implicitement appelé par wordcloud et chargé de lancer l'erreur
est celui-ci:
qui est un raccourci pour
De fournir un reproductibles exemple, voici une fonction qui intègre la solution:
Voici ce qui a échoué:
J'ai essayé de convertir le texte AVANT et APRÈS la création du corpus avec
AVANT:
De la conversion en UTF-8 sur le texte ne fonctionne pas avec:
ni
APRÈS:
De la conversion en UTF-8 sur le corpus n'a pas fonctionné:
ni
ni
ni
ni
Toutes ces solutions ont travaillé à un certain point dans le temps, donc je ne veux pas discréditer les auteurs. Ils peuvent travailler quelques temps dans l'avenir. Mais pourquoi ils n'ont pas de travail est presque impossible de dire parce qu'il y avait de bonnes raisons pour lesquelles ils étaient censés travailler.
De toute façon, n'oubliez pas de convertir le texte avant de créer le corpus:
Avertissement:
J'ai la solution avec des explications plus détaillées ici:
http://www.textasdata.com/2015/02/encoding-headaches-emoticons-and-rs-handling-of-utf-816/
OriginalL'auteur Agile Bean
J'ai fini avec la mise à jour de mon RStudio et des paquets. Cela semble résoudre le tolower/content_transformer questions. J'ai lu quelque part que la dernière tm-paquet avait quelques problèmes avec les tm_map, peut-être que c'était le problème. En tout cas, cela a fonctionné!
OriginalL'auteur Anne Boysen
Au lieu de
utilisation
OriginalL'auteur Michael Davidson
Lors de l'utilisation du code similaire à celle ci-dessus et de travailler sur un nuage de mots brillante application qui fonctionnait bien sur mon propre pc, mais ne fonctionne pas non plus sur amazon aws ou brillant apps.oi, j'ai découvert ce texte avec 'accents',p. ex. santé dans il n'a pas de téléchargement bien que les fichiers csv vers le cloud. J'ai trouvé une solution par l'enregistrement des fichiers comme .les fichiers txt et en utf-8 à l'aide du bloc-notes et ré-écrire mon code pour permettre au fait que les fichiers n'étaient plus des csv, mais txt. Mes versions de R 3.2.1 et Rstudio était la Version 0.99.465
OriginalL'auteur data analyst