Извлечение времени из Sys.time - PullRequest
0 голосов
/ 03 июля 2018

У меня есть вопрос, который, я думаю, связан с моим непониманием природы вывода Sys.time(). Я хочу сохранить вывод из R с отметкой времени в имени файла. Я пытался использовать %>% и gsub(), но не получил ожидаемого результата.

Когда я запускаю Sys.time, это выводится:

Sys.time()
[1] "2018-07-02 21:57:27 CDT"

Когда я запускаю код, который, я думаю, должен работать, это происходит:

> Sys.time() %>% gsub("^[^\\s]+\\s([^\\s]+)\\s[^\\s]+$", "\\1", .)
[1] "2018-07-02 21:57:27"

Интересно, что этот код выдает желаемое значение:

> Sys.time() %>% gsub("^[^\\s]+\\s", "", .)
[1] "21:57:27"

Есть идеи, что я делаю не так?

1 Ответ

0 голосов
/ 03 июля 2018

@ akrun, спасибо, это работает!

Я тоже понял проблему. Хотя Sys.time() печатает "2018-07-02 21:57:27 CDT" это просто форматирование. "2018-07-02 22:16:45" - фактическая строка символов.

> as.character(Sys.time())
[1] "2018-07-02 22:16:45"

Это также объясняет, почему мой второй gsub() код работал, поскольку в выводе Sys.time() есть только один символ пробела.

> Sys.time() %>% gsub("^[^\\s]+\\s", "", .)
[1] "21:57:27"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...