2017-03-06 5 views
2

Ich versuche, die eingebaute Zeitreihe sunspots Daten in ein xts Objekt zu konvertieren und es aus mit dem folgenden Code drucken:R: Sprache ändert sich, wenn ts Objekt xts Umwandlung Objekt

sunspots.xts <- as.xts(sunspots) 
sunspots.xts 

Das Ergebnis sieht aus wie diese

enter image description here

Und hier ist mein sessionInfo() Ausgang:

R version 3.3.2 (2016-10-31) 
Platform: x86_64-w64-mingw32/x64 (64-bit) 
Running under: Windows >= 8 x64 (build 9200) 

locale: 
[1] LC_COLLATE=Chinese (Traditional)_Taiwan.950 LC_CTYPE=Chinese (Traditional)_Taiwan.950 
[3] LC_MONETARY=Chinese (Traditional)_Taiwan.950 LC_NUMERIC=C 
[5] LC_TIME=Chinese (Traditional)_Taiwan.950 

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

other attached packages: 
[1] xts_0.9-7 zoo_1.7-14 timeDate_3012.100 

loaded via a namespace (and not attached): 
[1] tools_3.3.2 grid_3.3.2 lattice_0.20-34 

Die Monate sind jetzt in traditionellem Chinesisch geschrieben, aber ich möchte, dass die Ausgabe in Englisch bleibt. Meine R-Umgebung ist komplett in Englisch. Irgendwie weiß xts mein Betriebssystem (Win 8), um auf traditionellem Chinesisch zu arbeiten und beschließt, den Ausdruck des Monats in traditionelles Chinesisch zu ändern. Es gibt ähnliche Diskussionen auf der Seite und ich habe versucht, die folgenden:

Keiner von ihnen arbeitet. Ich denke es liegt daran, dass die Frage irgendwie anders ist. Ihre Hilfe würde sehr geschätzt werden. Vielen Dank.

+0

Was ist die Ausgabe von 'sessionInfo()'? – Roland

+0

Können Sie bitte ein Beispiel der Daten in Ihre Frage bearbeiten? Bilder von Daten sind nicht besonders hilfreich. –

+0

@Roland: Danke für die Antwort. Der Ausgang der Session(): R Version 3.3.2 (2016.10.31) Plattform: x86_64-w64-mingw32/x64 (64-Bit) Rennen unter: Windows> = 8 x 64 (Build 9200) locale: [1] LC_COLLATE = Chinesisch (traditionell) _Taiwan.950 LC_CTYPE = Chinesisch (traditionell) _Taiwan.950 [3] LC_MONETARY = Chinesisch (traditionell) _Taiwan.950 LC_NUMERIC = C [5] LC_TIME = Chinesisch (traditionell) _Taiwan.950 –

Antwort

0

Als Roland commented müssen Sie Ihre Gebietsschemaeinstellungen ändern. Wenn Sie LC_TIME zu "C" ändern, werden die Zeiten in Englisch gedruckt.

# Save current LC_TIME 
def.locale <- Sys.getlocale("LC_TIME") 

# Set LC_TIME=ja_JP.UTF-8 
Sys.setlocale(category = "LC_TIME", locale = "ja_JP.UTF-8") 
sunspots.xts <- as.xts(sunspots) 
head(sunspots.xts) 
#   [,1] 
# 1月 1749 58.0 
# 2月 1749 62.6 
# 3月 1749 70.0 
# 4月 1749 55.7 
# 5月 1749 85.0 
# 6月 1749 83.5 

# Set LC_TIME=C 
Sys.setlocale(category = "LC_TIME", locale = "C") 
head(sunspots.xts) 
#   [,1] 
# Jan 1749 58.0 
# Feb 1749 62.6 
# Mar 1749 70.0 
# Apr 1749 55.7 
# May 1749 85.0 
# Jun 1749 83.5 

# Set locale back 
Sys.setlocale(category = "LC_TIME", locale = def.locale) 
+0

Vielen Dank für die detaillierte Anleitung. Es funktioniert jetzt. –

Verwandte Themen