R将日期列转换为公历

R convert date column into gregorian calendar

我想将数据框的一列转换为公历日期。 例如以下数据框:

       Date_R Tmax
1  1985-01-01  9.0
2  1985-02-02  9.0
3  1985-12-31 11.0
4  1986-01-04  8.5
5  1986-01-05 11.0

进入:

  Date_R Tmax
1      1  9.0
2     33  9.0
3    365 11.0
4      4  8.5
5      5 11.0

或使用此信息添加一个新列。

提前致谢

将 'Date_R' 列转换为 'Date' class(如果不是),并使用选项 %jformat 转换为一年中的第几天。

 df1$Date_R <- as.numeric(format(as.Date(df1$Date_R), '%j'))
 df1
 #  Date_R Tmax
 #1      1  9.0
 #2     33  9.0
 #3    365 11.0
 #4      4  8.5
 #5      5 11.0

或者您可以使用 as.POSIXlt

as.POSIXlt(df$Date_R)$yday + 1L
## [1]   1  33 365   4   5