Как я могу получить format () для возврата результата в 1 символ? - PullRequest
1 голос
/ 04 июля 2010

format(Sys.Date(),"%m") возвращает "07", но я бы хотел, чтобы он возвращал "7", при этом возвращая два символа при необходимости. добавление width=8 в список аргументов не помогает и ничего другого, что я пробовал.

Моя конечная цель - сделать функцию чтения котировок акций на с. 182 из R в словах работают правильно.

Ответы [ 2 ]

3 голосов
/ 04 июля 2010

Есть много способов сделать это, но substr () может работать лучше. Объедините с ifelse () для двух цифр.

as.character(as.numeric(format(Sys.Date(),"%m")))

as.character(as.POSIXlt(Sys.Date())$mon + 1)

substr(format(Sys.Date(),"%m"), 2, 2)
0 голосов
/ 04 июля 2010

Вы можете использовать gsub для удаления начальных нулей:

> gsub('^0','',format(Sys.Date(),"%m"),perl=TRUE)
[1] "7"
> gsub('^0','',format(as.Date('2010-10-10'),"%m"),perl=TRUE)
[1] "10"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...