2016-06-27 56 views
0

我正在讀取一個CSV文件,其中有兩列指定日期(時間)(小數秒)。格式是這樣的:2015-07-13 09:05:52.761,這原本是一個因素。 我試着讀了列在使用此POSIXlt和幾個變化:以CSV格式讀取CSV列(POSIX格式的分數秒)

time_d$time_started_visit <- as.POSIXlt(time_d$time_started_visit, format="%Y-%m-%d %H:M%:%OS") 

這一切都被列的值轉換爲NA。我真的很想轉換這個,所以我可以得到兩列之間的時間差異,有什麼建議嗎?

+0

看來你設法正確地讀取文件,並且你需要一種方法將datetime列轉換爲適當的格式。是對的嗎? – thepule

+0

是的,這是正確的。我在閱讀數據時遇到了困難,例如:2015-07-13 09:05:52.761並將其轉換爲可以找到時間差異的格式。 – user6484056

+0

如果列最初是因素,請確保在使用as.POSIX函數之前通過「as.character」進行轉換。 – Dave2e

回答

0

您使用M%代替%M

# If you wish to retain the fractional seconds 
options(digits.secs = 3) 
as.POSIXlt(x, format="%Y-%m-%d %H:%M:%OS") 
+0

非常感謝! – user6484056

0

您在代碼中有一個小錯誤:

不要使用format="%Y-%m-%d %H:M%:%OS但: format= "%Y-%m-%d %H:%M:%OS" 你改變%MM%

全代碼是:

as.POSIXlt(temp$x, format= "%Y-%m-%d %H:%M:%OS")