1
format(Sys.Date(),"%m")
返回"07"
,但我希望它返回"7"
,同时在需要时仍返回两个字符。添加width=8
到参数列表没有帮助,也没有任何其他我已经尝试过。如何获取format()返回1个字符的结果?
我的最终目标是让股票报价阅读功能在页面上。 R在坚果壳中的182个工作正常。
format(Sys.Date(),"%m")
返回"07"
,但我希望它返回"7"
,同时在需要时仍返回两个字符。添加width=8
到参数列表没有帮助,也没有任何其他我已经尝试过。如何获取format()返回1个字符的结果?
我的最终目标是让股票报价阅读功能在页面上。 R在坚果壳中的182个工作正常。
许多方法可以做到这一点,但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('^0','',format(Sys.Date(),"%m"),perl=TRUE)
[1] "7"
> gsub('^0','',format(as.Date('2010-10-10'),"%m"),perl=TRUE)
[1] "10"
嗯。谢谢。我一直在使用Nutshell的get.quotes命令手动玩,然后做一个手动的read.csv,我认为这是一个虚惊。我不确定这是什么问题,但我会检查一下。 也许我真正的问题应该是如何让这个功能起作用。 – Bill 2010-07-04 01:57:46
你的错误是什么?看起来像本书是Google Preview-able:http://oreilly.com/catalog/9780596801717/preview – apeescape 2010-07-04 02:21:49
substr()例子将只返回数字月份的最后一位,这不是十月到十二月。 – nullglob 2010-07-04 20:07:14