我有YYMMDDHH格式的数据,但我正在尝试获取工作日,所以我需要转到日期格式,但无法弄清楚。
以下是相关数据的输入:
structure(list(id = c(7927751403363142656, 18236986451472797696,
5654946373641778176, 14195690822403907584, 1693303484298446848,
1.1362181921561e+19, 11694645532962195456, 1221431312630614784,
1987127670789791488, 379819848497418688), hour = c(14102118L,
14102217L, 14102812L, 14102912L, 14102820L, 14102401L, 14102117L,
14102312L, 14102301L, 14102414L)), .Names = c("id", "hour"), row.names = c(3620479L,
8510796L, 29632625L, 34450879L, 31874113L, 13420799L, 3332671L,
11543560L, 9602012L, 15574701L), class = "data.frame")
当我使用时:
dat2$dow <- as.Date(substr(as.character(dat2$hour), 1,6), format = '%Y%m%d')
我只是得到了NA。有什么建议吗?
答案 0 :(得分:5)
"%Y"
为4位数年份; "%y"
为2位数年份。而且您不需要使用substr
。 as.Date
将在指定格式结束后忽略任何内容。
dat2$dow <- as.Date(as.character(dat2$hour), format='%y%m%d')