我计划以“DD/MM/YY HH:MM:SS.mmmuuun”格式收集微秒精度时间戳的数据?我将如何在 R 中解析并继续在 dplyr 管道中工作?
示例:
"26/09/24 11a:16:36.5933210"
df <- data.frame(
ID = c(1, 1, 1),
Timestamp = c("26/09/24 11a:16:36.5933210",
"26/09/24 11a:16:36.6518648",
"26/09/24 11p:16:36.7280308"),
CH = c(11, 11, 11)
)
我仍然想保留日期和时间信息,以便以后与观察结果相关。注意“a”代表上午,“p”代表下午。
使用
dmy_hms
将 AM/PM 移至字符串末尾。
library(dplyr)
library(lubridate)
df %>%
mutate(Timestamp_new = dmy_hms(sub("( \\d{2})([ap])(.*$)", "\\1\\3 \\2m", Timestamp)),
ms = format(Timestamp_new, "%OS3"))
ID Timestamp CH Timestamp_new ms
1 1 26/09/24 11a:16:36.5933210 11 2024-09-26 11:16:36 36.593
2 1 26/09/24 11a:16:36.6518648 11 2024-09-26 11:16:36 36.651
3 1 26/09/24 11a:16:36.7280308 11 2024-09-26 11:16:36 36.728
请注意,您还可以将
as.POSIXct
与 "%d/%m/%y %I:%M:%OS3"
一起使用