1
在S3样式的OOP中,函数名称为foo.A
用于调用方法foo对于类A。
但最近我在函数来写成function.class.class
,function.class.class有什么用?
foo.A.B <- function(x){
##---
}
这是什么样的功能呢?
在S3样式的OOP中,函数名称为foo.A
用于调用方法foo对于类A。
但最近我在函数来写成function.class.class
,function.class.class有什么用?
foo.A.B <- function(x){
##---
}
这是什么样的功能呢?
(如过帐答案收出的问题)
正如@joran指出的,功能fortify.MSM.lm
实际上只是为fortify
函数MSM.lm
类型的对象的方法。在这里使用这段时间并没有暗示的流行病。在大多数情况下,R中的时间段与命名变量的任何其他字符一样;它与其他语言没有相同的意义。正如您已经看到的,少数例外之一是S3通用函数的命名方法。
所以你可以在名称my.fun.data.frame
定义
my.fun <- function(x, ...) UseMethod("my.fun")
my.fun.data.frame <- function(x, ...) summary(x)
my.fun(mtcars)
左右。这些时间段并不意味着什么,只是当您拨打data.frame
的电话号码my.fun
时,R会寻找名为"my.fun" + "." + "data.frame"
的功能。
你可以命名实际功能(如果它在一个包中,哪个包)? – joran
这里是一个例子:https://github.com/sinhrks/ggfortify/blob/master/R/fortify_MSwM.R –
这有点令人困惑,但我相信在这种情况下S3类实际上是'MSM.lm'。我必须去查看文档中的细节,但是我怀疑S3会在第一个'。。'之后处理所有的东西作为对象类。例如,否则它会被'function.data.frame'弄糊涂。 – joran