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
Haben Sie Dateien mit Namen mit Akzentbuchstaben? Beachten Sie auch, dass 'pattern' eine Regex ist, kein glob. –
Funktioniert es, wenn Sie 'pattern = glob2rx (" *. Rda ")' verwenden? – hannes101
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? –