将日期存储在R中
我只想将datalist[[1]]更改为一个数据帧,它的V2和V3是日期和时间格式将日期存储在R中,r,date,R,Date,我只想将datalist[[1]]更改为一个数据帧,它的V2和V3是日期和时间格式 time<-apply(datalist[[1]],1,function(data){ #set the locale time to meet the format Sys.setlocale("LC_TIME","English") t_date<-paste(data[2],data[3],sep=" "); s_date<-as.POSIXct(t_date,for
time<-apply(datalist[[1]],1,function(data){
#set the locale time to meet the format
Sys.setlocale("LC_TIME","English")
t_date<-paste(data[2],data[3],sep=" ");
s_date<-as.POSIXct(t_date,format="%d-%b-%y %H:%M:%S");
print(s_date);
return(s_date)
})
当我打印s_日期时,它显示的格式类似于2013-11-03 14:23:37 CST;但是当我打印所有结果的聚合时,它显示为383472300格式,我们可以粘贴列而不使用apply循环
或
将强制“POSIXct”类应用于“numeric”,因为对象不是严格意义上的向量。但是,我们可以将结果转换回预期的类
res <- apply(datalist[[1]], 1, function(data) {
t_date <- paste(data[2], data[3], sep=" ")
s_date <- as.POSIXct(t_date, format = '%d-%b-%y %H:%M:%S')})
as.POSIXct(res, origin='1970-01-01')
#[1] "2001-08-01 03:15:25 EDT" "2005-09-20 10:12:09 EDT"
as.POSIXct(do.call(paste, datalist[[1]][-1]), format='%d-%b-%y %H:%M:%S')
#[1] "2001-08-01 03:15:25 EDT" "2005-09-20 10:12:09 EDT"
res <- apply(datalist[[1]], 1, function(data) {
t_date <- paste(data[2], data[3], sep=" ")
s_date <- as.POSIXct(t_date, format = '%d-%b-%y %H:%M:%S')})
as.POSIXct(res, origin='1970-01-01')
#[1] "2001-08-01 03:15:25 EDT" "2005-09-20 10:12:09 EDT"
set.seed(25)
datalist <- list(data.frame(V1= rnorm(2), V2= c('01-Aug-01',
'20-Sep-05'), V3= c('03:15:25', '10:12:09')))