我几乎完成了我的脚本,但我有一个问题,我的日期格式。我安装了lubridate包使用as_date函数,但它没有给我我想要的(一个日期)。"时间"是我的变量,我把它的描述如下。
我没有把我的整个脚本,因为关注的只是这个格式的问题(这意味着一个巨大的netcdf文件不可能下载)
你能帮帮我吗?
class(time)
[1] "array"
head(time)
[1] 3573763200 3573774000 3573784800 3573795600 3573806400 3573817200
tunits
$long_name
[1] "time in seconds (UT)"
$standard_name
[1] "time"
$units
[1] "seconds since 1900-01-01T00:00:00Z"
$axis
[1] "T"
$time_origin
[1] "01-JAN-1900 00:00:00"
$conventions
[1] "relative number of seconds with no decimal part"
#conversion
date = as_date(time,tz="UTC",origin = "1900-01-01")
head(date)
[1] "-5877641-06-23" "-5877641-06-23" "-5877641-06-23" "-5877641-06-23"
[5] "-5877641-06-23" "-5877641-06-23"
3条答案
按热度按时间kh212irz1#
自1900年1月1日以来的时间(以秒为单位)。使用
lubridate
中的seconds
方法,将time
中的值转换为实际日期的过程如下:您可以对其进行矢量化:
xtfmy6hx2#
as_date()
使用自原点以来的天数计算日期。您要查找的似乎是
as_datetime()
,也来自lubridate
包,该包使用自原点以来的秒数来计算日期。在您的示例中,这将是:使用
dplyr
管道和lubridate
中的date()
函数从as_datetime()
函数中提取日期。c9x0cxw03#