2017-08-23 1 views
0

Ich installierte Microsoft-R-Open 3.4.0 auf einem Red Hat Linux Enterprise 7.3-Rechner nach den Anweisungen https://mran.microsoft.com/documents/rro/installation/. R startet und scheint auf den ersten Blick gut zu sein. Allerdings, wenn ich versuche, die Dateien in einem Verzeichnis zur Liste mit dem Befehl'translateCharUTF8' muss auf einer CHARSXP-Ausführung aufgerufen werden angehalten

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

ich den Fehler

translateCharUTF8' must be called on a CHARSXP 
Execution halted 

Auf meinem lokalen Windows-Rechner des Befehl funktioniert einwandfrei. Googling das nichts wirklich kommt außer, dass die Installation möglicherweise gebrochen werden. Das komische Ding ist, dass, wenn ich den Befehl in R kopiere und einfüge und es ausführe, es nicht funktioniert, aber wenn ich ihn kopiere und in R einfüge und diesen Befehl in einer Weise ändere, die sein Ergebnis nicht ändern sollte aber fügen Sie nur Leerzeichen oder etwas ähnliches hinzu. Z.B. arbeiten, die gleichen Fehler nicht funktionieren könnte und zurück könnte es zu

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

ändern oder vielleicht ausführen, aber wenn ich dann „Dateien“, die Rückgabe könnte

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

Wenn R mit der R- Fundament (https://www.r-project.org/, über EPEL installiert), bekomme ich den gleichen Fehler und das gleiche Verhalten.

Der Befehl Session() gibt die folgenden:

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 -Mrs gibt mir:

Linux 3.10.0-514.el7.x86_64 x86_64 

Jede Hilfe wäre sehr dankbar, freundlichen Grüßen

Stefan

+0

Haben Sie Dateien mit Namen mit Akzentbuchstaben? Beachten Sie auch, dass 'pattern' eine Regex ist, kein glob. –

+0

Funktioniert es, wenn Sie 'pattern = glob2rx (" *. Rda ")' verwenden? – hannes101

+0

Ich spiegle, was Hong und hannes101 oben sagt. Ein paar mehr Dinge; Wenn Sie alle Dateien usw. von Ihrer Linux-Box in die Windows-Box kopieren und den gleichen Befehl ausführen würden - was wäre das Ergebnis? Es scheint auch, dass dieser Fehler auftreten kann, wenn es eine Speicherbeschädigung gibt (zusätzlich zu "komischen" Zeichen), aber wie Sie sehen, dass der Fehler sowohl mit MRO als auch mit CRAN passiert, frage ich mich, ob das so ist. Schließlich: Was passiert, wenn Sie die Linux-Box neu starten und es dann erneut versuchen? –

Antwort

0

Ihre Dateien haben Namen mit Akzent Figuren. Wenn Sie sie in reine ASCII-Namen ändern, sollte das Problem behoben sein.

+0

Danke, es hat! –

Verwandte Themen