我有一个数据框如下
S = c("28/05/2016 07:00", "29/05/2016 07:00", "30/05/2016 07:00")
S1 = c("2016-05-28", "2016-05-29", "2016-05-30")
df = data.frame(S, S1)
我想将日期转换为一年中的某一天。使用
df$Day_S <- yday(df$S)
df$Day_S1 <- yday(df$S1)
给出
S S1 Day_S Day_S1
1 28/05/2016 07:00 2016-05-28 141 149
2 29/05/2016 07:00 2016-05-29 140 150
3 30/05/2016 07:00 2016-05-30 140 151
仅适用于'S1'日期的格式。
我试过
df$S_1 <- format(as.POSIXct(df$S,format='%d/%m/%Y'),format='%d/%m/%Y')
df$Day_S_1 <- yday(df$S_1)
但这仍然是一年中错误的一天。
如何将“S”列转换为一年中的某一天?
答案 0 :(得分:2)
这对我有用
S = c("28/05/2016 07:00", "29/05/2016 07:00", "30/05/2016 07:00")
s_1 <- as.Date(S,format='%d/%m/%Y')
Day_S <- lubridate::yday(s_1)