我想將此表的 datetime 物件轉換為具有 dmy hms 日期變數的物件,以便進行例外檢測建模:
| 約會時間 | 交易價值 |
|---|---|
| 2021-01-01 04:00:00 | 2435.88 |
| 2021-01-01 04:00:00 | 885.27 |
所以我使用這段代碼:
transactions_ts%>%
mutate(Transaction_datetime = dmy_hms(Transaction_datetime, format = "%y-%m-%d %H:%M:%S"))
它給了我錯誤
Error in mutate(., Transaction_datetime = dmy_hms(Transaction_datetime, :
? `Transaction_datetime` must be size 2 or 1, not 3.
我能做些什么來解決這個問題?為什么它不決議日期資料?
uj5u.com熱心網友回復:
我懷疑問題在于您使用的是dmy_hms()(即日-月-年時-分-秒)而不是ymd_hms()(年-月-日時-分-秒)。此外,如果日期為“標準”即“ymd h:m:s”,則無需指定格式。
這是一個說明正確用法的示例:
library(tidyverse)
library(lubridate)
#>
#> Attaching package: 'lubridate'
#> The following objects are masked from 'package:base':
#>
#> date, intersect, setdiff, union
df <- read.table(text = "rownumber datetime transactionvalue
1 '2021-01-01 04:00:00' 2435.88
2 '2021-01-01 04:00:00' 885.27", header = TRUE)
df
#> rownumber datetime transactionvalue
#> 1 1 2021-01-01 04:00:00 2435.88
#> 2 2 2021-01-01 04:00:00 885.27
df %>%
mutate(Transaction_datetime = ymd_hms(datetime)) %>%
str()
#> 'data.frame': 2 obs. of 4 variables:
#> $ rownumber : int 1 2
#> $ datetime : chr "2021-01-01 04:00:00" "2021-01-01 04:00:00"
#> $ transactionvalue : num 2436 885
#> $ Transaction_datetime: POSIXct, format: "2021-01-01 04:00:00" "2021-01-01 04:00:00"
由reprex 包于 2022-10-17 創建(v2.0.1)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/515257.html
標籤:r润滑
下一篇:如何按組跨行重復方式
