Функция для расчета ANOVA и записи базовой статистики в R - PullRequest
0 голосов
/ 01 сентября 2018

Я пытаюсь написать свою первую функцию на R, и я был бы признателен за помощь.

Как исследователь, проводящий эксперименты 2 или 3 раза в год, мне часто приходится сравнивать методы лечения, используя anova. Я пытаюсь автоматизировать Анализ отклонений, чтобы получить список с результатами, блок данных, содержащий среднее значение, n и sd, и тест Тьюки для сравнения моих обработок.

Пока у меня есть следующий код:

# Function
Tt.aov <- function(vx, vtreat)
{
    VarAov <- aov(vx~vtreat)
    VarAnova <- anova(VarAov)
    p <- VarAnova$Pr[1]
    stats <- aggregate(vx, by=list (Treat=vtreat),
                       FUN=function(x) c(mean=mean(x), sd=sd(x), n=length(x)))
    #stats <- do.call(data.frame, stats)
    if (p<0.05) {Tuk <- TukeyHSD(VarAov)};
    aov.output <- list(anova=VarAnova,stats=stats,p=p)
    print(aov.output)
}

К настоящему времени моя функция работает очень хорошо для 1 процедуры (vtreat). Вопрос в том, как сохранить свою функцию открытой, чтобы добавить больше обработок, скажем, что-то вроде vx~vtraet1+vtreat2+vtreat3 или vx~vtreat1*vtreat2, и в то же время иметь возможность использовать эти параметры для кадра данных статистики?

Я мог бы просто выполнить две или три функции, которых будет достаточно для моих экспериментов, но я действительно хочу понять и изучить процесс использования функций и формул в R.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...