%H:%M:%S(class = factor)の形式で時間間隔をclass = difftimeに変換する必要があります。私は現在、これを行うにはas.difftime()を使用していますが、時間の値が> 231日以上経過すると、as.difftime()の問題が発生する
TimeElapsed_raw = as.factor(c("03:59:59", "21:00:00", "01:03:46", "44:00:00", "24:59:59"))
TimeElapsed = as.difftime(as.character(TimeElapsed_raw), format = "%H:%M:%S")
TimeElapsed
Time differences in hours
[1] 3.999722 21.000000 1.062778 NA NA
あるとき、それはNAを返します。私は、私は(as.difftimeでフォーマット文を含めるかどうか、同じ問題を抱えています):
as.difftime("65:01:17")
Time difference of NA secs
しかし、これは動作します:
as.difftime(65.1, units = "hours")
Time difference of 65.1 hours
私はまたlubridateのas.duration()関数を使用して試してみたが、それは計算値が無意味なようです。
as.duration(TimeElapsed_raw)
[1] "2s" "3s" "1s" "5s" "4s"
助けてください!
数字でのみ動作します。私は自分のデータを ':'でcsvから読み込んでいるので、それを要素や文字としてしかフォーマットできません。値にas.numeric()を使用しようとすると、私にはNAが与えられます。 – pradlee