在R中将变量转换为日期



有一个包含两列的矩阵:年和月

dates.m
1492 April
1492 August
1492 October

如何将这两个变量转换为日期格式变量(例如mm/yyyy)?谢谢。

这个怎么样:

dates.m<-data.frame(dates.m,stringsAsFactors=F)
dfl=split(dates.m,1:nrow(dates.m))
dates.m$data=do.call(rbind,lapply(dfl,function(rn)
paste(as.Date(paste(paste(rn,collapse = "/"),"01",sep="/"),"%Y/%b/%d"),sep="")))
dates.m$data
  [,1]        
1 "1492-04-01"
2 "1492-08-01"
3 "1492-10-01"

说到约会,我喜欢使用lubridate包。下面是解决这个问题的示例代码,如果您有一个包含数据的列(假设您的数据以年-月-日的方式排序-否则更改函数名称中字母的顺序):

require(lubridate)
df$date<-ymd(df$dates.m)

或者将它们放在单独的列中:

require(lubridate)
require(stringr)
df$date<-ymd(str_c(as.character(df$Year),as.character(df$Month),
                   as.character(df$Day),sep="-"))

相关内容

  • 没有找到相关文章

最新更新