R 为日期类创建新的加法运算符
我想为R 为日期类创建新的加法运算符,r,datetime,operators,R,Datetime,Operators,我想为Date类定义一个加法操作,以便添加月份,而不是天数 这项工作: `+.Date`<- function(date,n) seq(date, by = paste (n, "months"), length = 2)[2] 无论如何,理想的操作应该是为日期定义的操作,如日期: rm("%+%") `%+%.Date`<- function(date,n) seq(date, by = paste (n, "months"), length = 2)[2] 你能确定日期吗?我
Date
类定义一个加法操作,以便添加月份,而不是天数
这项工作:
`+.Date`<- function(date,n) seq(date, by = paste (n, "months"), length = 2)[2]
无论如何,理想的操作应该是为日期定义的操作,如日期:
rm("%+%")
`%+%.Date`<- function(date,n) seq(date, by = paste (n, "months"), length = 2)[2]
你能确定日期吗?我们是否必须重新定义类日期
请不要仅仅为了对几个对象求和而推荐一些花哨的库。最好在他们的代码中分享想法。您只需定义
%+%
,使其成为通用函数:
`%+%` <- function(x,y) UseMethod("%+%")
`%+%.Date` <- function(date,n) seq(date, by = paste (n, "months"), length = 2)[2]
as.Date("2010-01-01") %+% 2 # 2010-03-01
1 %+% 1 # Error
`%+%`+1谢谢,这正是我在文档中找不到的。
rm("%+%")
`%+%.Date`<- function(date,n) seq(date, by = paste (n, "months"), length = 2)[2]
as.Date("2010/1/1") %+% 2
Error: could not find function "%+%"
`%+%` <- function(x,y) UseMethod("%+%")
`%+%.Date` <- function(date,n) seq(date, by = paste (n, "months"), length = 2)[2]
as.Date("2010-01-01") %+% 2 # 2010-03-01
1 %+% 1 # Error