3
我是R新手。我们有一项任务,我正在研究。该任务是创建R包以模仿Anova表。我已经创建了在任务中强制执行的所有必要功能。该函数计算正确的值,但我不能使它显示为ANOVA表中的内建在anova()函数中的R可以。这是我的summary.oneway功能格式自定义汇总输出与R中的ANOVA输出相匹配
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
}
这是输出:
Analysis of Variance: oneway.formula(formula = coag ~ diet, data = coagdata) [[1]] Sum of Squares Deg. of Freedom diet 228 3 Residual 112 20 $`Mean Sq.` 1 [1,] 76.0 [2,] 5.6 $`F Value` 1 13.57143 $p.value 1 4.658471e-05
实际ANOVA输出:
Analysis of Variance Table Response: coag Df Sum Sq Mean Sq F value Pr(>F) diet 3 228 76.0 13.571 4.658e-05 *** Residuals 20 112 5.6 --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
我怎样才能实现这种格式?我在哪里以及在想什么?
非常感谢您的帮助。
六合
谢谢为我指出正确的方向。我有你提到的打印功能,但它仍在打印列表。我使用了printCoefmat()并提供了data.frame作为参数,并且它工作正常。 – user1828605
很高兴帮助。你也可以修改'class(obj)',以便使用适当的'print'方法。 –