У меня есть фрейм данных, аналогичный тому, что создан ниже:
dat1 <- data.frame(Loc = rep(c("NY","MA","FL","GA"), each = 10),
Region = rep(c("a","b","c","d"),each = 10),
ID = rep(c(1:10), each=20),
var1 = rnorm(200),
var2=rnorm(200),
var3=rnorm(200))
Loc
и Region
- группирующие переменные для ID
. Я пытаюсь написать функцию, которая будет проводить анову для каждого var
, возвращать сводку модели и создавать диаграммы данных, которые показывают компактные буквы отображения букв из теста Tukeys над графиками. Я хочу иметь возможность указать переменную группировки, которую я использую для этого. это то, что у меня есть до сих пор:
library(multcomp)
library(multcompview)
aov.test <- function(data, var, groupvar){
mod <- aov(var~groupvar, data = data)
summary(mod)
Tky <- TukeyHSD(mod)
lets <- multcompletters(extract_p(Tky$groupvar))
print(lets)
}
Я еще не понял, как заставить буквы multcomp отображаться на коробочных графиках, но сначала я должен заставить это работать. когда я запускаю этот код, я получаю сообщение об ошибке: Error in
контрасты <- <code>( tmp , value = contr.funs[1 + isOF[nn]]) : contrasts can be applied only to factors with 2 or more levels
Может ли кто-нибудь показать мне, как исправить эту функцию, а также как заставить ее создавать блочные диаграммы с помощью cld письма?