format(Sys.Date(),"%m") возвращает "07", но я бы хотел, чтобы он возвращал "7", при этом возвращая два символа при необходимости. добавление width=8 в список аргументов не помогает и ничего другого, что я пробовал.
format(Sys.Date(),"%m")
"07"
"7"
width=8
Моя конечная цель - сделать функцию чтения котировок акций на с. 182 из R в словах работают правильно.
Есть много способов сделать это, но 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)
Вы можете использовать gsub для удаления начальных нулей:
gsub
> gsub('^0','',format(Sys.Date(),"%m"),perl=TRUE) [1] "7" > gsub('^0','',format(as.Date('2010-10-10'),"%m"),perl=TRUE) [1] "10"