Why is there no lubridate:::update function?

2019-07-19 10:40发布

As said in the title: Why is there no such function? Or in a different way: What is the type of the function? When I type ?update I get something from stats package, but there is a lubridate function as described here on page 7. There also seems to be a lubridate:::update.Date function, but I can't find any explanations for that function.

Backround: I use the function in a package and I only got it to work after I used the Depends: in the decription file. Initially I wanted to use lubridate::update()...

标签: r lubridate
2条回答
三岁会撩人
2楼-- · 2019-07-19 11:05

You need to load the lubridate package:

library(lubridate)
date <- now()
print(date)
new_date <- update(date, year = 2010, month = 1, day = 1)
print(new_date)

Outputs:

"2016-08-04 08:58:08 CEST"

"2010-01-01 08:58:08 CET"

查看更多
Bombasti
3楼-- · 2019-07-19 11:06

The lubridate package provides the methods lubridate:::update.Date() and lubridate:::update.POSIXt(). Those functions are not exported into the namespace, but I assume that, by means of function overloading, they are invoked when update() is applied to a POSIXor Date object when the lubridate library is loaded.

The help page ?lubridate:::update.POSIXt provides some information concerning the update function within the lubridate package:

Description

update.Date and update.POSIXt return a date with the specified elements updated. Elements not specified will be left unaltered. update.Date and update.POSIXt do not add the specified values to the existing date, they substitute them for the appropriate parts of the existing date.

Usage

## S3 method for class 'POSIXt'

update(object, ..., simple = FALSE)

The usage section and the examples in the help page indicate that these functions don't need to be addressed individually, as they are called by simply using update() when the lubridate library is loaded.

To inspect these functions one can type, e.g., lubridate:::update.POSIXt in the console (without passing arguments, and without the parentheses).

查看更多
登录 后发表回答