私は現在、1列に時間を含むデータフレームに保存されたデータを扱っています。一日をいくつかの期間に分割する必要があります。これまではフルタイムでやっていた
workingdata <- read.csv(filename)
workingdata$dateI <- as.POSIXlt(workingdata$dateI,format="%Y-%m-%d %H:%M:%S")
workingdata$hourI <- workingdata$dateI$hour
workingdata$shift <- cut(workingdata$hourI, breaks=c(0,6,13,23),
labels=c("morning","midday","evening"),
include.lowest=TRUE,right=TRUE)
morning
これは問題なく機能し、0:00 から 6:59 までmidday
、7:00 から 13:59 まで、およびevening
14:00 から 23:59 までの3 つのレベルの係数を作成しました。
今、私は同様のことをしたいと思いますが、分/秒に基づいたカットを使用midday
し11:34:12
ます。純粋にPOSIXltに基づいたカットでそれを行う方法はありますか? 最善のアプローチは何ですか?
編集:カットを POSIXlt オブジェクトとして指定しようとしましたが、常に日付が含まれているように見えるので、それは私が望むものではありません...
> brk<-as.POSIXlt("11:34:12",format="%H:%M:%S")
> brk
[1] "2012-11-16 11:34:12"