2017-07-13 3 views
2

私は日付、時間のデータフレームを持っています。私はas.POSIXctでそれを読むが、私は日付を必要としない、私は時間が必要です。それから私は持っている時間とボックスプロットを作りたい。どのように私は時間のデータを読むことができますか?データフレームの時間だけを読む方法

C1 
    13/07/2017 15:15 
    13/07/2017 15:02 
    13/07/2017 14:40 
    13/07/2017 15:15 
    13/07/2017 15:10 
    13/07/2017 15:23 
    13/07/2017 14:56 
    13/07/2017 15:15 
    13/07/2017 15:15 
    13/07/2017 14:56 
    13/07/2017 14:56 
    13/07/2017 14:56 
    13/07/2017 15:15 
    13/07/2017 15:02 
    13/07/2017 15:10 

df <- read.csv2(file="DF.csv") 


df <- as.POSIXct(df$C1, format="%H:%M:%S", tz="GMT") 
+0

あなたは 'それを読んだ後、変数をformat'する必要があります。

library(chron) time <- times(strftime(df, format="%H:%M:%S")) #select only time and create a times object 

これが結果ですPOSIXctとして。例: 'as.POSIXct(df $ C1、format ="%d /%m /%Y%H%M ")%>% フォーマット("%H:%M:%S ")' –

+0

iしかし、まだ日付が表示されます – Mori

+0

'format()'関数を使用すると、出力はHMSの文字列なので、それは起こりません。 –

答えて

2

私はあなたのデータフレームを複製し、より良いあなたの状況を複製する機能as.POSIXct()を適用しようとしました。

strftime()関数を使用して列を分割し、次に関数times()を使用して時系列オブジェクトを作成することができます。

df = data.frame(C1 = c("13/07/2017 15:15","13/07/2017 15:02","13/07/2017 14:40","13/07/2017 15:15", 
        "13/07/2017 15:10","13/07/2017 15:23","13/07/2017 14:56","13/07/2017 15:15", 
        "13/07/2017 15:15","13/07/2017 14:56","13/07/2017 14:56","13/07/2017 14:56", 
        "13/07/2017 15:15","13/07/2017 15:02","13/07/2017 15:10")) #replicate data frame 
df <- as.POSIXct(df$C1, format = "%d/%m/%Y %H:%M") #apply function to create a POSIXct object 

その後、あなたはそれは次のようだあなたのデータフレームに適用する必要がある機能:

time 
[1] 15:15:00 15:02:00 14:40:00 15:15:00 15:10:00 15:23:00 14:56:00 15:15:00 15:15:00 14:56:00 14:56:00 14:56:00 15:15:00 15:02:00 15:10:00 
class(time) 
[1] "times" 
3
library(lubridate) 
df$C1 <- hm(df$C1) 
関連する問題