列の値の長いリストを時:分:秒から数秒に変換しようとしています。値がH:M:S形式である限り、以下のコードは正常に動作しますが、M:S形式(時間がないため)のランダムな行に値があります。私はそれらの上で以下のコードを実行しようとすると、私は明らかにそれらの値のそれぞれのNAを取得します。 M:S形式の値だけを検索し、H:M:S形式のみを検索して別々に変換する方法はありますか?一度にすべてを変換できるように、各M:S値に時間値を追加する必要がありますか?以下の私のコードは:lubridate
パッケージを使用している間時間:分:秒から秒
as.numeric(strptime(df$x, format="%H:%M:%S") - as.POSIXct(format(Sys.Date())), units="secs")
Example of data:
Time
12:22:05
42:44
Example of data after running above:
Time
44525
NA
ちなみに、目標は午前0時からの秒数(OPの編集には明らかおかげである:Sフォーマットは、実装することも非常に簡単と思われますちょうど今)。 – Frank
ありがとう、私はこれが動作するはずだと思います。私はそれを実行すると答えを受け入れるだろう!私は実際に深夜から数秒ではなく、単にH:M:SからSへの変換を探しています。私は24を超える時間を持ついくつかの値を持っているので、私が以前使っていた方法について考えると、それらの値はあまりうまく機能しません。 – coderX
'lubridate'は時間をとり、それが表す日の秒数を返す' period_to_seconds'関数を持っています。私はあなたがなぜ24を超える時間価値を持っているのか、少し時間がかかるのではなく、期間であるのか、少し混乱しています。 –