[英]Reverse the order between year and days in a datetime vector
我有一些原始數據
po59<-structure(list(case_id = c("WC4120721", "WC4120667", "WC4120689",
"WC4121068", "WC4120667", "WC4120666", "WC4120667", "WC4121068",
"WC4120667", "WC4121068", "WC4121068", "WC4120666", "WC4120721",
"WC4120666", "WC4120666"), lifecycle = c(110, 110, 110, 110,
120, 110, 130, 120, 10, 130, 10, 120, 120, 130, 10), action = c("WC4120721-CN354877",
"WC4120667-CN354878", "WC4120689-CN356752", "WC4121068-CN301950",
"WC4120667-CSW310", "WC4120666-CN354878", "WC4120667-CSW308",
"WC4121068-CSW303", "WC4120667-CSW309", "WC4121068-CSW308", "WC4121068-CSW309",
"WC4120666-CSW310", "WC4120721-CSW310", "WC4120666-CSW308", "WC4120666-CSW309"
), activity = c("Forged Wire, Medium (Sport)", "Forged Wire, Medium (Sport)",
"Forged Wire, Medium (Sport)", "Forged Wire, Medium (Sport)",
"BBH-1&2", "Forged Wire, Medium (Sport)", "TCE Cleaning", "SOLO Oil",
"Tempering", "TCE Cleaning", "Tempering", "BBH-1&2", "BBH-1&2",
"TCE Cleaning", "Tempering"), resource = c("3419", "3216", "3409",
"3201", "C3-100", "3216", "C3-080", "C3-030", "C3-090", "C3-080",
"C3-090", "C3-100", "C3-100", "C3-080", "C3-090"), timestamp = c("03.12.20 6:00",
"04.12.20 23:58", "08.12.20 16:56", "10.12.20 5:42", "10.12.20 22:57",
"11.12.20 10:13", "11.12.20 14:17", "11.12.20 21:20", "12.12.20 2:32",
"12.12.20 6:35", "12.12.20 14:50", "14.12.20 13:50", "14.12.20 19:11",
"15.12.20 1:10", "15.12.20 9:25")), row.names = c(NA, -15L), class = c("tbl_df",
"tbl", "data.frame"))
然后我轉換為bupaR
object :
po59br<-bupaR::eventlog(eventlog = po59,
case_id = "case_id",
activity_id = "activity",
activity_instance_id = "action",
lifecycle_id = "lifecycle",
timestamp = "timestamp",
resource_id = "resource"
)
我嘗試為日期時間數據提供如下格式: 2020-12-03 06:00:00
而不是0003-12-20 06:00:00
po59$timestamp<-as.POSIXct(po59$timestamp,format="%Y.%m.%d
%H:%M",tz=Sys.timezone())
之前和之后:
po59$timestamp
# [1] "03.12.20 6:00" "04.12.20 23:58" "08.12.20 16:56" "10.12.20 5:42" "10.12.20 22:57" "11.12.20 10:13" "11.12.20 14:17"
# [8] "11.12.20 21:20" "12.12.20 2:32" "12.12.20 6:35" "12.12.20 14:50" "14.12.20 13:50" "14.12.20 19:11" "15.12.20 1:10"
# [15] "15.12.20 9:25"
as.POSIXct(po59$timestamp, format="%d.%m.%y %H:%M")
# [1] "2020-12-03 06:00:00 EST" "2020-12-04 23:58:00 EST" "2020-12-08 16:56:00 EST" "2020-12-10 05:42:00 EST"
# [5] "2020-12-10 22:57:00 EST" "2020-12-11 10:13:00 EST" "2020-12-11 14:17:00 EST" "2020-12-11 21:20:00 EST"
# [9] "2020-12-12 02:32:00 EST" "2020-12-12 06:35:00 EST" "2020-12-12 14:50:00 EST" "2020-12-14 13:50:00 EST"
# [13] "2020-12-14 19:11:00 EST" "2020-12-15 01:10:00 EST" "2020-12-15 09:25:00 EST"
這是您第一次讀入和處理此數據時應該執行的操作,而不是您在timestamp
上進行的任何其他轉換:
po59$timestamp <- as.POSIXct(po59$timestamp, format="%d.%m.%y %H:%M")
po59
# # A tibble: 15 x 6
# case_id lifecycle action activity resource timestamp
# <chr> <dbl> <chr> <chr> <chr> <dttm>
# 1 WC4120721 110 WC4120721-CN354877 Forged Wire, Medium (Sport) 3419 2020-12-03 06:00:00.0000
# 2 WC4120667 110 WC4120667-CN354878 Forged Wire, Medium (Sport) 3216 2020-12-04 23:58:00.0000
# 3 WC4120689 110 WC4120689-CN356752 Forged Wire, Medium (Sport) 3409 2020-12-08 16:56:00.0000
# 4 WC4121068 110 WC4121068-CN301950 Forged Wire, Medium (Sport) 3201 2020-12-10 05:42:00.0000
# 5 WC4120667 120 WC4120667-CSW310 BBH-1&2 C3-100 2020-12-10 22:57:00.0000
# 6 WC4120666 110 WC4120666-CN354878 Forged Wire, Medium (Sport) 3216 2020-12-11 10:13:00.0000
# 7 WC4120667 130 WC4120667-CSW308 TCE Cleaning C3-080 2020-12-11 14:17:00.0000
# 8 WC4121068 120 WC4121068-CSW303 SOLO Oil C3-030 2020-12-11 21:20:00.0000
# 9 WC4120667 10 WC4120667-CSW309 Tempering C3-090 2020-12-12 02:32:00.0000
# 10 WC4121068 130 WC4121068-CSW308 TCE Cleaning C3-080 2020-12-12 06:35:00.0000
# 11 WC4121068 10 WC4121068-CSW309 Tempering C3-090 2020-12-12 14:50:00.0000
# 12 WC4120666 120 WC4120666-CSW310 BBH-1&2 C3-100 2020-12-14 13:50:00.0000
# 13 WC4120721 120 WC4120721-CSW310 BBH-1&2 C3-100 2020-12-14 19:11:00.0000
# 14 WC4120666 130 WC4120666-CSW308 TCE Cleaning C3-080 2020-12-15 01:10:00.0000
# 15 WC4120666 10 WC4120666-CSW309 Tempering C3-090 2020-12-15 09:25:00.0000
數據
po59 <- structure(list(case_id = c("WC4120721", "WC4120667", "WC4120689", "WC4121068", "WC4120667", "WC4120666", "WC4120667", "WC4121068", "WC4120667", "WC4121068", "WC4121068", "WC4120666", "WC4120721", "WC4120666", "WC4120666"), lifecycle = c(110, 110, 110, 110, 120, 110, 130, 120, 10, 130, 10, 120, 120, 130, 10), action = c("WC4120721-CN354877", "WC4120667-CN354878", "WC4120689-CN356752", "WC4121068-CN301950", "WC4120667-CSW310", "WC4120666-CN354878", "WC4120667-CSW308", "WC4121068-CSW303", "WC4120667-CSW309", "WC4121068-CSW308", "WC4121068-CSW309", "WC4120666-CSW310", "WC4120721-CSW310", "WC4120666-CSW308", "WC4120666-CSW309"), activity = c("Forged Wire, Medium (Sport)", "Forged Wire, Medium (Sport)", "Forged Wire, Medium (Sport)", "Forged Wire, Medium (Sport)", "BBH-1&2", "Forged Wire, Medium (Sport)", "TCE Cleaning", "SOLO Oil", "Tempering", "TCE Cleaning", "Tempering", "BBH-1&2", "BBH-1&2", "TCE Cleaning", "Tempering"), resource = c("3419", "3216", "3409", "3201", "C3-100", "3216", "C3-080", "C3-030", "C3-090", "C3-080", "C3-090", "C3-100", "C3-100", "C3-080", "C3-090"), timestamp = c("03.12.20 6:00", "04.12.20 23:58", "08.12.20 16:56", "10.12.20 5:42", "10.12.20 22:57", "11.12.20 10:13", "11.12.20 14:17", "11.12.20 21:20", "12.12.20 2:32", "12.12.20 6:35", "12.12.20 14:50", "14.12.20 13:50", "14.12.20 19:11", "15.12.20 1:10", "15.12.20 9:25")), row.names = c(NA, -15L), class = c("tbl_df", "tbl", "data.frame"))
您可以使用 library lubridate
來修復您的日期。
從與您的問題完全一致的數據開始,通過切換年份和日期來update
它們。 (也將 2K 加回年份。)
library(lubridate)
po59$timestamp <- update(po59$timestamp,
year = 2000 + day(po59$timestamp),
day = year(po59$timestamp))
head(po59)
# # A tibble: 6 × 6
# case_id lifecycle action activity resou…¹ timestamp
# <chr> <dbl> <chr> <chr> <chr> <dttm>
# 1 WC4120721 110 WC4120721-CN354877 Forged Wir… 3419 2020-12-03 06:00:00
# 2 WC4120667 110 WC4120667-CN354878 Forged Wir… 3216 2020-12-04 23:58:00
# 3 WC4120689 110 WC4120689-CN356752 Forged Wir… 3409 2020-12-08 16:56:00
# 4 WC4121068 110 WC4121068-CN301950 Forged Wir… 3201 2020-12-10 05:42:00
# 5 WC4120667 120 WC4120667-CSW310 BBH-1&2 C3-100 2020-12-10 22:57:00
# 6 WC4120666 110 WC4120666-CN354878 Forged Wir… 3216 2020-12-11 10:13:00
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.