Как мне добавить строки в выходные данные из сводки формул?

#r

#r

Вопрос:

Я хотел бы добавить строки из выходных данных сводки формул.

Это моя сводка формул—

       library(fpp)

      analysisOfVariance <-
        aov(
          score ~ single,
          credit  
        )
        
        summ <- summary(analysisOfVariance)

        # assumes:
        # independent and randomly selected observations
        # normal distributions for each factor level
        # common variance
  

Я хотел бы добавить закомментированный текст в сводку, чтобы вывод выглядел следующим образом

 Call:
   aov(formula = as.formula(formula), data = dataset[c(facs$vars[x], 
    nums$vars[y])])

Terms:
                  single Residuals
Sum of Squares    834.84  95658.64
Deg. of Freedom        1       498

Residual standard error: 13.8595
Estimated effects may be unbalanced

        # assumes:
        # independent and randomly selected observations
        # normal distributions for each factor level
        # common variance
  

Ответ №1:

Вы можете переопределить print.summary.aov функцию, чтобы включить вызовы cat , которые печатают ваше сообщение в конце. Чтобы увидеть исходную функцию, просто введите это в своей консоли:

 stats:::print.summary.aov
  

Я нашел эту функцию, потому что знаю, что обычно вызываются функции, которые выводят результаты на консоль print.MODELCLASS . В вашем примере вызов этого:

 class(summary(analysisOfVariance))
[1] "summary.aov" "listof"
  

Итак, я знал, что ищу вызываемую функцию print.summary.aov . Итак, я просто ввел это в консоль и нашел его.

Затем измените его следующим образом:

 print.summary.aov <- function (x, digits = max(3L, getOption("digits") - 3L), symbolic.cor = FALSE,
    signif.stars = getOption("show.signif.stars"), ...)
{
    if (length(x) == 1L)
        print(x[[1L]], digits = digits, symbolic.cor = symbolic.cor,
            signif.stars = signif.stars)
    else NextMethod()
    if (nzchar(mess <- naprint(attr(x, "na.action"))))
        cat(mess, "n", sep = "")
    cat("# assumes:
         # independent and randomly selected observations
         # normal distributions for each factor level
         # common variancen")
    invisible(x)
}
  

Наконец:

 library(fpp)
analysisOfVariance <- aov(score ~ single, credit)
summary(analysisOfVariance)

             Df Sum Sq Mean Sq F value Pr(>F)
single        1    835   834.8   4.346 0.0376 *
Residuals   498  95659   192.1
---
Signif. codes:  0***0.001**0.01*0.05 ‘.’ 0.1 ‘ ’ 1
# assumes:
# independent and randomly selected observations
# normal distributions for each factor level
# common variance
  

Комментарии:

1. Можете ли вы написать о том, как вы нашли функцию печати? Я хотел бы сделать то же самое для TukeyHSD функции

2. Я попробовал то же самое, и я получил function (x, which, ordered = FALSE, conf.level = 0.95, ...) UseMethod("TukeyHSD") <bytecode: 0x7f8dcdbfc520> <environment: namespace:stats>

3. Я добавил короткий комментарий к своему сообщению. Дайте мне знать, если это не сработает.

4. Я все еще в некотором замешательстве. Я пытаюсь найти эквивалент для t.test

5. Что такое class объект, который вы хотите суммировать? Вызовите class(model) его (где model — это ваша фактическая установленная модель).