2

( )のデフォルトのR印刷方法は、NullDevianceResidualDevianceを報告しますが、前者の一部として後者の相対的なサイズは報告しません。つまり、IMOは、絶対値よりもモデルの適合度の評価に関連します。glmprint.glm

メソッドを変更して、相対的な逸脱度を出力するようにします。たとえば、今は次のようにR印刷します。

Degrees of Freedom: 36 Total (i.e. Null);  35 Residual
Null Deviance:      182.8 
Residual Deviance: 10.22    AIC: 63.39 

印刷したい

Degrees of Freedom: 36 Total (i.e. Null);  35 Residual
Null Deviance:      182.8 
Residual Deviance: 10.22    AIC: 63.39 
Relative Residual Deviance: 5.59%

(注:数値を計算してきれいに印刷する方法を知っています!)

システムが異なれば、そのための機能も異なります。たとえば、フックEmacsがあり、CLOS MOPには-methodsがありますが、でそれを行う方法がわかりません。afterR

どうすればいいRですか?Rメソッド修飾子はありますか?

ありがとう!

PS。システムコードを明示的に編集したくないし、コピーして変更したくない。次のバージョンのRがリリースされたときに、システムに加えられた改善を組み込むためにコードを編集する必要はないprint.glm

4

1 に答える 1

2

ああ、それは単純であることが判明しました:

print.glm.system <- print.glm
print.glm <- function(glm, ...) { 
  print.glm.system(glm, ...)
  cat("Relative Residual Deviance: ",100*glm$deviance/glm$null.deviance,"%\n") 
  invisible(glm)
}

PS。print.glm.system元の「システム」関数オブジェクトが含まれているため、これは無限ループではありません。

于 2013-03-14T20:31:02.620 に答える