Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 为日期类创建新的加法运算符_R_Datetime_Operators - Fatal编程技术网

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