R语言-将字符串数据转换成日期时间,变成星期、月等等,包括生成日期

#假设已经有字符串如下:

d1<-c("2011-01-02", "2011-01-09" ,"2011-01-16", "2011-01-23", "2011-01-30"
  ,"2011-02-06", "2011-02-13", "2011-02-20" ,"2011-02-27" ,"2011-03-06"
, "2011-03-13", "2011-03-20" ,"2011-03-27", "2011-04-03", "2011-04-10"
 , "2011-04-17" ,"2011-04-24", "2011-05-01", "2011-05-08", "2011-05-15"
, "2011-05-22" ,"2011-05-29", "2011-06-05" ,"2011-06-12", "2011-06-19"
, "2011-06-26", "2011-07-03", "2011-07-10" ,"2011-07-17" ,"2011-07-24"
, "2011-07-31", "2011-08-07" )

#转换成日期:

dmonth<-as.Date(d1,"%Y-%m-%d")#有的人日期喜欢写成"2011/07/31",此时只需要把-改成/即as.Date(d1,"%Y/%m/%d")

#转换成星期、月:

month1<-months(dmonth)#转化为月份
week1<-weekdays(dmonth)#转化为星期

#时间比较(其实R自动将时间排序了,感兴趣的同学可以试试这句as.numeric(dmonth)<将时间转化为数据,可以算算是R是把哪天作为第一天的了>)

#假如说 已经有数据集data

data1<-data[dmonth<="2011-12-30"]#提取数据集data中11年之前的数据

#生成日期数据

#刚才说了怎么将时间转为数字,反过来将数字转化为日期肯定是可以的

d2<-as.Date(23768, origin = "1900-01-01")#感兴趣的朋友可以知道R的origin是多少了吧?

#利用seq函数

date1<- seq(from=as.Date('2006/01/01'), to=as.Date('2016/08/03'), by='1 day')#想生成月度或者星期,只要把day换成month或week

#返回当前日期或系统时间:

 Sys.Date()#日期

date()#具体时间


发布了49 篇原创文章 · 获赞 95 · 访问量 23万+

猜你喜欢

转载自blog.csdn.net/Trisyp/article/details/52276392