我有一個.csv
從 R 中的資料框匯出的資料集。該資料集包含一個日期 時間列,其格式設定為與POSIXct
將其匯出為.csv
檔案之前一樣。當我將保存的.csv
檔案匯入回 R 時,日期 時間列的格式已更改為 a character
,如下所示:(000-00-00T00:00:00Z
請參見我的部分資料的頭部下方)。
ID Timestamp X_mean X_min X_max
1 2021-06-30T08:00:00Z -0.4313333 -5.914 4.129
2 2021-06-30T08:00:01Z -0.3817667 -5.641 4.082
3 2021-06-30T08:00:02Z -0.2770667 -0.484 -0.109
4 2021-06-30T08:00:03Z -0.3686667 -0.863 -0.148
5 2021-06-30T08:00:04Z -0.2696667 -0.41 -0.102
6 2021-06-30T08:00:05Z -0.4150000 -0.734 -0.145
如果可能的話,我真的很想將日期 時間回傳到 POSIXct 變數,所以它再次看起來像這樣:YYYY-MM-DD HH:MM:SS
,沒有“ T ”和“ Z ”。
我已嘗試應用此處和此處給出的解決方案,但它們似乎不起作用,或者我在更改代碼以使其適用于我的資料框時做錯了。我只以NA結束。
有沒有辦法可以將格式改回POSIXct
?
uj5u.com熱心網友回復:
我們可以ymd_hms
使用lubridate
df1$Timestamp <- lubridate::ymd_hms(df1$Timestamp)
uj5u.com熱心網友回復:
隨時包的anytime
功能是為此而設計的:無論輸入資料型別如何,都可以可靠且輕松地決議任何(合理的)時間格式,并且需要格式。我們可以演示一下:
代碼
## re-create your data
dat <- read.table(text="ID Timestamp X_mean X_min X_max
1 2021-06-30T08:00:00Z -0.4313333 -5.914 4.129
2 2021-06-30T08:00:01Z -0.3817667 -5.641 4.082
3 2021-06-30T08:00:02Z -0.2770667 -0.484 -0.109
4 2021-06-30T08:00:03Z -0.3686667 -0.863 -0.148
5 2021-06-30T08:00:04Z -0.2696667 -0.41 -0.102
6 2021-06-30T08:00:05Z -0.4150000 -0.734 -0.145", header=TRUE)
## add a Datetime column
dat$datetime <- anytime::anytime(dat$Timestamp)
## look at dat
dat
輸出
> dat <- read.table(text="ID Timestamp X_mean X_min X_max
1 2021-06-30T08:00:00Z -0.4313333 -5.914 4.129
2 2021-06-30T08:00:01Z -0.3817667 -5.641 4.082
3 2021-06-30T08:00:02Z -0.2770667 -0.484 -0.109
4 2021-06-30T08:00:03Z -0.3686667 -0.863 -0.148
5 2021-06-30T08:00:04Z -0.2696667 -0.41 -0.102
6 2021-06-30T08:00:05Z -0.4150000 -0.734 -0.145", header=TRUE)
> dat$datetime <- anytime::anytime(dat$Timestamp)
> dat
ID Timestamp X_mean X_min X_max datetime
1 1 2021-06-30T08:00:00Z -0.431333 -5.914 4.129 2021-06-30 08:00:00
2 2 2021-06-30T08:00:01Z -0.381767 -5.641 4.082 2021-06-30 08:00:01
3 3 2021-06-30T08:00:02Z -0.277067 -0.484 -0.109 2021-06-30 08:00:02
4 4 2021-06-30T08:00:03Z -0.368667 -0.863 -0.148 2021-06-30 08:00:03
5 5 2021-06-30T08:00:04Z -0.269667 -0.410 -0.102 2021-06-30 08:00:04
6 6 2021-06-30T08:00:05Z -0.415000 -0.734 -0.145 2021-06-30 08:00:05
>
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/478143.html
下一篇:如果兩個日期之間的條件按小時