Получить будние дни на английском языке в R - программирование
Подтвердить что ты не робот

Получить будние дни на английском языке в R

Я использую R за пределами США, и у меня все работает на английском языке, но результат weekdays() по-прежнему находится на испанском языке:

Day <- seq(as.Date("2013-06-01"), by=1, len=30)
weekdays(Day)
[1] "sábado"    "domingo"   "lunes"     "martes"    "miércoles"  (...)

Любые идеи о том, как получить будние дни на английском языке?

4b9b3361

Ответ 1

Печать объектов Date и POSIX*t, по-видимому, контролируется категорией LC_TIME.

В Windows вы можете изменить его следующим образом:

## First in Spanish
Sys.setlocale("LC_TIME","Spanish Modern Sort")
# [1] "Spanish_Spain.1252"
weekdays(Sys.Date()+0:6)
# [1] "lunes"     "martes"    "miércoles" "jueves"    "viernes"   "sábado"   
# [7] "domingo"  

## Then back to (US) English
Sys.setlocale("LC_TIME","English United States")
# [1] "English_United States.1252"
weekdays(Sys.Date()+0:6)
# [1] "Monday"    "Tuesday"   "Wednesday" "Thursday"  "Friday"    "Saturday" 
# [7] "Sunday" 

В большинстве * NIXes эквивалент будет:

Sys.setlocale("LC_TIME", "en_US")

Определенные имена локалей зависят от ОС, как указано в ?Sys.setlocale. Для имен, принятых Windows, см. Здесь. Для имен, принятых Linux, см. Здесь.

Ответ 2

Из моего ответа здесь, вы можете получить будние дни на английском языке, не вникая в такие локали:

c("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", 
  "Friday", "Saturday")[as.POSIXlt(Day)$wday + 1]

Ответ 3

Sys.setlocale("LC_TIME", "C")

сделал трюк для меня. Также это не приносит нам OS reports request to set locale to "EN" cannot be honored сообщение об ошибке.

Ответ 4

В окнах RStudio

Sys.setlocale("LC_TIME", "English")

Это единственное, что сработало для меня.

Ответ 5

Я столкнулся с той же проблемой, пытающейся изменить локаль от es_ES до en_US (оба UTF-8).

Сообщение

R задается основной рабочей областью R, поскольку оно не может изменить языковой стандарт системы. Если код вставлен в R- script, создается новое рабочее пространство (работающее), а локаль может быть переопределена.

В моем коде я включил следующие строки:

curr_locale <- Sys.getlocale("LC_TIME")
Sys.setlocale("LC_TIME","en_US.UTF-8")

#<specific code for graph generation>

Sys.setlocale("LC_TIME",curr_locale)

Это внесло изменения!