2016-04-21 68 views
-1

目前我有一個時間格式爲yyyy-mm-dd hh:mm:ss的列(例如2015-10-10 04:10:45),我希望提取可能使用as.POSIXlt(x)$hour的小時其中x是我的列。從一列時間提取小時

不幸的是,這個函數返回一個滿載0的向量,但是如果我做了類似as.POSIXlt("2015-10-10 04:10:45")$hour的事情,我會收到4這就是我想要的。

我怎樣才能做到這一點與整個列?

+1

請閱讀有關的信息[如何提出一個很好的問題(http://stackoverflow.com/help/how-問)和如何給出[可重現的例子](http://stackoverflow.com/questions/5963269)。這會讓其他人更容易幫助你。 – zx8754

+1

你的意思是'as.POSIXlt(myData $ x)$ hour'? – zx8754

回答

2

我只是在做我的數據集完全一樣的東西......

format(as.POSIXct(df$datetime, format="%Y-%m-%d %H:%M:%S"), format="%H:%M:%S") 
#[1] "04:10:45" 
+1

這樣做的工作,謝謝。 – user3276768

+4

@ user3276768你能解釋一下這個答案如何比你的嘗試更好,哪些不起作用? 'as.POSIXlt(c(「2015-10-10 04:10:45」,「2015-10-10 05:10:45」,「2015-10-10 06:10:45」))$ hour'對於矢量來說工作得非常好。從你寫的你想要一個整數小時不是一個字符串與分鐘和秒。我不知道這裏發生了什麼。 –

+0

@DavidArenburg我認爲他的意思是「'4'不是我想要的」 – Sotos