Как назначить значимые буквы различий в поле с разными переменными? - PullRequest
0 голосов
/ 29 октября 2019

Я запускаю тест HSD Тьюки, но когда я отображаю различные переменные, я не знаком с Rstudio и не знаю, в чем проблема.

#Comparación por temporalidad-cianobacterias
# Sample data on a copy/paste friendly format
library(vegan)
#> Loading required package: permute
#> Loading required package: lattice
#> This is vegan 2.5-5
library(readxl)
library(multcompView)
library(ggplot2)
library(plyr)
bpdata <- data.frame(
  DO = c(4.24, 2.58, 2.85, 3.81, 2.64, 4.61, 5.74, 3.69, 4.24,
                              2.66, 2.85, 3.81, 2.64, 4.61, 5.74, 3.69, 2.51, 2.66,
                              3.14, 2.92, 1.83, 1.82, 3.02, 3.3, 2.51, 3.04, 2.85,
                              2.92, 1.83, 1.82, 3.02, 3.3, 4.24, 3.04, 2.85, 3.81, 2.64,
                              4.61, 5.74, 3.69, 4.24, 2.09, 2.98, 3.81, 1.83, 1.82,
                              3.02, 3.3, 2.51, 2.09, 2.98, 8.17, 2.63, 7.69, 3.07, 3.7,
                              2.51, 3.04, 2.18, 8.17, 2.63, 7.69, 3.07, 3.7, 2.58,
                              2.09, 2.18, 2.16, 1.7, 6.8, 1.95, 4.28, 2.58, 2.09, 2.98,
                              2.16, 1.7, 6.8, 1.95, 4.28, 2.66, 3.14, 2.18, 8.17, 2.63,
                              7.69, 3.07, 3.7, 2.66, 3.14, 2.92, 2.16, 1.7, 6.8,
                              1.95, 4.28),
                       pH = c(9.94, 10.06, 9.98, 9.07, 8.99, 8.93, 9.24, 9.32, 9.94,
                              10, 9.98, 9.07, 8.99, 8.93, 9.24, 9.32, 10.04, 10, 10,
                              9.06, 8.99, 8.92, 9.18, 9.32, 10.04, 9.96, 9.98, 9.06,
                              8.99, 8.92, 9.18, 9.32, 9.94, 9.96, 9.98, 9.07, 8.99,
                              8.93, 9.24, 9.32, 9.94, 9.95, 10.09, 9.07, 8.99, 8.92,
                              9.18, 9.32, 10.04, 9.95, 10.09, 9.04, 9, 9.53, 9.31, 9.14,
                              10.04, 9.96, 9.97, 9.04, 9, 9.53, 9.31, 9.14, 10.06,
                              9.95, 9.97, 8.96, 9.02, 9.51, 9.39, 8.85, 10.06, 9.95,
                              10.09, 8.96, 9.02, 9.51, 9.39, 8.85, 10, 10, 9.97, 9.04, 9,
                              9.53, 9.31, 9.14, 10, 10, 9.06, 8.96, 9.02, 9.51, 9.39,
                              8.85),
                       Temperature = c(24.48, 24.95, 24.01, 26.67, 24.01, 23.5, 24.46, 24.65,
                                       24.48, 24.92, 24.01, 26.67, 24.01, 23.5, 24.46, 24.65,
                                       24.35, 24.92, 24, 26.46, 23.99, 23.43, 24.14, 24.67,
                                       24.35, 24.04, 24.01, 26.46, 23.99, 23.43, 24.14, 24.67,
                                       24.48, 24.04, 24.01, 26.67, 24.01, 23.5, 24.46, 24.65,
                                       24.48, 24.01, 24.36, 26.67, 23.99, 23.43, 24.14, 24.67,
                                       24.35, 24.01, 24.36, 24.88, 24.7, 26.14, 24.19, 22.65,
                                       24.35, 24.04, 24.4, 24.88, 24.7, 26.14, 24.19, 22.65, 24.95,
                                       24.01, 24.4, 24.3, 24.72, 26.15, 23.9, 20.65, 24.95,
                                       24.01, 24.36, 24.3, 24.72, 26.15, 23.9, 20.65, 24.92, 24,
                                       24.4, 24.88, 24.7, 26.14, 24.19, 22.65, 24.92, 24,
                                       26.46, 24.3, 24.72, 26.15, 23.9, 20.65),
                       Turbidity = c(87.3, 95.2, 98.8, 24.9, 43.1, 49.1, 68.6, 69.8, 87.3,
                                     113, 98.8, 24.9, 43.1, 49.1, 68.6, 69.8, 87.7, 113,
                                     96.9, 39.7, 49, 47.6, 66.6, 74.1, 87.7, 98.5, 98.8, 39.7,
                                     49, 47.6, 66.6, 74.1, 87.3, 98.5, 98.8, 24.9, 43.1,
                                     49.1, 68.6, 69.8, 87.3, 95.9, 97.2, 24.9, 49, 47.6, 66.6,
                                     74.1, 87.7, 95.9, 97.2, 46.9, 37.2, 74.2, 69.9, 71.3,
                                     87.7, 98.5, 100.6, 46.9, 37.2, 74.2, 69.9, 71.3, 95.2, 95.9,
                                     100.6, 42, 36.1, 74.4, 44.4, 71.3, 95.2, 95.9, 97.2,
                                     42, 36.1, 74.4, 44.4, 71.3, 113, 96.9, 100.6, 46.9, 37.2,
                                     74.2, 69.9, 71.3, 113, 96.9, 39.7, 42, 36.1, 74.4, 44.4,
                                     71.3),
                       ORP = c(97, 108.4, 102.9, 94, 63.9, 64.7, 40.3, 48.1, 97,
                               111.9, 102.9, 94, 63.9, 64.7, 40.3, 48.1, 91.3, 111.9,
                               108, 23.7, 64.1, 60.4, 40.6, 49.8, 91.3, 98.9, 102.9,
                               23.7, 64.1, 60.4, 40.6, 49.8, 97, 98.9, 102.9, 94, 63.9,
                               64.7, 40.3, 48.1, 97, 92.8, 106.9, 94, 64.1, 60.4, 40.6,
                               49.8, 91.3, 92.8, 106.9, 90.4, 74.9, 67.7, 42, 37.1,
                               91.3, 98.9, 102.7, 90.4, 74.9, 67.7, 42, 37.1, 108.4,
                               92.8, 102.7, 53, 63.4, 73.9, 42, 37.5, 108.4, 92.8, 106.9,
                               53, 63.4, 73.9, 42, 37.5, 111.9, 108, 102.7, 90.4, 74.9,
                               67.7, 42, 37.1, 111.9, 111.9, 23.7, 53, 63.4, 73.9, 42,
                               37.5),
                       Ammonium = c(4.46, 4.62, 4.37, 5.6, 3.38, 3.21, 1.93, 2.21, 4.46,
                                    4.75, 4.37, 5.6, 3.38, 3.21, 1.93, 2.21, 4.5, 4.75,
                                    4.48, 7.64, 3.18, 3.09, 2.19, 2.14, 4.5, 3.97, 4.37, 7.64,
                                    3.18, 3.09, 2.19, 2.14, 4.46, 3.97, 4.37, 5.6, 3.38,
                                    3.21, 1.93, 2.21, 4.46, 4.06, 4.43, 5.6, 3.18, 3.09, 2.19,
                                    2.14, 4.5, 4.06, 4.43, 2.81, 4.2, 4.5, 1.99, 2.07, 4.5,
                                    3.97, 5.47, 2.81, 4.2, 4.5, 1.99, 2.07, 4.62, 4.06,
                                    5.47, 3.19, 3.97, 3.3, 3.38, 1.18, 4.62, 4.06, 4.43, 3.19,
                                    3.97, 3.3, 3.38, 1.18, 4.75, 4.48, 5.47, 2.81, 4.2, 4.5,
                                    1.99, 2.07, 4.75, 4.48, 7.64, 3.19, 3.97, 3.3, 3.38,
                                    1.18),
                       Nitrates = c(3.6, 3.98, 3.57, 3.53, 2.55, 2.28, 0.71, 1.2, 3.6,
                                    3.21, 3.57, 3.53, 2.55, 2.28, 0.71, 1.2, 3.36, 3.21,
                                    3.76, 3.66, 2.44, 2.06, 0.67, 0.87, 3.36, 4.35, 3.57,
                                    3.66, 2.44, 2.06, 0.67, 0.87, 3.6, 4.35, 3.57, 3.53, 2.55,
                                    2.28, 0.71, 1.2, 3.6, 3.68, 3.34, 3.53, 2.44, 2.06,
                                    0.67, 0.87, 3.36, 3.68, 3.34, 2.25, 2.99, 1.3, 0.74, 0.68,
                                    3.36, 4.35, 4.11, 2.25, 2.99, 1.3, 0.74, 0.68, 3.98,
                                    3.68, 4.11, 2.1, 2.55, 1.11, 0.69, 0.69, 3.98, 3.68, 3.34,
                                    2.1, 2.55, 1.11, 0.69, 0.69, 3.21, 3.76, 4.11, 2.25,
                                    2.99, 1.3, 0.74, 0.68, 3.21, 3.76, 3.66, 2.1, 2.55, 1.11,
                                    0.69, 0.69),
                       BGA = c(279133, 279113, 265304, 11603, 218471, 226658, 267389,
                               267144, 279133, 270193, 265304, 11603, 218471, 226658,
                               267389, 267144, 267716, 270193, 279119, 66608, 213497,
                               242331, 267007, 261363, 267716, 279109, 265304, 66608,
                               213497, 242331, 267007, 261363, 279133, 279109, 265304,
                               11603, 218471, 226658, 267389, 267144, 279133, 279100,
                               279099, 11603, 213497, 242331, 267007, 261363, 267716,
                               279100, 279099, 246979, 169175, 272332, 269519, 272096,
                               267716, 279109, 278137, 246979, 169175, 272332, 269519,
                               272096, 279113, 279100, 278137, 174271, 159046, 271503,
                               261124, 271303, 279113, 279100, 279099, 174271, 159046,
                               271503, 261124, 271303, 270193, 279119, 278137, 246979,
                               169175, 272332, 269519, 272096, 270193, 279119, 66608,
                               174271, 159046, 271503, 261124, 271303),
                       Chlrophyll = c(36.6, 38.9, 40, 44, 35, 32.8, 44, 44.8, 36.6, 39.8,
                                      40, 44, 35, 32.8, 44, 44.8, 39.6, 39.8, 38.5, 45.1,
                                      42.2, 50.2, 43.6, 45.1, 39.6, 43, 40, 45.1, 42.2, 50.2,
                                      43.6, 45.1, 36.6, 43, 40, 44, 35, 32.8, 44, 44.8, 36.6,
                                      50, 43, 44, 42.2, 50.2, 43.6, 45.1, 39.6, 50, 43, 34,
                                      38.4, 58.5, 44.3, 40, 39.6, 43, 53.8, 34, 38.4, 58.5, 44.3,
                                      40, 38.9, 50, 53.8, 50.3, 55.9, 51.3, 68.2, 34.2, 38.9,
                                      50, 43, 50.3, 55.9, 51.3, 68.2, 34.2, 39.8, 38.5, 53.8,
                                      34, 38.4, 58.5, 44.3, 40, 39.8, 38.5, 45.1, 50.3, 55.9,
                                      51.3, 68.2, 34.2),
  Month = as.factor(c("July", "July", "July", "August", "August", "August",
                      "September", "September", "July", "July", "July",
                      "August", "August", "August", "September", "September",
                      "July", "July", "July", "August", "August", "August",
                      "September", "September", "July", "July", "July", "August",
                      "August", "August", "September", "September", "July",
                      "July", "July", "August", "August", "August", "September",
                      "September", "July", "July", "July", "August", "August",
                      "August", "September", "September", "July", "July",
                      "July", "August", "August", "September", "September",
                      "September", "July", "July", "July", "August", "August",
                      "September", "September", "September", "July", "July",
                      "July", "August", "August", "September", "September",
                      "September", "July", "July", "July", "August", "August",
                      "September", "September", "September", "July", "July", "July",
                      "August", "August", "September", "September",
                      "September", "July", "July", "August", "August", "August",
                      "September", "September", "September"))
  )


