2017-08-23 1 views
0

J'ai installé Microsoft-R-Open 3.4.0 sur une machine Red Hat Linux Enterprise 7.3 en suivant les instructions https://mran.microsoft.com/documents/rro/installation/. R démarre et semble bien se passer à première vue. Cependant, lorsque je tente de lister les fichiers dans un répertoire avec la commande'translateCharUTF8' doit être appelé sur une exécution CHARSXP arrêtée

files <- list.files(path="/home/username/directory_name/", pattern="*.Rda",, full.names=T, recursive=FALSE) 

Je reçois l'erreur

translateCharUTF8' must be called on a CHARSXP 
Execution halted 

Sur ma machine windows locale la commande fonctionne très bien. Googling ce rien ne se pose vraiment sauf que l'installation peut être cassée. La chose étrange est que si je copie et colle la commande dans R et l'exécute, cela ne fonctionne pas, mais si je la copie et la colle dans R et change cette commande d'une manière qui ne devrait pas changer son résultat mais seulement ajouter des espaces ou quelque chose comme ça, il pourrait fonctionner. Par exemple. changer à

files <- list.files(path = "/home/username/directory_name/", pattern = "*.Rda",, full.names = T, recursive = FALSE) 

pourrait fonctionner, pourrait ne pas fonctionner et retourner la même erreur, ou peut exécuter, mais qui pourrait revenir quand je puis tapez « fichiers »

[1]Error: 'getCharCE' must be called on a CHARSXP 

Lors de l'utilisation R de la R fondation (https://www.r-project.org/, installé via EPEL), j'obtiens la même erreur et le même comportement.

La commande sessionInfo() renvoie les éléments suivants:

sessionInfo() 
R version 3.3.2 (2016-10-31) 
Platform: x86_64-redhat-linux-gnu (64-bit) 
Running under: Red Hat Enterprise Linux Server 7.3 (Maipo) 

locale: 
[1] LC_CTYPE=en_US.UTF-8  LC_NUMERIC=C 
[3] LC_TIME=en_US.UTF-8  LC_COLLATE=en_US.UTF-8 
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 
[7] LC_PAPER=en_US.UTF-8  LC_NAME=C 
[9] LC_ADDRESS=C    LC_TELEPHONE=C 
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C 

attached base packages: 
[1] stats  graphics grDevices utils  datasets methods base 

uname -Mme me donne:

Linux 3.10.0-514.el7.x86_64 x86_64 

Toute aide serait grandement appréciée, meilleures salutations

Stefan

+0

Avez-vous des fichiers avec des noms contenant des caractères accentués? Notez également que 'pattern' est supposé être une regex, pas un glob. –

+0

Cela fonctionne-t-il si vous utilisez 'pattern = glob2rx (" *. Rda ")'? – hannes101

+0

Je miroir ce que Hong et Hannes101 dit ci-dessus. Couple de plus de choses; Si vous deviez copier tous les fichiers, etc., de votre machine Linux à la boîte Windows et exécuter la même commande - quel serait le résultat? Aussi, il semble que cette erreur peut se produire s'il y a une corruption de mémoire (en plus des caractères "bizarres"), mais comme vous voyez l'erreur se produire avec MRO et Cran, je me demande si c'est ça. Enfin: Que se passe-t-il si vous redémarrez la machine Linux, puis réessayez? –

Répondre

0

Vos fichiers ont des noms contenant accentué personnages. Les remplacer par des noms purement ASCII devrait résoudre le problème.

+0

Merci, c'est vrai! –