У меня проблема с R и короткими сокращениями месяца в Windows.
Я только что обновил свой компьютер до Windows 10, локальная настройка Windows на испанском, но R был переконфигурирован на английском (полагаю,).
У меня есть некоторые данные, где Дата в формате *"%b %d, %Y"*
и на испанском, поэтому, если дата January 1st 2018
, она будет записана как ***ene 1, 2018***
.
Перед обновлениемWindows, у меня не было проблем с установкой даты как:
as.Date("ene 1, 2018", format = "%b %d, %Y")
, которая в свою очередь вернула
"2018-01-01"
как и ожидалось.
После обновления у меня возникли проблемы с чтением этого формата дат, поэтому если я посмотрел на sessionInfo()
, он показал мне LC_TIME = C.Я изменил его на испанский с Sys.setlocale("LC_TIME","Spanish")
Теперь, если я напишу format(as.Date('2018-01-01'), "%b %d, %Y")
, я получу
"ен. 01, 2018" *
(обратите внимание, что после короткого названия месяца есть точка)
Я хочу удалить точку в ене. , потому что мои даты пишутся без точки, поэтому теперь обработанные даты дают мне NA .
Что немного забавно, так это то, что, добавив Sys.setlocale("LC_TIME","Spanish")
в мой код, а затем запустив его, я получаю столбец дат в порядке.Но если я запускаю его второй раз, я получаю NA
.Поэтому мне нужно перезапустить R, если я хочу запустить код во второй раз, чтобы получить даты и отчеты (используя R Markdown) без ошибок.
Какую конфигурацию мне следует использовать?Или есть другое решение этой проблемы?
Если я напишу sessionInfo()
, я получу:
язык: LC_COLLATE = Spanish_Chile.1252 LC_CTYPE = Spanish_Chile.1252 LC_MONETARY = Spanish_Chile.1252 LC_NUMERIC = C LC_TIME = Spanish_Spain.1251050 *
Спасибо!