bpdata$Month <- factor(bpdata$Month,
                               levels = c("July", "August", "September"))

res.aov9 <- aov(DO+Chlrophyll+pH+BGA+Nitrates+Ammonium+ORP+Temperature+Turbidity~Month , data = bpdata)
summary(res.aov9)
#>             Df   Sum Sq   Mean Sq F value Pr(>F)    
#> Month        2 2.29e+11 1.145e+11   56.04 <2e-16 ***
#> Residuals   93 1.90e+11 2.043e+09                   
#> ---
#> Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
TukeyHSD(res.aov9)
#>   Tukey multiple comparisons of means
#>     95% family-wise confidence level
#> 
#> Fit: aov(formula = DO + Chlrophyll + pH + BGA + Nitrates + Ammonium + ORP + Temperature + Turbidity ~ Month, data = bpdata)
#> 
#> $Month
#>                         diff        lwr       upr     p adj
#> August-July      -107559.622 -134113.44 -81005.80 0.0000000
#> September-July     -7132.435  -33919.92  19655.05 0.8017005
#> September-August  100427.187   72853.60 128000.78 0.0000000
tHSD <- TukeyHSD(res.aov9, ordered = FALSE, conf.level = 0.95)

generate_label_df <- function(HSD, flev){
  #Extract labels and factor levels from Tukey post-hoc 
  Tukey.levels <- HSD[[flev]][,4]
  Tukey.labels <- multcompLetters(Tukey.levels)['Letters']
  plot.labels <- names(Tukey.labels[['Letters']])

  # Get highest quantile for Tukey's 5 number summary and add a bit of space to buffer between    
  # upper quantile and label placement
  boxplot.df <- ddply(bpdata, flev, function (x) max(fivenum(x$DO+Chlrophyll+pH+BGA+Nitrates+Ammonium+ORP+Temperature+Turbidity)) + 0.2)

  # Create a data frame out of the factor levels and Tukey's homogenous group letters
  plot.levels <- data.frame(Month= plot.labels, 
                            labels = Tukey.labels[['Letters']],
                            stringsAsFactors = FALSE)

  # Merge it with the labels
  labels.df <- merge(plot.levels, boxplot.df, by.x = 'Month', by.y = flev, sort = FALSE)

  return(labels.df)
}


