看板 R_Language 關於我們 聯絡資訊
就是實作 S3 物件導向。以下給一個例子。 # 建立一個 function sqrt() 並回傳引數的平方值 sqrt <- function(x){ y <- x^2 class(y) <- "sqrt" # 重點:回傳值設為 sqrt 物件 return(y) } # 建立 sqrt 物件的 plot 方法 plot.sqrt <- function(obj){ cat("calling plot.sqrt\n") boxplot(obj) # do something... } # 建立 sqrt 物件的 summary 方法 summary.sqrt <- function(obj){ cat("calling summary.sqrt\n") cat("mean:" , mean(obj) , "\n") cat("var:" , var(obj) , "\n") # do something... } # 試試下面三個指令看看有什麼結果? abc <- sqrt( c(3,5,7) ) summary(abc) plot(abc) 以上是 S3 物件導向的基本應用。 ※ 引述《jason311 (山根)》之銘言: : [問題類型]: : 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) : [軟體熟悉度]: : 新手(沒寫過程式,R 是我的第一次) : [問題敘述]: : 我個人在寫function : 我希望function可以用在plot, summary上 : 例如:plot(pf.fit)會跑出圖來 : 那我function要怎麼寫才有這種功能? : 像lm這個指令 : 我有x, y值的話 : plot(lm(y~x)) : summary(lm(y~x)) : 都會有output可是看lm裡面寫的code我實在看不出個所以然 : 希望大大們能幫我解惑 -- http://apansharing.blogspot.com/ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.117.37.172 ※ 編輯: andrew43 來自: 122.117.37.172 (10/25 02:21)
jason311:謝謝大大 10/25 17:17
※ 編輯: andrew43 來自: 140.128.117.81 (10/28 20:44)
gsuper:原來如此 12/03 13:45