在S3方法中使用colwise()

时间:2012-03-16 17:13:56

标签: r plyr

我有一个函数shift定义为:

require(plyr)
shift <- function(x,...) {
    UseMethod("shift",x)
}
shift.default <- function(x,n=1,wrap=TRUE,pad=FALSE,...) {
    # innards
    return(0)
}
shift.data.frame <- colwise(shift.default)

它工作正常,直到我把它放在一个包中并尝试R CMD check。然后我在检查S3通用/方法一致性时收到警告。它报告shift.data.frame和shift不同意:

shift(x,...)
shift.data.frame(df,...)

我认为此结果来自xdf不匹配。有什么方便的解决方法吗?

1 个答案:

答案 0 :(得分:2)

这样的事情有用吗?

shift.data.frame <- function(x, ...) {
  colwiseShift <- colwise(shift.default)
  colwiseShift(x, ...)
}