3
間隔mm格式爲5個分鐘的時間間隔爲25小時的時間內R +一個整數轉換爲HH:使用正則表達式+ GSUB
> interval
[1] 45 50 55 100 105 110 115 120 125 130 135 2035 2040 2045 2050 2055 2100 2105 2110 2115 2120 2125
我想插入:
把它放在一個時間fomat一個子集我可以轉換爲時間格式
> gsub('^([0-9]{1,2})([0-9]{2})$', '\\1:\\2', interval)
[1] "45" "50" "55" "1:00" "1:05" "1:10" "1:15" "1:20" "1:25" "1:30" "1:35" "20:35" "20:40" "20:45"
[15] "20:50" "20:55" "21:00" "21:05" "21:10" "21:15" "21:20" "21:25"
我已經得到它幾乎所有的例子工作。
我如何得到它,這樣它的工作原理上的數字"5"
... "45" "50" "55"
在這裏找到這個複製,但這並不使用
認爲它可能很簡單:)你能簡單地解釋一下'%04d'爲我的清晰和參考。 tks – HattrickNZ 2014-10-08 22:39:06
或更改:'sub(「(..)」,「\\ 1:」,sprintf(「%04d」,interval))' – 2014-10-08 23:50:52
嘗試運行'sprintf('%04d',interval)'瞭解它的功能。您可以查看'?sprintf'來獲取函數如何工作的一些示例,以及如何指定不同的格式。正如你所看到的,它填充數字左邊的零,直到有四位數(在這種情況下)。 'sprintf'是來自C語言的一個非常古老的函數,具有一種神祕的語法。我使用它,因爲我知道如何快速做基本的事情,不是因爲它很容易學習。 – nograpes 2014-10-09 00:05:08