這個問題可能有一個非常簡單的解決方案,但是當我嘗試使用 as.POSIXlt 或 strptime 時,我一直得到一個單一的“NA”值。
我需要做的是將 3 位和 4 位數字(例如 2300 或 115)分別轉換為 23:00 或 01:15,但我根本無法使用任何代碼。
任何建議將不勝感激。謝謝你。
編輯
基本上,這個輸出的資料名聲:
Time
1 2345
2 2300
3 2130
4 2400
5 115
6 2330
7 100
8 2300
9 1530
10 130
11 100
12 215
13 2245
14 145
15 2330
16 2400
17 2300
18 2230
19 2130
20 30
應該是這樣的:
Time
1 23:45
2 23:00
3 21:30
4 24:00
5 01:15
6 23:30
7 01:00
8 23:00
9 15:30
10 01:30
11 01:00
12 02:15
13 22:45
14 01:45
15 23:30
16 24:00
17 23:00
18 22:30
19 21:30
20 00:30
uj5u.com熱心網友回復:
我認為您可以使用以下解決方案。然而,這實際上產生了一個字符向量:
gsub("(\\d{2})(\\d{2})", "\\1:\\2", sprintf("d", df$Time)) |>
as.data.frame() |>
setNames("Time") |>
head()
Time
1 23:45
2 23:00
3 21:30
4 24:00
5 01:15
6 23:30
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/351285.html
標籤:r
