如何让format()返回1个字符的结果?

时间:2010-07-04 01:30:18

标签: r

format(Sys.Date(),"%m")返回"07",但我希望它返回"7",同时在需要时仍返回两个字符。将<{1}}添加到参数列表中没有帮助,我也没有尝试过其他任何操作。

我的最终目标是在p上制作股票报价阅读功能。 Nutshell中的182个正常工作。

2 个答案:

答案 0 :(得分:3)

有很多方法可以做到,但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)

答案 1 :(得分:0)

您可以使用gsub删除前导零:

> gsub('^0','',format(Sys.Date(),"%m"),perl=TRUE)
[1] "7"
> gsub('^0','',format(as.Date('2010-10-10'),"%m"),perl=TRUE)
[1] "10"