#Comparación por meses
bpdata %>% 
  select(Month, DO:Chlrophyll) %>% 
  gather(Parameter, Value, -Month) %>% 
  ggplot(aes(x=Month, y=Value, fill = Month)) +
  geom_boxplot ()+
  geom_text(data=generate_label_df(tHSD,'Month'), aes(x = Month, y = V1, label = labels))+
  scale_y_continuous(expand = c(0.02,0.02))+
  theme_bw()+
  theme(panel.grid.major = element_line(colour = "white"),
        panel.grid.minor = element_blank(),
        panel.background = element_blank(),
        plot.title = element_text(hjust = 0.5, size = 14, family = "Tahoma", face = "bold"),
        text=element_text(family = "Tahoma", face ="bold"),
        axis.title = element_text(face="bold"),
        axis.text.x = element_text(colour="black", size = 11),
        axis.text.y = element_text(colour="black", size = 9),
        axis.line = element_line(size=0.5, colour = "black"))
#> Error in bpdata %>% select(Month, DO:Chlrophyll) %>% gather(Parameter, : no se pudo encontrar la función "%>%"

Созданный в 2019-10-28 пакетом представлением (v0.3.0)

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

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

https://www.google.com/search?q=boxplot+with+different+asterisk&sxsrf=ACYBGNTwZDczrYZH31P_mF4rvQB4j14otg:1572302839278&source=lnms&tbm=isch&sa=X&ved=0ahUKEwiipNvBhMDlAhUKSK0KHZPnCzQQ_AUIEigB&biw=1280&bih=609#imgrc=wgwhzeyWC6sF_M:

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