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