Anova postho c этикетки на боксплоте - PullRequest
0 голосов
/ 07 апреля 2020

Я пытаюсь добавить cld к моему boxplot, и я пытаюсь следовать этому примеру с пакетом "multcompView". Я получаю хороший boxplot со значениями cld, однако, значения cld выглядят в странном порядке на boxplot. Я хочу, чтобы значения cld были «a», «b», «c» и «d».

Набор данных выглядит следующим образом:

structure(my_data) response treatment 1 45 RU 2 82 LU 3 61 LU 4 63 RU 5 36 MA 6 36 NN 7 45 MA 8 55 NN 9 51 NN 10 62 MA 11 51 RU 12 54 LU

Мой тест Тьюки:

TUKEY<- TukeyHSD(x=ANOVA, "my_data$treatment", conf.level = 0.95)
TUKEY
Tukey multiple comparisons of means
95% family-wise confidence level 
         diff       lwr      upr       p adj
NN-MA 1.400000e+00 -10.949588 13.74959 0.9899521
RU-MA 1.400000e+00 -10.949588 13.74959 0.9899521
LU-MA 1.810000e+01   5.750412 30.44959 0.0019124
RU-NN 1.421085e-14 -12.349588 12.34959 1.0000000
LU-NN 1.670000e+01   4.350412 29.04959 0.0044890
LU-RU 1.670000e+01   4.350412 29.04959 0.0044890

Итак, у меня есть существенные различия между LU-MA, LU-NN и LU-RU. Из приведенного выше примера ссылки я сделал следующий код:

generate_label_df <- function(TUKEY, variable){
# Extract labels and factor levels from Tukey post-hoc
Tukey.levels <- TUKEY[[variable]][,4]
Tukey.labels <- data.frame(multcompLetters(Tukey.levels)['Letters'])
# put the labels in the same order as in the boxplot :
Tukey.labels$management=rownames(Tukey.labels)
Tukey.labels=Tukey.labels[order(Tukey.labels$treatment) , ]
return(Tukey.labels)
}

LABELS <- generate_label_df(TUKEY , "my_data$treatment")
LABELS
treatment letter
LU        b
MA        a
NN        a
RU        a

a <- boxplot(my_data$response ~ my_data$treatment, ylim=c(min(my_data$response) , 1.1*max(my_data$response)), ylab="species per stand" , xlab= "treatment",  main="Average species richness")
over <- 0.1*max( a$stats[nrow(a$stats),] )
text( c(1:nlevels(my_data$treatment)) , a$stats[nrow(a$stats),]+over , LABELS[,1]  )

enter image description here

Как видите, уровни, назначенные для лечения, не достигают результаты теста Тьюки. Я предполагаю, что моя проблема в том, чтобы упорядочить метки в том же порядке, что и в boxplot, но опять же, я не очень хорош в R, и проблема может быть где-то еще. Любые идеи, как это исправить?

...