与R中Matlab的Datenum类似的功能

问题描述

我正在处理时间序列,需要将1988年1月1日转换为1988年12月31日。

我知道如何在Matlab中使用Datenum函数进行操作:

datenum_vect = datenum(year,1,1):datenum(year,12,31)

结果是:

第1至16列

  726103      726104      726105      726106      726107  

我尝试在R(https://www.rdocumentation.org/packages/solidearthtide/versions/1.0.2/topics/Datenum)中使用Datenum函数,但是该库不适用于R 4.0.2。的最新版本。

在R中如何获得与Matlab中的Datenum相同的值的任何想法?

解决方法

您可以使用ISOdate赋予"POSIXct"

year <- 2020
ISOdate(year,1,0)
# [1] "2020-01-01 GMT"

要获取数字日期的Matlab值,请按照?as.Date一章“从其他系统转换”,您需要将"POSIXct"转换为"date",并添加一个常量。>

as.numeric(as.Date(ISOdate(1988,0))) + 719529
# [1] 726103

as.numeric(ISOdate(.))给出秒;因此,我们还需要as.Date()来获得日子。