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