r - 将给定的时间戳拆分为年月日周期格式
问题描述
我正在编写 R 代码,但将日期格式拆分为年、月、日、小时格式时遇到问题。我有一个名为 Metadata 的数据框有一列X_date
,包含时间戳等'01.01.2020 00:00:00', '01.01.2020 01:00:00'
。我想将此x_date
列更改为额外的四列,即year
、和。我使用以前的答案尝试了这种方式:month
day
hour
Metadata$Date <- as.Date(Metadata$X_date)
Metadata$Time <- format(as.POSIXct(Metadata$X_date) ,format = "%Y:%m:%d %H")
它给了我这个错误:
Error in as.POSIXlt.character(as.character(x), ...) :
character string is not in a standard unambiguous format
我对 R 编程很陌生。请帮我。谢谢你的时间。
解决方案
指定的format
应该与原始向量中“日期/时间”的所有组件出现的顺序相匹配。假设'day'是第一个,然后是'month','POSIXct'中的覆盖将是
as.POSIXct(Metadata$X_date, format = "%d.%m.%Y %H:%M:%S")
由于我们要创建新列,因此可以使用tidyverse
library(tidyverse)
library(lubridate)
Metadata %>%
mutate(X_date = dmy_hms(X_date),
year = year(X_date),
month = month(X_date),
day = day(X_date),
hour = hour(X_date))
推荐阅读
- google-chrome-extension - Chrome 扩展程序无响应(browser_action 和后台脚本)
- laravel - Facebook 使用 laravel 框架上传图片
- mysql - MySQL 联合查询:在一个联合查询中将 TEMP ClaimID 字段值传递给 TEMP1 表 ClaimID
- python - 如何解决insert()缺少1个必需的位置参数:Python Sqlite3的'column_values'问题?
- nginx - 如何在不更新 Gitlab nginx 的情况下保留端口和 url?
- odata - OData v4 - 扩展不同派生类型的导航属性
- flutter - Flutter FireBase 存储带文字的图片
- c++ - 如何在 Windows Media Foundation 中获取相机外部参数?
- azure-devops - 迁移 Azure DevOps 数据时,如何解决 ReflectedWorkItemId 的 TF51005?
- json - 如何在动态嵌套结构中管理无线电选择