在R中将格式从数字对象更改为POSIXct对象

时间:2019-02-09 01:49:27

标签: r posixct

我有一列包含以下日期和时间:

20121029 0,
20121029 100,
20121029 200,
20121029 300,
20121029 400 ...

其格式为“ int”

我的任务是更改它们,并以POSIXct格式创建一个表示时间和日期的列。

1 个答案:

答案 0 :(得分:0)

这不是最优雅的解决方案,但它可行

library(stringr)
library(dplyr)

example_data <- c("20121029 0", "20121029 100", "20121029 2100")

# Extract the times
times <- example_data %>% strsplit(. , " ") %>% sapply(. , "[", 2)
times <- str_pad(times, max(nchar(times)), side="right", pad="0")

# Extract just the dates
dates <- example_data %>% substr(., 1, 8)

# Combine date and time and convert to POSIXct
date_time <- paste(dates, times) %>% as.POSIXct(., format="%Y%m%d %H%M")