【发布时间】:2013-02-11 19:24:35
【问题描述】:
我正在尝试使用 mapply 将月份添加到我的数据框的 a 和 b 列中的当前日期。以下是创建示例数据框的代码:
library(lubridate)
a <- as.Date(c("2012-01-11","2012-06-30","2012-04-18"))
b <- as.Date(c("2013-04-21","2012-03-22","2012-05-01"))
df <- data.frame(a,b)
我可以使用mapply("+",df, c(30,30)) 为两列日期添加 30 天。但是,当我尝试使用命令 mapply("%m+%",df, months(1:2)) 时,我收到错误消息:
.setupMethodsTables 中的错误(fdef,initialize = TRUE):没有插槽 类“derivedDefaultMethod”的这个对象的名称“组”
是否可以将 mapply 与 %m+% 运算符一起使用?
【问题讨论】:
-
算子
%m+%和函数months在什么包里?我不认为它在base中。是lubridate吗? -
6 个不同的包(没有一个是润滑的)以
library(sos); findFn"%m+%")显示。 -
是的,
%m+%来自 lubridate 包。 -
我可以验证,尽管
sos没有找到它,但%m+%确实是lubridate package 的一部分。我从来没有掌握过 S4 方法的方法设置过程,但问题似乎就在这里。