Создайте объект anova
, сохраните его, затем используйте str()
для результатов.Из lm.D9
объекта, созданного example("lm")
:
> str(anova(lm.D9))
Classes ‘anova’ and 'data.frame': 2 obs. of 5 variables:
$ Df : int 1 18
$ Sum Sq : num 0.688 8.729
$ Mean Sq: num 0.688 0.485
$ F value: num 1.42 NA
$ Pr(>F) : num 0.249 NA
- attr(*, "heading")= chr "Analysis of Variance Table\n" "Response: weight"
Так что это особый случай фрейма данных.Создайте свой фрейм данных a
в соответствии с примером, а затем попробуйте назначить класс: class(a) <- c("anova","data.frame")
.
В частности:
Df <- c(repdf, trtdf, totaldf)
ssq <- c(ssrep, sstrt, sstotal)
anovadf <- data.frame(Df, `Sum Sq`=ssq, `Mean Sq`=ssq/Df, check.names=FALSE)
rownames(anovadf) <- c("replication","treatments","total")
class(anovadf) <- c("anova","data.frame")
anovadf
Df Sum Sq Mean Sq
replication 1 10.3 10.30
treatments 22 14567.2 662.15
total 23 14577.2 633.79
Вы должны быть немного осторожнее симена столбцов - они должны быть защищены обратными метками, и вы должны использовать check.names=FALSE
, потому что они не являются допустимыми именами переменных (они содержат пробелы).Вы можете добавить статистику F и значение P к этому - я этого не сделал, потому что я не был уверен, какой был соответствующий термин ошибки.