我有一列包含以下日期和时间:
20121029 0,
20121029 100,
20121029 200,
20121029 300,
20121029 400 ...
其格式为“ int”
我的任务是更改它们,并以POSIXct格式创建一个表示时间和日期的列。
答案 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")