我是R的新手。我们正在做一项作业。任务是创建R包以模仿Anova表。我创建了任务中规定的所有必要功能。该函数计算出正确的值,但我无法使其显示为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.value
1个
4.658471e-05
实际方差分析输出:
方差表分析
回应:凝块
Df Sum Sq平均Sq F值Pr(> F)
饮食3 228 76.0 13.571 4.658e-05 ***
残渣20112 5.6
---
签名代码:0‘***’0.001‘**’0.01‘*’0.05’。’0.1’’1
如何实现这种格式?我在哪里和想念什么?
非常感谢你的帮助。
国邦
最佳答案
Anova输出使用打印方法print.anova
,您可能要查看methods(print)
,尤其是stats:::print.anova
您很可能想创建自己的打印功能
print.oneway <- function(object, ...) {
foo
bar
}