我创建了一个myMethod
接受对象myObject
作为参数的方法。我希望能够将此方法传递给myObject
. 我可以只使用一个for
循环来单独传递每个对象,但我更喜欢使用 R 的内置处理函数的能力。
我创建了一个这样的方法:
setMethod("myMethod",
signature = c("myObject"),
definition = function(obj, ...){
"some code"
})
我在这里显示了一个默认方法:
myMethod <- function(obj, ...){
print("Generic base function; does nothing.")
obj
}
当我向它发送该类型的对象时,这非常有效。假设我有一个 myObject 列表保存在 listOfObjects 中。
如果我做:
> myMethod(listOfObjects[[1]])
执行“我的代码”时,一切都按预期工作。但是,如果我改为向它发送相同对象的列表,它将达到我的默认方法:
> myMethod(listOfObjects[1:10])
我得到:
[1] "Generic base function; does nothing."
我可以做些什么myMethod
来轻松地在列表中的每个对象上运行?我的列表可能非常大,所以我想使用 R 的内置向量函数而不是使用“慢”for
循环。