如何在R语言中将date类型列转换为dttm类型?
将Date类型转换为DateTime(dttm)类型的方法
因为你已经使用了tidyquant(它依赖lubridate包),可以直接用以下几种方法将date列从Date类型转为dttm(即POSIXct/POSIXlt,带时间的日期时间类型):
方法1:使用lubridate的as_datetime()(推荐,贴合tidyverse生态)
library(lubridate) # 对DATAWEB进行转换 DATAWEB <- DATAWEB %>% mutate(date = as_datetime(date))
该方法会自动给原日期添加00:00:00的时间部分,转换后date列的类型即为<dttm>。
方法2:使用base R的as.POSIXct()
dttm本质就是POSIXct类型,所以也可以直接用基础R函数转换:
# 基础R写法 DATAWEB$date <- as.POSIXct(DATAWEB$date) # 或者结合dplyr的写法 DATAWEB <- DATAWEB %>% mutate(date = as.POSIXct(date))
如果需要指定时区(比如UTC),可以添加tz参数:
DATAWEB <- DATAWEB %>% mutate(date = as.POSIXct(date, tz = "UTC"))
验证转换结果
执行str(DATAWEB)查看数据结构,date列的类型会显示为<dttm>或POSIXct,说明转换成功。
内容的提问来源于stack exchange,提问作者Homer Jay Simpson
相关产品推荐
相关产品推荐

