3

私はRを初めて使用します。私が取り組んでいる課題があります。割り当ては、Anova テーブルを模倣する R パッケージを作成することです。課題で義務付けられているすべての必要な機能を作成しました。関数は正しい値を計算しますが、R の anova() 関数に組み込まれている ANOVA テーブルのように表示することはできませんでした。これは私のsummary.oneway関数です

summary.oneway <- function(object, ...){

  #model <- oneway(object)
  fval <- object$FValue
  TAB <- list(t(object$AOV), "Mean Sq."= rbind(object$MSB, object$MSW),
              "F Value" = fval, p.value = object$p.value)

  res <- list(call=object$call, onewayAnova = TAB)
  class(res) <- "summary.oneway"
  res  
}

これは出力です:

分散分析:
oneway.formula(式=コアグ~ダイエット、データ=コアグデータ)

[[1]]
         二乗和度 自由の
ダイエット 228 3
残差 112 20

$`平均平方`
        1
[1,] 76.0
[2,] 5.6

$`F値`
       1
13.57143

$p.値
           1
4.658471e-05

実際の ANOVA 出力:

分散分析表

応答: coag
          Df Sum Sq Mean Sq F値 Pr(>F)    
ダイエット 3 228 76.0 13.571 4.658e-05 ***
残差 20 112 5.6                      
---
シグニフ。コード: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

どうすればこのフォーマットを実現できますか? どこに何が欠けていますか?

手伝ってくれてどうもありがとう。

クニ

4

1 に答える 1

2

Anova出力は、特に見たいと思うかもしれない印刷方法 をprint.anova 使用しますmethods(print)stats:::print.anova

ほとんどの場合、独自の印刷機能を作成する必要があります

 print.oneway <- function(object, ...) {
     foo
     bar
 }
于 2012-11-16T05:12:06.293 に答える