1

初心者、初投稿です(お手柔らかにお願いします)。私はこれを数時間解決しようとしてきたので、最終的にアドバイスを求めることにしました。

readxl でインポートする大きなスプレッドシートがあります。これには、日付 (dd/mm/yyyy 形式) の 1 つの列と、 hh :mm 形式の複数の時間列が含まれています。

基本的に、時間と日付の両方の列をインポートして結合できるようにしたいので、経過時間などの他の計算を行うことができます。

  • R に col-types を推測させてインポートすると、時刻が POSIXct に変換されますが、これらには 1899 年の日付が付加されます: R_POSIXct

  • readxl に時刻列を数値に割り当てるように強制すると、10 進数 (07:35 の場合は 0.315972222) が得られ、同様の構文を使用して変換しようとしました。

    format(as.POSIXct(Sys.Date() + 0.315972222), "%Y-%m-%d %H:%M:%S", tz="UTC")

すなわち

df$datetime <- format(as.POSIXct(df$date + df$time), "%Y-%m-%d %H:%M", tz="UTC")

これにより、正しい日付が返されますが、時刻は 00:00 であり、渡された時刻ではありません。

私はここで検索してみましたが、投稿がまったく同じ質問ではないことがわかりました (例:日付と時刻の列を dd/mm/yyyy hh:mm に結合する)。 R を開始して数か月が経ちましたが、いくつかの説明が少しわかりにくいと感じています。

提案または ignposting を歓迎します (私が見つけていない解決策がある場合)

4

1 に答える 1