J'ai un fichier .RData à lire sur ma machine Linux (UTF-8), mais je sais que le fichier est en Latin1 parce que je les ai créés moi-même sous Windows. Malheureusement, je n'ai pas accès aux fichiers d'origine ou à une machine Windows et j'ai besoin de lire ces fichiers sur ma machine Linux. Pour lire un fichier Rdata, la procédure normale consiste à exécuter load("file.Rdata")
. Des fonctions telles que read.csv
ont un argument encoding
que vous pouvez utiliser pour résoudre ce genre de problèmes, mais load
n'a rien de tel. Si j'essaie load("file.Rdata", encoding = latin1)
, je viens d'obtenir ce (prévu) Erreur:Lecture du fichier Rdata avec un codage différent
Error in load("file.Rdata", encoding = "latin1") : unused argument (encoding = "latin1")
Que puis-je faire d'autre? Mes fichiers sont chargés avec des variables de texte contenant des accents qui sont corrompus lorsqu'ils sont ouverts dans un environnement UTF-8.
Les fichiers RData n'ont pas d'encodage. Vous devez charger le Rdata sérialisé, puis réencoder les valeurs une fois qu'elles sont dans l'espace de travail R. Si cela reste flou après avoir lu '' Encoding', alors faites le chargement et publiez la sortie de 'dput (head (object))'. –
@ 42, cela semble résoudre le problème, trop mauvais apparemment, je dois appliquer 'Encoding (x)' à chaque vecteur dans ma base de données. Je vais y jeter un coup d'oeil et je reviendrai vers vous. –
Vous pouvez enregistrer les noms dans l'espace de travail avant et après le chargement, puis travailler sur la différence pour les éléments qui ont des valeurs de caractères. –