La lecture des caractères spéciaux comme ÆØÅ dans R (Rstudio)
Je suis en train de lire un fichier CSV contenant les données du questionnaire écrit en norvégien. Ce fichier contient les lettres Æ Ø Å, cependant R ne semble pas gérer ces lettres bien, ils apparaissent tous comme des points d'interrogation.
Je l'utilise pour lire les données:
data <- read.csv2("Responser - Vasket - 20.06.2013.csv")
Est-il des options que je devrais utiliser pour laisser R sais que j'ai des caractères spéciaux?
et je suis en utilisant Rstudio sur Windows 7.
essayez
ou enocding =
Aucun de ces résolu. Je reçois encore des points d'interrogation. Plus de conseils?
encoding = "UTF-16"
ou enocding =
ISO-8859-1
devrait le faire. Selon ceci: voir Langues avec une couverture complète.Aucun de ces résolu. Je reçois encore des points d'interrogation. Plus de conseils?
OriginalL'auteur Ole Henrik Skogstrøm | 2013-06-24
Vous devez vous connecter pour publier un commentaire.
Vous devez spécifier le
fileEncoding
argumentread.csv2
(ainsi que (?) leencoding
).Avant d'arriver à R, c'est une bonne idée de vérifier que l'encodage du fichier est à l'aide d'un éditeur de texte. Par exemple, si vous ouvrez un fichier dans Notepad++, le Codage de menu permet d'afficher et de modifier le codage de caractères. Dans TextPad, vous pouvez modifier l'encodage de l'Enregistrer sous.. boîte de dialogue. La plupart des éditeurs de texte aura une telle fonctionnalité.
C'est la valeur que vous avez besoin pour passer à
fileEncoding
; vous ne pouvez pas il suffit de déclarer un fichier UTF-16, si elle n'est pas déjà fait. C'est pourquoi vous avez eu un avertissement.salut @OleHenrikSkogstrøm comment avez-vous été en mesure de résoudre ce problème? j'ai besoin d'importer des données à la fois, le norvégien et le suédois alphabets
OriginalL'auteur Richie Cotton
Donné ma version R et les paramètres, cela fonctionne pour moi:
Dans le bloc-notes, je vérifie que le fichier csv est enregistré avec "Encodage: ANSI'.
Dans RStudio: Outils /Options /par Défaut l'encodage de texte: ISO8859-1
J'ai essayé avec les données factices comme ceci:
Modifier le commentaire suivant de @Ole Henrik Skogstrøm 7 Août à 7:57
Le commentaire "si je ...utilisez la commande afficher dans Rstudio cette erreur persiste" et "si je viens de le taper et de mettre le résultat dans la console ça marche" de @Ole Henrik Skogstrøm a révélé que l'information donnée dans le post original n'était pas suffisant.
Ma réponse ci-dessus travaille pour la question d'origine en fait demandé: la lecture des caractères spéciaux dans R. Ce n' pas de travail, et qui a été pas spécifié dans l'OP, c'est que '
View
-ing' l'objet dans RStudio affiche æøå de manière incorrecte. À la fois lors de l'exécution deView(dd)
(dd
, consultez des données factices ci-dessus) à partir de la console, et quand vous cliquez sur l'objet dans le "volet espace de travail', æøå est affiché en tant que "diamant noir de point d'interrogation" dans le visualiseur de données.D'autre part, si vous utilisez le RGui seul, sans l'aide de RStudio,
View(dd)
affiche les caractères correctement dans le visualiseur de données.Ainsi, plutôt que d'un problème avec la lecture de æøå dans R, ce qui semble être un problème avec
View
-ing dans RStudio. Voir aussi ce post sur RStudio soutien.Hmm...et
getOption("encoding")
donne "native.enc"? Juste essayer:read.table(text='"æ", "ø", "å"', sep = ",", encoding = "native.enc")
?Curieusement, si je crée un dataframe et utilisez la commande afficher dans Rstudio cette erreur persiste. Cependant, si je viens de le taper et de mettre le résultat dans la console ça marche... Aucune idée pourquoi? 🙂
Afin de vous aider à vous je pense que vous devez être plus explicite sur ce que votre problème est, et beaucoup plus clair sur ce que vous avez essayé. Veuillez fournir une quantité minimale reproductible exemple. A ma réponse travailler pour le problème décrit dans ton post original? Vous n'avez pas mentionné l'utilisation de 'vue de la commande dans Rstudio'.
OriginalL'auteur Henrik
Hei Henrik, j'ai eu le même problème lors de fichiers csv (produit par Excel) contenant Ø Æ Å, où inauguré en R ils l'affichage des lettres norvégiennes comme un diamant noir avec un blanc de point d'interrogation dans le milieu. Pour moi le problème était certainement de codage de base, cependant, je ne pouvais pas utiliser avec succès "codage" ou "fileEncoding" pour les ouvrir correctement.
J'ai résolu le problème sur mon système en ouvrant le fichier csv dans le bloc-notes puis de les convertir dans un fichier texte et de la modification de l'encodage à partir de "ANSI" à "UTF-8". Voir l'exemple.
Le lien ci-dessous contient deux fichiers csv créé par excel, une codée dans MS-DOS encodage (Noms CSV, MS-dos) à l'autre codée dans la "Virgule" (Noms CSV) style
https://drive.google.com/folderview?id=0BzoGQiFdDwiNNm02UnNLVVNja3c&usp=partage
de les ouvrir à la fois dans le bloc-notes doit montrer que le MS-DOS version incorrecte de la représentation des lettres (et donc peut être ignoré) tandis que les "virgules" version a la bonne représentation. Enregistrer les Noms "CSV" un fichier en tant que fichier texte avec l'encodage "UTF-8" et a appelé "les Noms de CSV UTF8". Définissez votre répertoire de travail dans la R dans le dossier où se trouvent les fichiers et exécutez le code suivant.
test1 doit afficher le diamant noir avec un point d'interrogation test2 doit afficher les Noms correctement.
Je pense que les Réponses précédentes n'ont pas travaillé parce que le tableau a été créé par un R avec les R réglage de l'encodage des caractères, où, comme le problème que j'ai eu et je crois que vous aussi, c'est qu'un autre logiciel de système de réglage de l'encodage.
Cette solution n'est pas très utile si vous avez beaucoup de fichiers à travailler sur, mais il est au moins un début.
OriginalL'auteur Jonno Bourne