library(ggplot2)
library(dplyr)
library(agricolae)
library(readxl)
library(TukeyC)
library(tidyr)


df_spad <- read_excel("C:/Users/JuanSebH2/Downloads/Archivos/Fisio_pro/Analisis de datos/Datos mediciones .xlsx", 
    sheet = "Copia de R(SPAD)", col_types = c("text", 
        "text", "numeric", "numeric", "numeric", 
        "numeric", "numeric", "numeric"));df_spad = data.frame(df_spad); df_spad
##    Bloque Tratamiento Repeticion   M1   M2   M3   M4   M5
## 1       1           1          1 40.9 56.4 45.6 47.1 52.5
## 2       1           1          2 49.0 51.7 48.0 45.4 48.6
## 3       1           1          3 37.9 40.9 40.8 43.9 41.7
## 4       1           2          1 53.9 49.6 45.1 44.5 45.7
## 5       1           2          2 49.1 48.9 43.5 50.2 42.9
## 6       1           2          3 36.4 48.2 37.5 45.2 38.1
## 7       1           3          1 42.1 36.9 41.4 52.1 48.6
## 8       1           3          2 43.8 42.0 40.7 49.7 47.5
## 9       1           3          3 41.4 39.0 41.4 42.3 43.0
## 10      1           4          1 51.1 50.5 51.8 58.1 48.5
## 11      1           4          2 47.0 46.2 43.5 49.5 48.6
## 12      1           4          3 39.8 42.0 41.2 40.4 41.3
## 13      2           1          1 47.5 50.2 47.9 40.3 48.3
## 14      2           1          2 52.8 54.1 54.0 44.2 53.1
## 15      2           1          3 47.1 46.9 50.5 40.5 47.4
## 16      2           2          1 54.2 55.8 55.4 45.8 42.0
## 17      2           2          2 49.2 59.0 49.1 45.0 47.2
## 18      2           2          3 51.8 53.6 52.1 64.4 42.6
## 19      2           3          1 53.7 55.2 51.0 47.1 52.9
## 20      2           3          2 52.4 44.0 49.3 43.9 45.1
## 21      2           3          3 50.8 48.1 48.8 50.4 47.0
## 22      2           4          1 48.7 47.1 34.2 44.5 51.2
## 23      2           4          2 50.4 49.3 48.1 45.4 52.2
## 24      2           4          3 54.3 52.6 45.8 56.1 47.0
## 25      3           1          1 49.5 50.8 46.3 45.1 43.1
## 26      3           1          2 51.6 47.2 44.2 48.4 46.9
## 27      3           1          3 50.0 52.3 36.6 39.7 44.2
## 28      3           2          1 53.0 49.4 45.0 48.6 46.9
## 29      3           2          2 50.0 48.9 45.2 44.8 50.2
## 30      3           2          3 52.7 52.2 54.8 57.9 50.5
## 31      3           3          1 44.1 46.5 38.8 38.9 36.9
## 32      3           3          2 52.2 56.1 48.3 50.9 48.8
## 33      3           3          3 54.2 51.9 48.9 52.4 50.2
## 34      3           4          1 52.4 50.2 50.6 45.2 47.8
## 35      3           4          2 54.5 56.6 52.5 49.4 49.0
## 36      3           4          3 52.4 54.2 49.8 52.1 50.5
## 37      4           1          1 52.6 51.1 43.9 52.7 50.1
## 38      4           1          2 49.7 53.2 55.5 44.3 50.2
## 39      4           1          3 42.6 49.4 38.5 39.0 47.1
## 40      4           2          1 47.6 49.7 52.3 44.3 44.5
## 41      4           2          2 47.7 48.9 43.1 39.8 46.2
## 42      4           2          3 50.2 52.2 51.0 50.8 50.6
## 43      4           3          1 41.2 41.6 39.3 43.8 43.1
## 44      4           3          2 41.8 48.8 42.9 46.5 48.5
## 45      4           3          3 45.7 52.5 45.2 49.1 47.6
## 46      4           4          1 50.4 34.3 41.3 51.5 44.4
## 47      4           4          2 53.9 50.1 50.9 49.6 48.7
## 48      4           4          3 52.9 49.1 46.8 51.4 51.1
df_spad$Bloque= factor(df_spad$Bloque, labels = c("Bloque 1", "Bloque 2", "Bloque 3", "Bloque 4"))
df_spad$Tratamiento= factor(df_spad$Tratamiento, labels = c("Trt 1", "Trt 2", "Trt 3", "Trt 4"))
df_spad
##      Bloque Tratamiento Repeticion   M1   M2   M3   M4   M5
## 1  Bloque 1       Trt 1          1 40.9 56.4 45.6 47.1 52.5
## 2  Bloque 1       Trt 1          2 49.0 51.7 48.0 45.4 48.6
## 3  Bloque 1       Trt 1          3 37.9 40.9 40.8 43.9 41.7
## 4  Bloque 1       Trt 2          1 53.9 49.6 45.1 44.5 45.7
## 5  Bloque 1       Trt 2          2 49.1 48.9 43.5 50.2 42.9
## 6  Bloque 1       Trt 2          3 36.4 48.2 37.5 45.2 38.1
## 7  Bloque 1       Trt 3          1 42.1 36.9 41.4 52.1 48.6
## 8  Bloque 1       Trt 3          2 43.8 42.0 40.7 49.7 47.5
## 9  Bloque 1       Trt 3          3 41.4 39.0 41.4 42.3 43.0
## 10 Bloque 1       Trt 4          1 51.1 50.5 51.8 58.1 48.5
## 11 Bloque 1       Trt 4          2 47.0 46.2 43.5 49.5 48.6
## 12 Bloque 1       Trt 4          3 39.8 42.0 41.2 40.4 41.3
## 13 Bloque 2       Trt 1          1 47.5 50.2 47.9 40.3 48.3
## 14 Bloque 2       Trt 1          2 52.8 54.1 54.0 44.2 53.1
## 15 Bloque 2       Trt 1          3 47.1 46.9 50.5 40.5 47.4
## 16 Bloque 2       Trt 2          1 54.2 55.8 55.4 45.8 42.0
## 17 Bloque 2       Trt 2          2 49.2 59.0 49.1 45.0 47.2
## 18 Bloque 2       Trt 2          3 51.8 53.6 52.1 64.4 42.6
## 19 Bloque 2       Trt 3          1 53.7 55.2 51.0 47.1 52.9
## 20 Bloque 2       Trt 3          2 52.4 44.0 49.3 43.9 45.1
## 21 Bloque 2       Trt 3          3 50.8 48.1 48.8 50.4 47.0
## 22 Bloque 2       Trt 4          1 48.7 47.1 34.2 44.5 51.2
## 23 Bloque 2       Trt 4          2 50.4 49.3 48.1 45.4 52.2
## 24 Bloque 2       Trt 4          3 54.3 52.6 45.8 56.1 47.0
## 25 Bloque 3       Trt 1          1 49.5 50.8 46.3 45.1 43.1
## 26 Bloque 3       Trt 1          2 51.6 47.2 44.2 48.4 46.9
## 27 Bloque 3       Trt 1          3 50.0 52.3 36.6 39.7 44.2
## 28 Bloque 3       Trt 2          1 53.0 49.4 45.0 48.6 46.9
## 29 Bloque 3       Trt 2          2 50.0 48.9 45.2 44.8 50.2
## 30 Bloque 3       Trt 2          3 52.7 52.2 54.8 57.9 50.5
## 31 Bloque 3       Trt 3          1 44.1 46.5 38.8 38.9 36.9
## 32 Bloque 3       Trt 3          2 52.2 56.1 48.3 50.9 48.8
## 33 Bloque 3       Trt 3          3 54.2 51.9 48.9 52.4 50.2
## 34 Bloque 3       Trt 4          1 52.4 50.2 50.6 45.2 47.8
## 35 Bloque 3       Trt 4          2 54.5 56.6 52.5 49.4 49.0
## 36 Bloque 3       Trt 4          3 52.4 54.2 49.8 52.1 50.5
## 37 Bloque 4       Trt 1          1 52.6 51.1 43.9 52.7 50.1
## 38 Bloque 4       Trt 1          2 49.7 53.2 55.5 44.3 50.2
## 39 Bloque 4       Trt 1          3 42.6 49.4 38.5 39.0 47.1
## 40 Bloque 4       Trt 2          1 47.6 49.7 52.3 44.3 44.5
## 41 Bloque 4       Trt 2          2 47.7 48.9 43.1 39.8 46.2
## 42 Bloque 4       Trt 2          3 50.2 52.2 51.0 50.8 50.6
## 43 Bloque 4       Trt 3          1 41.2 41.6 39.3 43.8 43.1
## 44 Bloque 4       Trt 3          2 41.8 48.8 42.9 46.5 48.5
## 45 Bloque 4       Trt 3          3 45.7 52.5 45.2 49.1 47.6
## 46 Bloque 4       Trt 4          1 50.4 34.3 41.3 51.5 44.4
## 47 Bloque 4       Trt 4          2 53.9 50.1 50.9 49.6 48.7
## 48 Bloque 4       Trt 4          3 52.9 49.1 46.8 51.4 51.1
df_altura <- read_excel("C:/Users/JuanSebH2/Downloads/Archivos/Fisio_pro/Analisis de datos/Datos mediciones .xlsx", 
    sheet = "Copia de R(Altura)", col_types = c("text", 
        "text", "numeric", "numeric", "numeric", 
        "numeric", "numeric", "numeric", 
        "numeric", "numeric")); df_altura= data.frame(df_altura); df_altura
##    Bloque Tratamiento Repeticion  M1  M2  M3  M4  M5  M6  M7
## 1       1           1          1  78  83  98 107 113 122 125
## 2       1           1          2  82  92 105 113 121 121 128
## 3       1           1          3 119 138 152 170 182 203 208
## 4       1           2          1  92  97 112 130 139 158 163
## 5       1           2          2 112 139 154 157 160 162 169
## 6       1           2          3  99 110 130 140 159 184 200
## 7       1           3          1  97 108 119 132 146 152 156
## 8       1           3          2  95 104 118 132 148 176 190
## 9       1           3          3 111 123 143 168 174 210 220
## 10      1           4          1 103 112 127 139 152 152 154
## 11      1           4          2  85  91 107 116 129 134 141
## 12      1           4          3 101 111 130 138 142 144 156
## 13      2           1          1  98 102 113 120 124 127 130
## 14      2           1          2 104 111 119 127 134 135 138
## 15      2           1          3  90  96 101 115 122 122 124
## 16      2           2          1 106 120 129 136 138 141 142
## 17      2           2          2  90  97 100 112 115 117 123
## 18      2           2          3 106 115 119 121 129 132 133
## 19      2           3          1  91  98 101 112 121 126 127
## 20      2           3          2  80  88  99 111 113 118 121
## 21      2           3          3  88  97 110 119 123 123 129
## 22      2           4          1  54  57  67  78  85  89  96
## 23      2           4          2  98 100 105 116 116 127 129
## 24      2           4          3  92  98 102 118 120 124 135
## 25      3           1          1  94  97 102 112 114 114 119
## 26      3           1          2  81  85 106 114 120 120 120
## 27      3           1          3  70  73  89  90  92  97 100
## 28      3           2          1  87  95 106 117 128 128 140
## 29      3           2          2  78  89  99 111 116 121 129
## 30      3           2          3  92 100 110 121 130 130 134
## 31      3           3          1 120 126 145 152 154 155 155
## 32      3           3          2  80  97  98 106 113 115 115
## 33      3           3          3  95 111 115 118 118 119 126
## 34      3           4          1  71  74  79  91  99 102 110
## 35      3           4          2  73  78  84  95 105 110 115
## 36      3           4          3  76  79  90 101 108 110 112
## 37      4           1          1 113 118 132 144 145 148 148
## 38      4           1          2 118 126 140 150 160 161 161
## 39      4           1          3 118 139 152 157 160 168 171
## 40      4           2          1  97 102 108 123 127 129 130
## 41      4           2          2 112 121 128 148 166 179 183
## 42      4           2          3  95  98 118 129 142 145 152
## 43      4           3          1  73  80  80 104 106 111 120
## 44      4           3          2  93  96 100 115 125 145 148
## 45      4           3          3  90  95 105 119 125 130 132
## 46      4           4          1 101 109 121 135 144 154 156
## 47      4           4          2  92 102 113 123 129 130 140
## 48      4           4          3  87  98 108 125 127 140 154
df_altura$Bloque= factor(df_altura$Bloque, labels = c("Bloque 1", "Bloque 2", "Bloque 3", "Bloque 4"))
df_altura$Tratamiento= factor(df_altura$Tratamiento, labels = c("Trt 1", "Trt 2", "Trt 3", "Trt 4"))
df_altura
##      Bloque Tratamiento Repeticion  M1  M2  M3  M4  M5  M6  M7
## 1  Bloque 1       Trt 1          1  78  83  98 107 113 122 125
## 2  Bloque 1       Trt 1          2  82  92 105 113 121 121 128
## 3  Bloque 1       Trt 1          3 119 138 152 170 182 203 208
## 4  Bloque 1       Trt 2          1  92  97 112 130 139 158 163
## 5  Bloque 1       Trt 2          2 112 139 154 157 160 162 169
## 6  Bloque 1       Trt 2          3  99 110 130 140 159 184 200
## 7  Bloque 1       Trt 3          1  97 108 119 132 146 152 156
## 8  Bloque 1       Trt 3          2  95 104 118 132 148 176 190
## 9  Bloque 1       Trt 3          3 111 123 143 168 174 210 220
## 10 Bloque 1       Trt 4          1 103 112 127 139 152 152 154
## 11 Bloque 1       Trt 4          2  85  91 107 116 129 134 141
## 12 Bloque 1       Trt 4          3 101 111 130 138 142 144 156
## 13 Bloque 2       Trt 1          1  98 102 113 120 124 127 130
## 14 Bloque 2       Trt 1          2 104 111 119 127 134 135 138
## 15 Bloque 2       Trt 1          3  90  96 101 115 122 122 124
## 16 Bloque 2       Trt 2          1 106 120 129 136 138 141 142
## 17 Bloque 2       Trt 2          2  90  97 100 112 115 117 123
## 18 Bloque 2       Trt 2          3 106 115 119 121 129 132 133
## 19 Bloque 2       Trt 3          1  91  98 101 112 121 126 127
## 20 Bloque 2       Trt 3          2  80  88  99 111 113 118 121
## 21 Bloque 2       Trt 3          3  88  97 110 119 123 123 129
## 22 Bloque 2       Trt 4          1  54  57  67  78  85  89  96
## 23 Bloque 2       Trt 4          2  98 100 105 116 116 127 129
## 24 Bloque 2       Trt 4          3  92  98 102 118 120 124 135
## 25 Bloque 3       Trt 1          1  94  97 102 112 114 114 119
## 26 Bloque 3       Trt 1          2  81  85 106 114 120 120 120
## 27 Bloque 3       Trt 1          3  70  73  89  90  92  97 100
## 28 Bloque 3       Trt 2          1  87  95 106 117 128 128 140
## 29 Bloque 3       Trt 2          2  78  89  99 111 116 121 129
## 30 Bloque 3       Trt 2          3  92 100 110 121 130 130 134
## 31 Bloque 3       Trt 3          1 120 126 145 152 154 155 155
## 32 Bloque 3       Trt 3          2  80  97  98 106 113 115 115
## 33 Bloque 3       Trt 3          3  95 111 115 118 118 119 126
## 34 Bloque 3       Trt 4          1  71  74  79  91  99 102 110
## 35 Bloque 3       Trt 4          2  73  78  84  95 105 110 115
## 36 Bloque 3       Trt 4          3  76  79  90 101 108 110 112
## 37 Bloque 4       Trt 1          1 113 118 132 144 145 148 148
## 38 Bloque 4       Trt 1          2 118 126 140 150 160 161 161
## 39 Bloque 4       Trt 1          3 118 139 152 157 160 168 171
## 40 Bloque 4       Trt 2          1  97 102 108 123 127 129 130
## 41 Bloque 4       Trt 2          2 112 121 128 148 166 179 183
## 42 Bloque 4       Trt 2          3  95  98 118 129 142 145 152
## 43 Bloque 4       Trt 3          1  73  80  80 104 106 111 120
## 44 Bloque 4       Trt 3          2  93  96 100 115 125 145 148
## 45 Bloque 4       Trt 3          3  90  95 105 119 125 130 132
## 46 Bloque 4       Trt 4          1 101 109 121 135 144 154 156
## 47 Bloque 4       Trt 4          2  92 102 113 123 129 130 140
## 48 Bloque 4       Trt 4          3  87  98 108 125 127 140 154
df_vainas<- read_excel("C:/Users/JuanSebH2/Downloads/Archivos/Fisio_pro/Analisis de datos/Vainas_Fisio_Pro.xlsx", 
    sheet = "Copia de R (Vainas)"); df_vainas=data.frame(df_vainas)
df_vainas$Bloque= factor(df_vainas$Bloque, labels = c("Bloque 1", "Bloque 2", "Bloque 3", "Bloque 4"))
df_vainas$Tratamiento= factor(df_vainas$Tratamiento, labels = c("Trt 1", "Trt 2", "Trt 3", "Trt 4"))
df_vainas  
##      Bloque Tratamiento Repeticion Dato
## 1  Bloque 1       Trt 1          1    8
## 2  Bloque 1       Trt 1          2    8
## 3  Bloque 1       Trt 1          3   17
## 4  Bloque 1       Trt 2          1   22
## 5  Bloque 1       Trt 2          2   23
## 6  Bloque 1       Trt 2          3   16
## 7  Bloque 1       Trt 3          1   11
## 8  Bloque 1       Trt 3          2   14
## 9  Bloque 1       Trt 3          3   14
## 10 Bloque 1       Trt 4          1   10
## 11 Bloque 1       Trt 4          2    5
## 12 Bloque 1       Trt 4          3   10
## 13 Bloque 2       Trt 1          1    6
## 14 Bloque 2       Trt 1          2    6
## 15 Bloque 2       Trt 1          3    7
## 16 Bloque 2       Trt 2          1    8
## 17 Bloque 2       Trt 2          2    5
## 18 Bloque 2       Trt 2          3    6
## 19 Bloque 2       Trt 3          1    9
## 20 Bloque 2       Trt 3          2   10
## 21 Bloque 2       Trt 3          3   10
## 22 Bloque 2       Trt 4          1    5
## 23 Bloque 2       Trt 4          2   18
## 24 Bloque 2       Trt 4          3   18
## 25 Bloque 3       Trt 1          1   10
## 26 Bloque 3       Trt 1          2   11
## 27 Bloque 3       Trt 1          3    5
## 28 Bloque 3       Trt 2          1   14
## 29 Bloque 3       Trt 2          2   12
## 30 Bloque 3       Trt 2          3    9
## 31 Bloque 3       Trt 3          1    6
## 32 Bloque 3       Trt 3          2    6
## 33 Bloque 3       Trt 3          3   12
## 34 Bloque 3       Trt 4          1    5
## 35 Bloque 3       Trt 4          2    6
## 36 Bloque 3       Trt 4          3    7
## 37 Bloque 4       Trt 1          1   21
## 38 Bloque 4       Trt 1          2   18
## 39 Bloque 4       Trt 1          3   21
## 40 Bloque 4       Trt 2          1   10
## 41 Bloque 4       Trt 2          2   13
## 42 Bloque 4       Trt 2          3   20
## 43 Bloque 4       Trt 3          1    4
## 44 Bloque 4       Trt 3          2   15
## 45 Bloque 4       Trt 3          3    4
## 46 Bloque 4       Trt 4          1   16
## 47 Bloque 4       Trt 4          2   14
## 48 Bloque 4       Trt 4          3   13
df_granos<-read_excel("C:/Users/JuanSebH2/Downloads/Archivos/Fisio_pro/Analisis de datos/Vainas_Fisio_Pro.xlsx", 
    sheet = "Copia de R (Granos)", col_types = c("numeric", 
        "numeric", "skip", "skip", "numeric", 
        "numeric", "skip")); df_granos=data.frame(df_granos); df_granos
##    Bloque Tratamiento N.Granos N.granos.vaina
## 1       1           1       43       7.166667
## 2       1           2       40       6.666667
## 3       1           3       46       6.571429
## 4       1           4       44       6.285714
## 5       2           1       35       5.833333
## 6       2           2       35       5.000000
## 7       2           3       26       5.200000
## 8       2           4       48       6.857143
## 9       3           1       42       7.000000
## 10      3           2       39       6.500000
## 11      3           3       48       4.800000
## 12      3           4       39       5.571429
## 13      4           1       58       5.800000
## 14      4           2       27       5.400000
## 15      4           3       37       7.400000
## 16      4           4       55       5.500000
#df_granos$P.Vainas=round(df_granos$P.Vainas,2)
df_granos$N.granos.vaina=round(df_granos$N.granos.vaina, 2)
#df_granos$P.Granos=round(df_granos$P.Granos,2)
df_granos$Bloque= factor(df_granos$Bloque, labels = c("Bloque 1", "Bloque 2", "Bloque 3", "Bloque 4"))
df_granos$Tratamiento= factor(df_granos$Tratamiento, labels = c("Trt 1", "Trt 2", "Trt 3", "Trt 4"))
df_granos
##      Bloque Tratamiento N.Granos N.granos.vaina
## 1  Bloque 1       Trt 1       43           7.17
## 2  Bloque 1       Trt 2       40           6.67
## 3  Bloque 1       Trt 3       46           6.57
## 4  Bloque 1       Trt 4       44           6.29
## 5  Bloque 2       Trt 1       35           5.83
## 6  Bloque 2       Trt 2       35           5.00
## 7  Bloque 2       Trt 3       26           5.20
## 8  Bloque 2       Trt 4       48           6.86
## 9  Bloque 3       Trt 1       42           7.00
## 10 Bloque 3       Trt 2       39           6.50
## 11 Bloque 3       Trt 3       48           4.80
## 12 Bloque 3       Trt 4       39           5.57
## 13 Bloque 4       Trt 1       58           5.80
## 14 Bloque 4       Trt 2       27           5.40
## 15 Bloque 4       Trt 3       37           7.40
## 16 Bloque 4       Trt 4       55           5.50
df_100g<-read_excel("C:/Users/JuanSebH2/Downloads/Archivos/Fisio_pro/Analisis de datos/Vainas_Fisio_Pro.xlsx", 
    sheet = "R (Granos100)"); df_100g=data.frame(df_100g); df_100g
##    Tratamiento Peso.de.100.granos..g.
## 1            1               50.20787
## 2            2               75.86525
## 3            3               53.51592
## 4            4               73.77957
## 5            1               50.20787
## 6            2               75.86525
## 7            3               53.51592
## 8            4               73.77957
## 9            1               50.20787
## 10           2               75.86525
## 11           3               53.51592
## 12           4               73.77957
## 13           1               50.20787
## 14           2               75.86525
## 15           3               53.51592
## 16           4               73.77957
df_100g$Tratamiento= factor(df_100g$Tratamiento, labels = c("Trt 1", "Trt 2", "Trt 3", "Trt 4"))
df_100g
##    Tratamiento Peso.de.100.granos..g.
## 1        Trt 1               50.20787
## 2        Trt 2               75.86525
## 3        Trt 3               53.51592
## 4        Trt 4               73.77957
## 5        Trt 1               50.20787
## 6        Trt 2               75.86525
## 7        Trt 3               53.51592
## 8        Trt 4               73.77957
## 9        Trt 1               50.20787
## 10       Trt 2               75.86525
## 11       Trt 3               53.51592
## 12       Trt 4               73.77957
## 13       Trt 1               50.20787
## 14       Trt 2               75.86525
## 15       Trt 3               53.51592
## 16       Trt 4               73.77957
df_TRC=read_excel("C:/Users/JuanSebH2/Downloads/Archivos/Fisio_pro/Analisis de datos/Datos mediciones .xlsx", 
    sheet = "TRC"); df_TRC= data.frame(df_TRC)
df_TRC$Bloque= factor(df_TRC$Bloque, labels = c("Bloque 1", "Bloque 2", "Bloque 3", "Bloque 4"))
df_TRC$Tratamiento= factor(df_TRC$Tratamiento, labels = c("Trt 1", "Trt 2", "Trt 3", "Trt 4"))
#Muestreo 1 Altura, Spad y TRC

al_m1= aov(M1~Tratamiento+Bloque, data= df_altura)
a=anova(al_m1);a
## Analysis of Variance Table
## 
## Response: M1
##             Df Sum Sq Mean Sq F value  Pr(>F)  
## Tratamiento  3  979.7  326.58  1.8494 0.15334  
## Bloque       3 1567.7  522.58  2.9593 0.04337 *
## Residuals   41 7240.0  176.59                  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
TukeyHSD(al_m1)
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = M1 ~ Tratamiento + Bloque, data = df_altura)
## 
## $Tratamiento
##                     diff       lwr       upr     p adj
## Trt 2-Trt 1   0.08333333 -14.44284 14.609507 0.9999987
## Trt 3-Trt 1  -4.33333333 -18.85951 10.192841 0.8545685
## Trt 4-Trt 1 -11.00000000 -25.52617  3.526174 0.1946602
## Trt 3-Trt 2  -4.41666667 -18.94284 10.109507 0.8474393
## Trt 4-Trt 2 -11.08333333 -25.60951  3.442841 0.1892581
## Trt 4-Trt 3  -6.66666667 -21.19284  7.859507 0.6124287
## 
## $Bloque
##                         diff         lwr       upr     p adj
## Bloque 2-Bloque 1  -6.416667 -20.9428406  8.109507 0.6409837
## Bloque 3-Bloque 1 -13.083333 -27.6095073  1.442841 0.0907166
## Bloque 4-Bloque 1   1.250000 -13.2761740 15.776174 0.9956208
## Bloque 3-Bloque 2  -6.666667 -21.1928406  7.859507 0.6124287
## Bloque 4-Bloque 2   7.666667  -6.8595073 22.192841 0.4985512
## Bloque 4-Bloque 3  14.333333  -0.1928406 28.859507 0.0543004
tc=TukeyC(al_m1,'Bloque')
plot(tc)

spad_m1= aov(M1~Tratamiento+Bloque, data= df_spad)
a=anova(spad_m1);a
## Analysis of Variance Table
## 
## Response: M1
##             Df Sum Sq Mean Sq F value    Pr(>F)    
## Tratamiento  3 107.72  35.907  2.4523 0.0769384 .  
## Bloque       3 384.88 128.295  8.7618 0.0001308 ***
## Residuals   41 600.35  14.643                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
TukeyHSD(spad_m1)
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = M1 ~ Tratamiento + Bloque, data = df_spad)
## 
## $Tratamiento
##              diff        lwr      upr     p adj
## Trt 2-Trt 1  2.05 -2.1329443 6.232944 0.5605839
## Trt 3-Trt 1 -0.65 -4.8329443 3.532944 0.9754140
## Trt 4-Trt 1  3.05 -1.1329443 7.232944 0.2227515
## Trt 3-Trt 2 -2.70 -6.8829443 1.482944 0.3224991
## Trt 4-Trt 2  1.00 -3.1829443 5.182944 0.9183643
## Trt 4-Trt 3  3.70 -0.4829443 7.882944 0.0994406
## 
## $Bloque
##                         diff       lwr       upr     p adj
## Bloque 2-Bloque 1  6.7083333  2.525389 10.891278 0.0005867
## Bloque 3-Bloque 1  7.0166667  2.833722 11.199611 0.0003196
## Bloque 4-Bloque 1  3.6583333 -0.524611  7.841278 0.1051668
## Bloque 3-Bloque 2  0.3083333 -3.874611  4.491278 0.9972318
## Bloque 4-Bloque 2 -3.0500000 -7.232944  1.132944 0.2227515
## Bloque 4-Bloque 3 -3.3583333 -7.541278  0.824611 0.1547463
tc=TukeyC(spad_m1,'Bloque')
plot(tc)

TRC_m1.m2= aov(M1.M2~Tratamiento+Bloque, data= df_TRC)
a=anova(TRC_m1.m2);a
## Analysis of Variance Table
## 
## Response: M1.M2
##             Df     Sum Sq    Mean Sq F value Pr(>F)
## Tratamiento  3 0.00012492 4.1641e-05  0.7806 0.5340
## Bloque       3 0.00020827 6.9423e-05  1.3014 0.3326
## Residuals    9 0.00048009 5.3343e-05
TukeyHSD(TRC_m1.m2) #No hay diferencias
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = M1.M2 ~ Tratamiento + Bloque, data = df_TRC)
## 
## $Tratamiento
##                     diff         lwr         upr     p adj
## Trt 2-Trt 1  0.004823638 -0.01129880 0.020946072 0.7880406
## Trt 3-Trt 1  0.004098518 -0.01202392 0.020220952 0.8556481
## Trt 4-Trt 1 -0.001883989 -0.01800642 0.014238445 0.9823527
## Trt 3-Trt 2 -0.000725120 -0.01684755 0.015397314 0.9989361
## Trt 4-Trt 2 -0.006707628 -0.02283006 0.009414806 0.5859030
## Trt 4-Trt 3 -0.005982507 -0.02210494 0.010139926 0.6654971
## 
## $Bloque
##                            diff         lwr         upr     p adj
## Bloque 2-Bloque 1 -0.0091907388 -0.02531317 0.006931695 0.3419538
## Bloque 3-Bloque 1 -0.0073876321 -0.02351007 0.008734802 0.5129528
## Bloque 4-Bloque 1 -0.0080119915 -0.02413443 0.008110442 0.4493346
## Bloque 3-Bloque 2  0.0018031067 -0.01431933 0.017925541 0.9844449
## Bloque 4-Bloque 2  0.0011787473 -0.01494369 0.017301181 0.9955026
## Bloque 4-Bloque 3 -0.0006243594 -0.01674679 0.015498075 0.9993191
tc=TukeyC(TRC_m1.m2,'Tratamiento')
plot(tc)

#Muestreo 2 Altura y spad

al_m2= aov(M2~Tratamiento+Bloque, data= df_altura)
a=anova(al_m2);a
## Analysis of Variance Table
## 
## Response: M2
##             Df  Sum Sq Mean Sq F value  Pr(>F)  
## Tratamiento  3  1491.1  497.02  1.9732 0.13304  
## Bloque       3  2247.6  749.19  2.9744 0.04264 *
## Residuals   41 10327.2  251.88                  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
TukeyHSD(al_m2)
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = M2 ~ Tratamiento + Bloque, data = df_altura)
## 
## $Tratamiento
##                   diff       lwr       upr     p adj
## Trt 2-Trt 1   1.916667 -15.43225 19.265583 0.9908595
## Trt 3-Trt 1  -3.083333 -20.43225 14.265583 0.9639822
## Trt 4-Trt 1 -12.583333 -29.93225  4.765583 0.2268039
## Trt 3-Trt 2  -5.000000 -22.34892 12.348917 0.8667445
## Trt 4-Trt 2 -14.500000 -31.84892  2.848917 0.1300901
## Trt 4-Trt 3  -9.500000 -26.84892  7.848917 0.4667025
## 
## $Bloque
##                     diff        lwr        upr     p adj
## Bloque 2-Bloque 1 -10.75 -28.098917  6.5989168 0.3579901
## Bloque 3-Bloque 1 -17.00 -34.348917  0.3489168 0.0566383
## Bloque 4-Bloque 1  -2.00 -19.348917 15.3489168 0.9896468
## Bloque 3-Bloque 2  -6.25 -23.598917 11.0989168 0.7700952
## Bloque 4-Bloque 2   8.75  -8.598917 26.0989168 0.5369451
## Bloque 4-Bloque 3  15.00  -2.348917 32.3489168 0.1111699
tc=TukeyC(al_m2,"Bloque")
plot(tc)

spad_m2= aov(M2~Tratamiento+Bloque, data= df_spad)
a=anova(spad_m2);a
## Analysis of Variance Table
## 
## Response: M2
##             Df Sum Sq Mean Sq F value  Pr(>F)  
## Tratamiento  3 141.91  47.303  2.2144 0.10093  
## Bloque       3 238.28  79.425  3.7182 0.01871 *
## Residuals   41 875.81  21.361                  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
TukeyHSD(spad_m2)
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = M2 ~ Tratamiento + Bloque, data = df_spad)
## 
## $Tratamiento
##                  diff       lwr       upr     p adj
## Trt 2-Trt 1  1.016667 -4.035612 6.0689456 0.9490089
## Trt 3-Trt 1 -3.466667 -8.518946 1.5856122 0.2710164
## Trt 4-Trt 1 -1.833333 -6.885612 3.2189456 0.7661997
## Trt 3-Trt 2 -4.483333 -9.535612 0.5689456 0.0978538
## Trt 4-Trt 2 -2.850000 -7.902279 2.2022789 0.4406869
## Trt 4-Trt 3  1.633333 -3.418946 6.6856122 0.8224281
## 
## $Bloque
##                          diff        lwr       upr     p adj
## Bloque 2-Bloque 1  5.30000000  0.2477211 10.352279 0.0365992
## Bloque 3-Bloque 1  5.33333333  0.2810544 10.385612 0.0350648
## Bloque 4-Bloque 1  2.38333333 -2.6689456  7.435612 0.5911262
## Bloque 3-Bloque 2  0.03333333 -5.0189456  5.085612 0.9999980
## Bloque 4-Bloque 2 -2.91666667 -7.9689456  2.135612 0.4203256
## Bloque 4-Bloque 3 -2.95000000 -8.0022789  2.102279 0.4102996
tc=TukeyC(spad_m2,"Bloque")
plot(tc)

TRC_m2.m3= aov(M2.M3~Tratamiento+Bloque, data= df_TRC)
a=anova(TRC_m2.m3);a
## Analysis of Variance Table
## 
## Response: M2.M3
##             Df     Sum Sq    Mean Sq F value  Pr(>F)  
## Tratamiento  3 0.00011513 3.8376e-05  1.0904 0.40185  
## Bloque       3 0.00053113 1.7704e-04  5.0302 0.02565 *
## Residuals    9 0.00031676 3.5196e-05                  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
TukeyHSD(TRC_m2.m3)
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = M2.M3 ~ Tratamiento + Bloque, data = df_TRC)
## 
## $Tratamiento
##                     diff          lwr         upr     p adj
## Trt 2-Trt 1 -0.004461608 -0.017557555 0.008634338 0.7186646
## Trt 3-Trt 1 -0.007372150 -0.020468097 0.005723797 0.3515920
## Trt 4-Trt 1 -0.002676012 -0.015771959 0.010419935 0.9171094
## Trt 3-Trt 2 -0.002910542 -0.016006488 0.010185405 0.8969182
## Trt 4-Trt 2  0.001785596 -0.011310350 0.014881543 0.9726118
## Trt 4-Trt 3  0.004696138 -0.008399809 0.017792085 0.6874701
## 
## $Bloque
##                           diff          lwr          upr     p adj
## Bloque 2-Bloque 1 -0.015614560 -0.028710506 -0.002518613 0.0203830
## Bloque 3-Bloque 1 -0.007391304 -0.020487251  0.005704642 0.3495983
## Bloque 4-Bloque 1 -0.011456098 -0.024552044  0.001639849 0.0899189
## Bloque 3-Bloque 2  0.008223255 -0.004872692  0.021319202 0.2706715
## Bloque 4-Bloque 2  0.004158462 -0.008937485  0.017254409 0.7579941
## Bloque 4-Bloque 3 -0.004064793 -0.017160740  0.009031154 0.7698427
tc=TukeyC(TRC_m2.m3,'Bloque')
plot(tc)

#Muestreo 3 Altura y spad

al_m3= aov(M3~Tratamiento+Bloque, data= df_altura)
a=anova(al_m3);a
## Analysis of Variance Table
## 
## Response: M3
##             Df  Sum Sq Mean Sq F value   Pr(>F)   
## Tratamiento  3  1782.7  594.22  2.0520 0.121555   
## Bloque       3  3947.3 1315.78  4.5437 0.007709 **
## Residuals   41 11873.0  289.59                    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
TukeyHSD(al_m3)
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = M3 ~ Tratamiento + Bloque, data = df_altura)
## 
## $Tratamiento
##                    diff       lwr       upr     p adj
## Trt 2-Trt 1   0.3333333 -18.26875 18.935416 0.9999596
## Trt 3-Trt 1  -6.3333333 -24.93542 12.268749 0.7987580
## Trt 4-Trt 1 -14.6666667 -33.26875  3.935416 0.1666246
## Trt 3-Trt 2  -6.6666667 -25.26875 11.935416 0.7728626
## Trt 4-Trt 2 -15.0000000 -33.60208  3.602083 0.1519661
## Trt 4-Trt 3  -8.3333333 -26.93542 10.268749 0.6306403
## 
## $Bloque
##                        diff        lwr        upr     p adj
## Bloque 2-Bloque 1 -19.16667 -37.768749 -0.5645841 0.0412734
## Bloque 3-Bloque 1 -22.66667 -41.268749 -4.0645841 0.0114990
## Bloque 4-Bloque 1  -7.50000 -26.102083 11.1020825 0.7037859
## Bloque 3-Bloque 2  -3.50000 -22.102083 15.1020825 0.9577200
## Bloque 4-Bloque 2  11.66667  -6.935416 30.2687492 0.3474294
## Bloque 4-Bloque 3  15.16667  -3.435416 33.7687492 0.1450214
tc=TukeyC(al_m3,'Bloque')
plot(tc)

spad_m3= aov(M3~Tratamiento+Bloque, data= df_spad)
a=anova(spad_m3);a
## Analysis of Variance Table
## 
## Response: M3
##             Df  Sum Sq Mean Sq F value  Pr(>F)  
## Tratamiento  3   61.47  20.491  0.8033 0.49927  
## Bloque       3  184.79  61.598  2.4148 0.08029 .
## Residuals   41 1045.84  25.508                  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
TukeyHSD(spad_m3)#No hay diferencias
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = M3 ~ Tratamiento + Bloque, data = df_spad)
## 
## $Tratamiento
##                   diff       lwr      upr     p adj
## Trt 2-Trt 1  1.8583333 -3.662618 7.379285 0.8041902
## Trt 3-Trt 1 -1.3166667 -6.837618 4.204285 0.9188956
## Trt 4-Trt 1  0.3916667 -5.129285 5.912618 0.9975295
## Trt 3-Trt 2 -3.1750000 -8.695952 2.345952 0.4237157
## Trt 4-Trt 2 -1.4666667 -6.987618 4.054285 0.8920355
## Trt 4-Trt 3  1.7083333 -3.812618 7.229285 0.8406151
## 
## $Bloque
##                         diff         lwr       upr     p adj
## Bloque 2-Bloque 1  5.4750000 -0.04595182 10.995952 0.0526599
## Bloque 3-Bloque 1  3.3750000 -2.14595182  8.895952 0.3698585
## Bloque 4-Bloque 1  2.5166667 -3.00428516  8.037618 0.6175883
## Bloque 3-Bloque 2 -2.1000000 -7.62095182  3.420952 0.7396385
## Bloque 4-Bloque 2 -2.9583333 -8.47928516  2.562618 0.4855187
## Bloque 4-Bloque 3 -0.8583333 -6.37928516  4.662618 0.9753798
tc=TukeyC(spad_m3,'Tratamiento') 
plot(tc)

TRC_m3.m4= aov(M3.M4~Tratamiento+Bloque, data= df_TRC)
a=anova(TRC_m3.m4);a
## Analysis of Variance Table
## 
## Response: M3.M4
##             Df     Sum Sq    Mean Sq F value Pr(>F)
## Tratamiento  3 0.00094415 0.00031472  1.0808 0.4054
## Bloque       3 0.00057439 0.00019146  0.6575 0.5984
## Residuals    9 0.00262081 0.00029120
TukeyHSD(TRC_m3.m4) #No hay diferencias
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = M3.M4 ~ Tratamiento + Bloque, data = df_TRC)
## 
## $Tratamiento
##                      diff         lwr        upr     p adj
## Trt 2-Trt 1  7.169532e-03 -0.03049966 0.04483872 0.9313249
## Trt 3-Trt 1  1.810388e-02 -0.01956531 0.05577306 0.4757009
## Trt 4-Trt 1  1.807165e-02 -0.01959754 0.05574083 0.4771017
## Trt 3-Trt 2  1.093435e-02 -0.02673484 0.04860353 0.8021857
## Trt 4-Trt 2  1.090212e-02 -0.02676707 0.04857130 0.8035260
## Trt 4-Trt 3 -3.223031e-05 -0.03770142 0.03763696 1.0000000
## 
## $Bloque
##                           diff         lwr        upr     p adj
## Bloque 2-Bloque 1 -0.000512428 -0.03818162 0.03715676 0.9999703
## Bloque 3-Bloque 1 -0.004331324 -0.04200051 0.03333786 0.9831526
## Bloque 4-Bloque 1  0.011671707 -0.02599748 0.04934089 0.7707272
## Bloque 3-Bloque 2 -0.003818896 -0.04148808 0.03385029 0.9882897
## Bloque 4-Bloque 2  0.012184135 -0.02548505 0.04985332 0.7480808
## Bloque 4-Bloque 3  0.016003030 -0.02166616 0.05367222 0.5704821
tc=TukeyC(TRC_m3.m4,'Tratamiento')
plot(tc)

#Muestreo 4 Altura y spad
al_m4= aov(M4~Tratamiento+Bloque, data= df_altura)
a=anova(al_m4);a
## Analysis of Variance Table
## 
## Response: M4
##             Df  Sum Sq Mean Sq F value    Pr(>F)    
## Tratamiento  3  1401.9  467.30  1.7330 0.1752409    
## Bloque       3  5568.7 1856.24  6.8841 0.0007339 ***
## Residuals   41 11055.4  269.64                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
TukeyHSD(al_m4)
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = M4 ~ Tratamiento + Bloque, data = df_altura)
## 
## $Tratamiento
##                   diff       lwr       upr     p adj
## Trt 2-Trt 1   2.166667 -15.78347 20.116799 0.9881590
## Trt 3-Trt 1  -2.583333 -20.53347 15.366799 0.9802775
## Trt 4-Trt 1 -12.000000 -29.95013  5.950133 0.2926607
## Trt 3-Trt 2  -4.750000 -22.70013 13.200133 0.8931299
## Trt 4-Trt 2 -14.166667 -32.11680  3.783466 0.1659637
## Trt 4-Trt 3  -9.416667 -27.36680  8.533466 0.5037252
## 
## $Bloque
##                         diff        lwr       upr     p adj
## Bloque 2-Bloque 1 -21.416667 -39.366799 -3.466534 0.0137745
## Bloque 3-Bloque 1 -26.166667 -44.116799 -8.216534 0.0018947
## Bloque 4-Bloque 1  -5.833333 -23.783466 12.116799 0.8201559
## Bloque 3-Bloque 2  -4.750000 -22.700133 13.200133 0.8931299
## Bloque 4-Bloque 2  15.583333  -2.366799 33.533466 0.1090094
## Bloque 4-Bloque 3  20.333333   2.383201 38.283466 0.0209562
tc=TukeyC(al_m4,'Bloque')
plot(tc)

spad_m4= aov(M4~Tratamiento+Bloque, data= df_spad)
a=anova(spad_m4);a
## Analysis of Variance Table
## 
## Response: M4
##             Df  Sum Sq Mean Sq F value Pr(>F)
## Tratamiento  3  184.29  61.430  2.1891 0.1039
## Bloque       3    4.71   1.570  0.0559 0.9824
## Residuals   41 1150.51  28.061
TukeyHSD(spad_m4) #No hay diferencias
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = M4 ~ Tratamiento + Bloque, data = df_spad)
## 
## $Tratamiento
##                   diff        lwr       upr     p adj
## Trt 2-Trt 1  4.2250000 -1.5656458 10.015646 0.2222556
## Trt 3-Trt 1  3.0416667 -2.7489792  8.832313 0.5026329
## Trt 4-Trt 1  5.2166667 -0.5739792 11.007313 0.0906099
## Trt 3-Trt 2 -1.1833333 -6.9739792  4.607313 0.9467862
## Trt 4-Trt 2  0.9916667 -4.7989792  6.782313 0.9675696
## Trt 4-Trt 3  2.1750000 -3.6156458  7.965646 0.7469587
## 
## $Bloque
##                          diff       lwr      upr     p adj
## Bloque 2-Bloque 1 -0.06666667 -5.857313 5.723979 0.9999893
## Bloque 3-Bloque 1  0.41666667 -5.373979 6.207313 0.9974232
## Bloque 4-Bloque 1 -0.46666667 -6.257313 5.323979 0.9963935
## Bloque 3-Bloque 2  0.48333333 -5.307313 6.273979 0.9959985
## Bloque 4-Bloque 2 -0.40000000 -6.190646 5.390646 0.9977176
## Bloque 4-Bloque 3 -0.88333333 -6.673979 4.907313 0.9766834
tc=TukeyC(spad_m4,'Tratamiento')
plot(tc)

TRC_m4.m5= aov(M4.M5~Tratamiento+Bloque, data= df_TRC)
a=anova(TRC_m4.m5);a
## Analysis of Variance Table
## 
## Response: M4.M5
##             Df     Sum Sq    Mean Sq F value Pr(>F)
## Tratamiento  3 3.9131e-05 1.3044e-05  0.8483 0.5016
## Bloque       3 9.1045e-05 3.0348e-05  1.9737 0.1885
## Residuals    9 1.3839e-04 1.5376e-05
TukeyHSD(TRC_m4.m5) #No hay diferencias
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = M4.M5 ~ Tratamiento + Bloque, data = df_TRC)
## 
## $Tratamiento
##                     diff          lwr         upr     p adj
## Trt 2-Trt 1  0.004149185 -0.004506768 0.012805138 0.4777596
## Trt 3-Trt 1  0.001185799 -0.007470154 0.009841752 0.9722442
## Trt 4-Trt 1  0.002708012 -0.005947941 0.011363965 0.7657794
## Trt 3-Trt 2 -0.002963386 -0.011619339 0.005692567 0.7157857
## Trt 4-Trt 2 -0.001441173 -0.010097126 0.007214780 0.9522053
## Trt 4-Trt 3  0.001522213 -0.007133741 0.010178166 0.9445044
## 
## $Bloque
##                            diff          lwr         upr     p adj
## Bloque 2-Bloque 1 -0.0066857491 -0.015341702 0.001970204 0.1440617
## Bloque 3-Bloque 1 -0.0040357380 -0.012691691 0.004620215 0.4994673
## Bloque 4-Bloque 1 -0.0039231512 -0.012579104 0.004732802 0.5214164
## Bloque 3-Bloque 2  0.0026500110 -0.006005942 0.011305964 0.7767809
## Bloque 4-Bloque 2  0.0027625979 -0.005893355 0.011418551 0.7552921
## Bloque 4-Bloque 3  0.0001125869 -0.008543366 0.008768540 0.9999740
tc=TukeyC(TRC_m4.m5,'Tratamiento')
plot(tc)

#Muestreo 5 Altura y spad

al_m5= aov(M5~Tratamiento+Bloque, data= df_altura)
a=anova(al_m5);a
## Analysis of Variance Table
## 
## Response: M5
##             Df  Sum Sq Mean Sq F value    Pr(>F)    
## Tratamiento  3  1618.4  539.47  1.9627    0.1347    
## Bloque       3  7677.4 2559.14  9.3106 8.102e-05 ***
## Residuals   41 11269.4  274.86                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
TukeyHSD(al_m5)
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = M5 ~ Tratamiento + Bloque, data = df_altura)
## 
## $Tratamiento
##                   diff       lwr       upr     p adj
## Trt 2-Trt 1   5.166667 -12.95642 23.289749 0.8703938
## Trt 3-Trt 1  -1.750000 -19.87308 16.373082 0.9938462
## Trt 4-Trt 1 -10.916667 -29.03975  7.206415 0.3828295
## Trt 3-Trt 2  -6.916667 -25.03975 11.206415 0.7376603
## Trt 4-Trt 2 -16.083333 -34.20642  2.039749 0.0978195
## Trt 4-Trt 3  -9.166667 -27.28975  8.956415 0.5345577
## 
## $Bloque
##                         diff         lwr        upr     p adj
## Bloque 2-Bloque 1 -27.083333 -45.2064152  -8.960251 0.0014175
## Bloque 3-Bloque 1 -30.666667 -48.7897485 -12.543585 0.0002828
## Bloque 4-Bloque 1  -9.083333 -27.2064152   9.039749 0.5421538
## Bloque 3-Bloque 2  -3.583333 -21.7064152  14.539749 0.9514392
## Bloque 4-Bloque 2  18.000000  -0.1230818  36.123082 0.0521613
## Bloque 4-Bloque 3  21.583333   3.4602515  39.706415 0.0139892
tc=TukeyC(al_m5,'Bloque')
plot(tc)

spad_m5= aov(M5~Tratamiento+Bloque, data= df_spad)
a=anova(spad_m5);a
## Analysis of Variance Table
## 
## Response: M5
##             Df Sum Sq Mean Sq F value Pr(>F)
## Tratamiento  3  53.73  17.909  1.3403 0.2745
## Bloque       3  41.28  13.761  1.0299 0.3894
## Residuals   41 547.85  13.362
TukeyHSD(spad_m5)#No hay diferencias
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = M5 ~ Tratamiento + Bloque, data = df_spad)
## 
## $Tratamiento
##                   diff       lwr      upr     p adj
## Trt 2-Trt 1 -2.1500000 -6.145872 1.845872 0.4819483
## Trt 3-Trt 1 -1.1666667 -5.162539 2.829206 0.8622680
## Trt 4-Trt 1  0.5916667 -3.404206 4.587539 0.9785945
## Trt 3-Trt 2  0.9833333 -3.012539 4.979206 0.9117901
## Trt 4-Trt 2  2.7416667 -1.254206 6.737539 0.2710575
## Trt 4-Trt 3  1.7583333 -2.237539 5.754206 0.6437829
## 
## $Bloque
##                         diff       lwr      upr     p adj
## Bloque 2-Bloque 1  2.4166667 -1.579206 6.412539 0.3792861
## Bloque 3-Bloque 1  1.5000000 -2.495872 5.495872 0.7472928
## Bloque 4-Bloque 1  2.0916667 -1.904206 6.087539 0.5055901
## Bloque 3-Bloque 2 -0.9166667 -4.912539 3.079206 0.9269601
## Bloque 4-Bloque 2 -0.3250000 -4.320872 3.670872 0.9962939
## Bloque 4-Bloque 3  0.5916667 -3.404206 4.587539 0.9785945
tc=TukeyC(spad_m5,'Tratamiento')
plot(tc)

TRC_m5.m6= aov(M5.M6~Tratamiento+Bloque, data= df_TRC)
a=anova(TRC_m5.m6);a
## Analysis of Variance Table
## 
## Response: M5.M6
##             Df     Sum Sq    Mean Sq F value  Pr(>F)  
## Tratamiento  3 5.0897e-05 1.6966e-05  0.8664 0.49326  
## Bloque       3 1.8681e-04 6.2269e-05  3.1799 0.07758 .
## Residuals    9 1.7624e-04 1.9582e-05                  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
TukeyHSD(TRC_m5.m6) #No hay diferencias
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = M5.M6 ~ Tratamiento + Bloque, data = df_TRC)
## 
## $Tratamiento
##                      diff          lwr         upr     p adj
## Trt 2-Trt 1  0.0017662373 -0.008002038 0.011534513 0.9401645
## Trt 3-Trt 1  0.0049090681 -0.004859207 0.014677344 0.4404727
## Trt 4-Trt 1  0.0015332043 -0.008235071 0.011301480 0.9593820
## Trt 3-Trt 2  0.0031428308 -0.006625445 0.012911106 0.7509622
## Trt 4-Trt 2 -0.0002330331 -0.010001309 0.009535243 0.9998401
## Trt 4-Trt 3 -0.0033758639 -0.013144139 0.006392412 0.7101681
## 
## $Bloque
##                           diff          lwr         upr     p adj
## Bloque 2-Bloque 1 -0.007314860 -0.017083136 0.002453416 0.1602067
## Bloque 3-Bloque 1 -0.008955654 -0.018723929 0.000812622 0.0738894
## Bloque 4-Bloque 1 -0.004140834 -0.013909109 0.005627442 0.5721002
## Bloque 3-Bloque 2 -0.001640794 -0.011409069 0.008127482 0.9510339
## Bloque 4-Bloque 2  0.003174026 -0.006594249 0.012942302 0.7455820
## Bloque 4-Bloque 3  0.004814820 -0.004953456 0.014583096 0.4557849
tc=TukeyC(TRC_m5.m6,'Tratamiento')
plot(tc)

#Muestreo 6 Altura
al_m6= aov(M6~Tratamiento+Bloque, data= df_altura)
a=anova(al_m6);a
## Analysis of Variance Table
## 
## Response: M6
##             Df  Sum Sq Mean Sq F value    Pr(>F)    
## Tratamiento  3  2031.3   677.1  1.8048    0.1614    
## Bloque       3 13377.2  4459.1 11.8853 9.773e-06 ***
## Residuals   41 15382.2   375.2                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
TukeyHSD(al_m6)
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = M6 ~ Tratamiento + Bloque, data = df_altura)
## 
## $Tratamiento
##                   diff       lwr       upr     p adj
## Trt 2-Trt 1   7.333333 -13.84004 28.506708 0.7903842
## Trt 3-Trt 1   3.500000 -17.67338 24.673375 0.9706691
## Trt 4-Trt 1 -10.166667 -31.34004 11.006708 0.5770879
## Trt 3-Trt 2  -3.833333 -25.00671 17.340042 0.9620531
## Trt 4-Trt 2 -17.500000 -38.67338  3.673375 0.1367000
## Trt 4-Trt 3 -13.666667 -34.84004  7.506708 0.3225172
## 
## $Bloque
##                        diff         lwr        upr     p adj
## Bloque 2-Bloque 1 -36.41667 -57.5900417 -15.243292 0.0002243
## Bloque 3-Bloque 1 -41.41667 -62.5900417 -20.243292 0.0000301
## Bloque 4-Bloque 1 -14.83333 -36.0067084   6.340042 0.2541303
## Bloque 3-Bloque 2  -5.00000 -26.1733750  16.173375 0.9210177
## Bloque 4-Bloque 2  21.58333   0.4099583  42.756708 0.0442637
## Bloque 4-Bloque 3  26.58333   5.4099583  47.756708 0.0088014
tc=TukeyC(al_m6,'Bloque')
plot(tc)

TRC_m6.m7= aov(M6.M7~Tratamiento+Bloque, data= df_TRC)
a=anova(TRC_m6.m7);a
## Analysis of Variance Table
## 
## Response: M6.M7
##             Df     Sum Sq    Mean Sq F value  Pr(>F)  
## Tratamiento  3 0.00052614 1.7538e-04  3.6095 0.05857 .
## Bloque       3 0.00014707 4.9022e-05  1.0089 0.43274  
## Residuals    9 0.00043729 4.8588e-05                  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
TukeyHSD(TRC_m6.m7) #No hay diferencias
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = M6.M7 ~ Tratamiento + Bloque, data = df_TRC)
## 
## $Tratamiento
##                     diff           lwr        upr     p adj
## Trt 2-Trt 1  0.009758550 -0.0056284021 0.02514550 0.2636776
## Trt 3-Trt 1  0.005903897 -0.0094830548 0.02129085 0.6431390
## Trt 4-Trt 1  0.015754542  0.0003675895 0.03114149 0.0446920
## Trt 3-Trt 2 -0.003854653 -0.0192416050 0.01153230 0.8607415
## Trt 4-Trt 2  0.005995992 -0.0093909607 0.02138294 0.6325261
## Trt 4-Trt 3  0.009850644 -0.0055363080 0.02523760 0.2571528
## 
## $Bloque
##                            diff         lwr         upr     p adj
## Bloque 2-Bloque 1 -0.0075747068 -0.02296166 0.007812245 0.4567825
## Bloque 3-Bloque 1 -0.0046144525 -0.02000140 0.010772500 0.7869070
## Bloque 4-Bloque 1 -0.0072509704 -0.02263792 0.008135982 0.4911296
## Bloque 3-Bloque 2  0.0029602543 -0.01242670 0.018347207 0.9293253
## Bloque 4-Bloque 2  0.0003237365 -0.01506322 0.015710689 0.9998902
## Bloque 4-Bloque 3 -0.0026365179 -0.01802347 0.012750434 0.9482950
tc=TukeyC(TRC_m6.m7,'Tratamiento')
plot(tc)

#Muestreo 7 Altura
al_m7= aov(M7~Tratamiento+Bloque, data= df_altura)
a=anova(al_m7);a
## Analysis of Variance Table
## 
## Response: M7
##             Df  Sum Sq Mean Sq F value    Pr(>F)    
## Tratamiento  3  1858.4   619.5  1.5863    0.2073    
## Bloque       3 15472.2  5157.4 13.2070 3.563e-06 ***
## Residuals   41 16010.7   390.5                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
TukeyHSD(al_m7)
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = M7 ~ Tratamiento + Bloque, data = df_altura)
## 
## $Tratamiento
##                   diff       lwr       upr     p adj
## Trt 2-Trt 1  10.500000 -11.10162 32.101620 0.5672503
## Trt 3-Trt 1   5.583333 -16.01829 27.184953 0.8995330
## Trt 4-Trt 1  -6.166667 -27.76829 15.434953 0.8699456
## Trt 3-Trt 2  -4.916667 -26.51829 16.684953 0.9285007
## Trt 4-Trt 2 -16.666667 -38.26829  4.934953 0.1814076
## Trt 4-Trt 3 -11.750000 -33.35162  9.851620 0.4725134
## 
## $Bloque
##                         diff         lwr        upr     p adj
## Bloque 2-Bloque 1 -40.250000 -61.8516201 -18.648380 0.0000667
## Bloque 3-Bloque 1 -44.583333 -66.1849534 -22.981713 0.0000118
## Bloque 4-Bloque 1 -17.916667 -39.5182868   3.684953 0.1346035
## Bloque 3-Bloque 2  -4.333333 -25.9349534  17.268287 0.9494485
## Bloque 4-Bloque 2  22.333333   0.7317132  43.934953 0.0403535
## Bloque 4-Bloque 3  26.666667   5.0650466  48.268287 0.0102517
tc=TukeyC(al_m7,'Bloque')
plot(tc)

datos_long <- pivot_longer(df_altura, cols = starts_with("M"), names_to = "Tiempo", values_to = "Altura"); datos_long

# Gráfico de línea para observar el comportamiento del tratamiento a lo largo de los 7 muestreos
#ggplot(datos_long, aes(x = Tiempo, y = Altura, color = Tratamiento)) +
#  geom_line() +
#  facet_wrap(~Bloque) +
#  labs(title = "Comportamiento de la Altura a lo largo del Tiempo",
#       x = "Tiempo",
#       y = "Altura",
#       color = "Tratamiento")

datos_promedio <- datos_long %>%
  group_by(Bloque, Tratamiento, Tiempo) %>%
  summarise(Altura_promedio = mean(Altura, na.rm = TRUE), .groups = 'drop')

# Crear un gráfico de líneas con los datos promedio
ggplot(datos_promedio, aes(x = Tiempo, y = Altura_promedio, color = Tratamiento)) +
  geom_line() +
  facet_wrap(~Bloque) +
  labs(title = "Comportamiento Promedio de la Altura a lo largo del Tiempo",
       x = "Tiempo",
       y = "Altura Promedio",
       color = "Tratamiento")
datos_long <- pivot_longer(df_altura, cols = starts_with("M"), names_to = "Tiempo", values_to = "Altura")

# Calcular el promedio por tiempo y tratamiento
datos_promedio <- datos_long %>%
  group_by(Tiempo, Tratamiento) %>%
  summarise(Altura_promedio = mean(Altura))

# Visualización del conjunto de datos
head(datos_promedio)

# Gráfico de línea con línea de tendencia para observar el comportamiento del tratamiento a lo largo de los 7 muestreos
ggplot(datos_long, aes(x = factor(Tiempo), y = Altura, color = Tratamiento)) +
  geom_line(alpha = 0.3) +
  geom_line(data = datos_promedio, aes(x = factor(Tiempo), y = Altura_promedio, color = Tratamiento), size = 1) +
  facet_grid(Bloque ~ ., scales = "free_y") +
  labs(title = "Comportamiento del Tratamiento a lo largo de los 7 muestreos", x = "Tiempo", y = "Altura") +
  theme_minimal()
#Grafico Altura

datos_promedio <- df_altura %>%
  group_by(Bloque, Tratamiento) %>%
  summarise(across(starts_with("M"), mean), .groups = "drop")

datos_long <- pivot_longer(datos_promedio, cols = starts_with("M"), names_to = "Tiempo", values_to = "Altura_promedio")

ggplot(datos_long, aes(x = factor(Tiempo), y = Altura_promedio, color = Tratamiento, group = Tratamiento)) +
  geom_line(size=1) +
  geom_point(size = 3, position = position_dodge(width = 0.2)) +
  facet_grid(Bloque ~ ., scales = "free_y") +
  labs(title = "Comportamiento de la Altura", x = "Muestreos", y = "Altura (cm)") +
  scale_color_manual(values = c("#1874CD", "#FF6A6A", "#F5C35C", "#418E4D"))+
  theme_minimal()
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

# Realizar ANOVA de medidas repetidas
modelo_anova <- aov(Altura_promedio ~ Tratamiento + Error(Bloque/Tratamiento), data = datos_long)
summary(modelo_anova)
## 
## Error: Bloque
##           Df Sum Sq Mean Sq F value Pr(>F)
## Residuals  3  14183    4728               
## 
## Error: Bloque:Tratamiento
##             Df Sum Sq Mean Sq F value Pr(>F)
## Tratamiento  3   3413  1137.8   1.356  0.317
## Residuals    9   7551   838.9               
## 
## Error: Within
##           Df Sum Sq Mean Sq F value Pr(>F)
## Residuals 96  35527   370.1
#p_adjusted <- p.adjust(summary_anova$'Pr(>F)'[, "Tratamiento"], method = "bonferroni")

#Grafico Spad

datos_promedio <- df_spad %>%
  group_by(Bloque, Tratamiento) %>%
  summarise(across(starts_with("M"), mean), .groups = "drop")

datos_long <- pivot_longer(datos_promedio, cols = starts_with("M"), names_to = "Tiempo", values_to = "Altura_promedio")

# Gráfico de línea para observar el comportamiento del tratamiento a lo largo de los 7 muestreos
ggplot(datos_long, aes(x = factor(Tiempo), y = Altura_promedio, color = Tratamiento, group = Tratamiento)) +
  geom_line(size=1) +
  geom_point(size = 3, position = position_dodge(width = 0.2)) +
  facet_grid(Bloque ~ ., scales = "free_y") +
  labs(title = "Comportamiento de la SPAD", x = "Muestreos", y = "SPAD") +
  scale_color_manual(values = c("#1874CD", "#FF6A6A", "#F5C35C", "#418E4D"))+
  theme_minimal()

#Grafico TRC
datos_promedio <- df_TRC%>%
  group_by(Bloque, Tratamiento) %>%
  summarise(across(starts_with("M"), mean), .groups = "drop")

# Reorganizar datos usando tidyr
datos_long <- pivot_longer(datos_promedio, cols = starts_with("M"), names_to = "Tiempo", values_to = "Altura_promedio")

# Gráfico de línea para observar el comportamiento del tratamiento a lo largo de los 7 muestreos
ggplot(datos_long, aes(x = factor(Tiempo), y = Altura_promedio, color = Tratamiento, group = Tratamiento)) +
  geom_line(size=1) +
  geom_point(size = 3, position = position_dodge(width = 0.2)) +
  facet_grid(Bloque ~ ., scales = "free_y") +
  labs(title = "Tasa relativa de crecimiento", x = "Muestreos", y = "TRC") +
  scale_color_manual(values = c("#1874CD", "#FF6A6A", "#F5C35C", "#418E4D"))+
  theme_minimal()

#Vainas, granos
df_vainas
##      Bloque Tratamiento Repeticion Dato
## 1  Bloque 1       Trt 1          1    8
## 2  Bloque 1       Trt 1          2    8
## 3  Bloque 1       Trt 1          3   17
## 4  Bloque 1       Trt 2          1   22
## 5  Bloque 1       Trt 2          2   23
## 6  Bloque 1       Trt 2          3   16
## 7  Bloque 1       Trt 3          1   11
## 8  Bloque 1       Trt 3          2   14
## 9  Bloque 1       Trt 3          3   14
## 10 Bloque 1       Trt 4          1   10
## 11 Bloque 1       Trt 4          2    5
## 12 Bloque 1       Trt 4          3   10
## 13 Bloque 2       Trt 1          1    6
## 14 Bloque 2       Trt 1          2    6
## 15 Bloque 2       Trt 1          3    7
## 16 Bloque 2       Trt 2          1    8
## 17 Bloque 2       Trt 2          2    5
## 18 Bloque 2       Trt 2          3    6
## 19 Bloque 2       Trt 3          1    9
## 20 Bloque 2       Trt 3          2   10
## 21 Bloque 2       Trt 3          3   10
## 22 Bloque 2       Trt 4          1    5
## 23 Bloque 2       Trt 4          2   18
## 24 Bloque 2       Trt 4          3   18
## 25 Bloque 3       Trt 1          1   10
## 26 Bloque 3       Trt 1          2   11
## 27 Bloque 3       Trt 1          3    5
## 28 Bloque 3       Trt 2          1   14
## 29 Bloque 3       Trt 2          2   12
## 30 Bloque 3       Trt 2          3    9
## 31 Bloque 3       Trt 3          1    6
## 32 Bloque 3       Trt 3          2    6
## 33 Bloque 3       Trt 3          3   12
## 34 Bloque 3       Trt 4          1    5
## 35 Bloque 3       Trt 4          2    6
## 36 Bloque 3       Trt 4          3    7
## 37 Bloque 4       Trt 1          1   21
## 38 Bloque 4       Trt 1          2   18
## 39 Bloque 4       Trt 1          3   21
## 40 Bloque 4       Trt 2          1   10
## 41 Bloque 4       Trt 2          2   13
## 42 Bloque 4       Trt 2          3   20
## 43 Bloque 4       Trt 3          1    4
## 44 Bloque 4       Trt 3          2   15
## 45 Bloque 4       Trt 3          3    4
## 46 Bloque 4       Trt 4          1   16
## 47 Bloque 4       Trt 4          2   14
## 48 Bloque 4       Trt 4          3   13
df_granos
##      Bloque Tratamiento N.Granos N.granos.vaina
## 1  Bloque 1       Trt 1       43           7.17
## 2  Bloque 1       Trt 2       40           6.67
## 3  Bloque 1       Trt 3       46           6.57
## 4  Bloque 1       Trt 4       44           6.29
## 5  Bloque 2       Trt 1       35           5.83
## 6  Bloque 2       Trt 2       35           5.00
## 7  Bloque 2       Trt 3       26           5.20
## 8  Bloque 2       Trt 4       48           6.86
## 9  Bloque 3       Trt 1       42           7.00
## 10 Bloque 3       Trt 2       39           6.50
## 11 Bloque 3       Trt 3       48           4.80
## 12 Bloque 3       Trt 4       39           5.57
## 13 Bloque 4       Trt 1       58           5.80
## 14 Bloque 4       Trt 2       27           5.40
## 15 Bloque 4       Trt 3       37           7.40
## 16 Bloque 4       Trt 4       55           5.50
df_100g
##    Tratamiento Peso.de.100.granos..g.
## 1        Trt 1               50.20787
## 2        Trt 2               75.86525
## 3        Trt 3               53.51592
## 4        Trt 4               73.77957
## 5        Trt 1               50.20787
## 6        Trt 2               75.86525
## 7        Trt 3               53.51592
## 8        Trt 4               73.77957
## 9        Trt 1               50.20787
## 10       Trt 2               75.86525
## 11       Trt 3               53.51592
## 12       Trt 4               73.77957
## 13       Trt 1               50.20787
## 14       Trt 2               75.86525
## 15       Trt 3               53.51592
## 16       Trt 4               73.77957
#Numero Vainas

N_v= aov(Dato~Tratamiento+Bloque, df_vainas)
anova(N_v)
## Analysis of Variance Table
## 
## Response: Dato
##             Df Sum Sq Mean Sq F value  Pr(>F)  
## Tratamiento  3  83.42  27.806  1.1752 0.33093  
## Bloque       3 286.42  95.472  4.0351 0.01327 *
## Residuals   41 970.08  23.661                  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
TukeyHSD(N_v)
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = Dato ~ Tratamiento + Bloque, data = df_vainas)
## 
## $Tratamiento
##                   diff       lwr      upr     p adj
## Trt 2-Trt 1  1.6666667 -3.650568 6.983902 0.8354293
## Trt 3-Trt 1 -1.9166667 -7.233902 3.400568 0.7697838
## Trt 4-Trt 1 -0.9166667 -6.233902 4.400568 0.9669530
## Trt 3-Trt 2 -3.5833333 -8.900568 1.733902 0.2859348
## Trt 4-Trt 2 -2.5833333 -7.900568 2.733902 0.5676381
## Trt 4-Trt 3  1.0000000 -4.317235 6.317235 0.9577724
## 
## $Bloque
##                         diff        lwr        upr     p adj
## Bloque 2-Bloque 1 -4.1666667 -9.4839017  1.1505683 0.1707516
## Bloque 3-Bloque 1 -4.5833333 -9.9005683  0.7339017 0.1127985
## Bloque 4-Bloque 1  0.9166667 -4.4005683  6.2339017 0.9669530
## Bloque 3-Bloque 2 -0.4166667 -5.7339017  4.9005683 0.9966810
## Bloque 4-Bloque 2  5.0833333 -0.2339017 10.4005683 0.0655024
## Bloque 4-Bloque 3  5.5000000  0.1827650 10.8172350 0.0402246
tc=TukeyC(N_v,'Bloque')
plot(tc)

datos <- df_vainas %>%
  mutate(across(c(Bloque, Tratamiento, Repeticion), as.factor)); datos
##      Bloque Tratamiento Repeticion Dato
## 1  Bloque 1       Trt 1          1    8
## 2  Bloque 1       Trt 1          2    8
## 3  Bloque 1       Trt 1          3   17
## 4  Bloque 1       Trt 2          1   22
## 5  Bloque 1       Trt 2          2   23
## 6  Bloque 1       Trt 2          3   16
## 7  Bloque 1       Trt 3          1   11
## 8  Bloque 1       Trt 3          2   14
## 9  Bloque 1       Trt 3          3   14
## 10 Bloque 1       Trt 4          1   10
## 11 Bloque 1       Trt 4          2    5
## 12 Bloque 1       Trt 4          3   10
## 13 Bloque 2       Trt 1          1    6
## 14 Bloque 2       Trt 1          2    6
## 15 Bloque 2       Trt 1          3    7
## 16 Bloque 2       Trt 2          1    8
## 17 Bloque 2       Trt 2          2    5
## 18 Bloque 2       Trt 2          3    6
## 19 Bloque 2       Trt 3          1    9
## 20 Bloque 2       Trt 3          2   10
## 21 Bloque 2       Trt 3          3   10
## 22 Bloque 2       Trt 4          1    5
## 23 Bloque 2       Trt 4          2   18
## 24 Bloque 2       Trt 4          3   18
## 25 Bloque 3       Trt 1          1   10
## 26 Bloque 3       Trt 1          2   11
## 27 Bloque 3       Trt 1          3    5
## 28 Bloque 3       Trt 2          1   14
## 29 Bloque 3       Trt 2          2   12
## 30 Bloque 3       Trt 2          3    9
## 31 Bloque 3       Trt 3          1    6
## 32 Bloque 3       Trt 3          2    6
## 33 Bloque 3       Trt 3          3   12
## 34 Bloque 3       Trt 4          1    5
## 35 Bloque 3       Trt 4          2    6
## 36 Bloque 3       Trt 4          3    7
## 37 Bloque 4       Trt 1          1   21
## 38 Bloque 4       Trt 1          2   18
## 39 Bloque 4       Trt 1          3   21
## 40 Bloque 4       Trt 2          1   10
## 41 Bloque 4       Trt 2          2   13
## 42 Bloque 4       Trt 2          3   20
## 43 Bloque 4       Trt 3          1    4
## 44 Bloque 4       Trt 3          2   15
## 45 Bloque 4       Trt 3          3    4
## 46 Bloque 4       Trt 4          1   16
## 47 Bloque 4       Trt 4          2   14
## 48 Bloque 4       Trt 4          3   13
datos_resumen= datos |> 
  group_by(Tratamiento, Bloque, Repeticion) |> 
  summarise(media= mean(Dato), 
            desviacion=sd(Dato), n=n()) |> 
  mutate(error=1.96*desviacion/sqrt(n))
## `summarise()` has grouped output by 'Tratamiento', 'Bloque'. You can override
## using the `.groups` argument.
ggplot(datos_resumen)+
  aes(x=Tratamiento, y=media, fill=Tratamiento)+
  geom_col(strat= 'identity', position = 'dodge', color = 'black')+
  geom_errorbar(aes(ymin = media - error, ymax = media + error),
                width = 0.2, position = position_dodge(0.9))+ 
  facet_grid(~Bloque)+
  labs(x = "Tratamientos", y = "Número de vainas") + 
  #theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust = 1, size = 7))+
  scale_fill_manual(values = c("#1874CD", "#FF6A6A", "#F5C35C", "#418E4D"))+
  scale_x_discrete(labels = labels)+ 
  theme_bw()
## Warning in geom_col(strat = "identity", position = "dodge", color = "black"):
## Ignoring unknown parameters: `strat`

# Numero de granos
N_g= aov(N.Granos~Tratamiento+Bloque, df_granos)
anova(N_g)
## Analysis of Variance Table
## 
## Response: N.Granos
##             Df Sum Sq Mean Sq F value Pr(>F)
## Tratamiento  3 312.25 104.083  1.4166 0.3006
## Bloque       3 164.25  54.750  0.7452 0.5518
## Residuals    9 661.25  73.472
TukeyHSD(N_g)
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = N.Granos ~ Tratamiento + Bloque, data = df_granos)
## 
## $Tratamiento
##              diff        lwr       upr     p adj
## Trt 2-Trt 1 -9.25 -28.171323  9.671323 0.4622739
## Trt 3-Trt 1 -5.25 -24.171323 13.671323 0.8219091
## Trt 4-Trt 1  2.00 -16.921323 20.921323 0.9867842
## Trt 3-Trt 2  4.00 -14.921323 22.921323 0.9094119
## Trt 4-Trt 2 11.25  -7.671323 30.171323 0.3102383
## Trt 4-Trt 3  7.25 -11.671323 26.171323 0.6440776
## 
## $Bloque
##                    diff       lwr      upr     p adj
## Bloque 2-Bloque 1 -7.25 -26.17132 11.67132 0.6440776
## Bloque 3-Bloque 1 -1.25 -20.17132 17.67132 0.9966664
## Bloque 4-Bloque 1  1.00 -17.92132 19.92132 0.9982802
## Bloque 3-Bloque 2  6.00 -12.92132 24.92132 0.7587202
## Bloque 4-Bloque 2  8.25 -10.67132 27.17132 0.5509982
## Bloque 4-Bloque 3  2.25 -16.67132 21.17132 0.9814463
tc=TukeyC(N_g,'Bloque')
plot(tc)

datos_resumen= df_granos |> 
  group_by(Tratamiento, Bloque) |> 
  summarise(media= mean(N.Granos), 
            desviacion=sd(N.Granos), n=n()) |> 
  mutate(error=1.96*desviacion/sqrt(n))
## `summarise()` has grouped output by 'Tratamiento'. You can override using the
## `.groups` argument.
ggplot(datos_resumen)+
  aes(x=Tratamiento, y=media, fill=Tratamiento)+
  geom_col(strat= 'identity', position = 'dodge', color = 'black')+
  geom_errorbar(aes(ymin = media - error, ymax = media + error),
                width = 0.2, position = position_dodge(0.9))+ 
  facet_grid(~Bloque)+
  labs(x = "Tratamientos", y = "Número de granos") + 
  #theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust = 1, size = 7))+
  scale_fill_manual(values = c("#1874CD", "#FF6A6A", "#F5C35C", "#418E4D"))+
  scale_x_discrete(labels = labels)+ 
  theme_bw()
## Warning in geom_col(strat = "identity", position = "dodge", color = "black"):
## Ignoring unknown parameters: `strat`

# Numero de granos*vaina

N_gv= aov(N.granos.vaina~Tratamiento+Bloque, df_granos)
anova(N_gv)
## Analysis of Variance Table
## 
## Response: N.granos.vaina
##             Df Sum Sq Mean Sq F value Pr(>F)
## Tratamiento  3 0.7165 0.23882  0.2958 0.8276
## Bloque       3 1.9852 0.66172  0.8196 0.5151
## Residuals    9 7.2665 0.80739
TukeyHSD(N_gv)
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = N.granos.vaina ~ Tratamiento + Bloque, data = df_granos)
## 
## $Tratamiento
##                diff       lwr      upr     p adj
## Trt 2-Trt 1 -0.5575 -2.540996 1.425996 0.8164340
## Trt 3-Trt 1 -0.4575 -2.440996 1.525996 0.8866910
## Trt 4-Trt 1 -0.3950 -2.378496 1.588496 0.9225461
## Trt 3-Trt 2  0.1000 -1.883496 2.083496 0.9985052
## Trt 4-Trt 2  0.1625 -1.820996 2.145996 0.9937137
## Trt 4-Trt 3  0.0625 -1.920996 2.045996 0.9996323
## 
## $Bloque
##                      diff       lwr      upr     p adj
## Bloque 2-Bloque 1 -0.9525 -2.935996 1.030996 0.4763375
## Bloque 3-Bloque 1 -0.7075 -2.690996 1.275996 0.6908050
## Bloque 4-Bloque 1 -0.6500 -2.633496 1.333496 0.7408893
## Bloque 3-Bloque 2  0.2450 -1.738496 2.228496 0.9793154
## Bloque 4-Bloque 2  0.3025 -1.680996 2.285996 0.9624999
## Bloque 4-Bloque 3  0.0575 -1.925996 2.040996 0.9997135
tc=TukeyC(N_gv,'Bloque')
plot(tc)

datos_resumen= df_granos |> 
  group_by(Tratamiento, Bloque) |> 
  summarise(media= mean(N.granos.vaina), 
            desviacion=sd(N.granos.vaina), n=n()) |> 
  mutate(error=1.96*desviacion/sqrt(n))
## `summarise()` has grouped output by 'Tratamiento'. You can override using the
## `.groups` argument.
ggplot(datos_resumen)+
  aes(x=Tratamiento, y=media, fill=Tratamiento)+
  geom_col(strat= 'identity', position = 'dodge', color = 'black')+
  geom_errorbar(aes(ymin = media - error, ymax = media + error),
                width = 0.2, position = position_dodge(0.9))+ 
  facet_grid(~Bloque)+
  labs(x = "Tratamientos", y = "Número de granos por vaina") + 
  #theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust = 1, size = 7))+
  scale_fill_manual(values = c("#1874CD", "#FF6A6A", "#F5C35C", "#418E4D"))+
  scale_x_discrete(labels = labels)+ 
  theme_bw()
## Warning in geom_col(strat = "identity", position = "dodge", color = "black"):
## Ignoring unknown parameters: `strat`

#Peso de 100 granos

P100_g= aov(Peso.de.100.granos..g.~Tratamiento, df_100g)
anova(P100_g)
## Warning in anova.lm(P100_g): ANOVA F-tests on an essentially perfect fit are
## unreliable
## Analysis of Variance Table
## 
## Response: Peso.de.100.granos..g.
##             Df Sum Sq Mean Sq    F value    Pr(>F)    
## Tratamiento  3 2139.3  713.11 1.1666e+31 < 2.2e-16 ***
## Residuals   12    0.0    0.00                         
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
TukeyHSD(P100_g)
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = Peso.de.100.granos..g. ~ Tratamiento, data = df_100g)
## 
## $Tratamiento
##                   diff        lwr        upr p adj
## Trt 2-Trt 1  25.657383  25.657383  25.657383     0
## Trt 3-Trt 1   3.308058   3.308058   3.308058     0
## Trt 4-Trt 1  23.571705  23.571705  23.571705     0
## Trt 3-Trt 2 -22.349325 -22.349325 -22.349325     0
## Trt 4-Trt 2  -2.085678  -2.085678  -2.085678     0
## Trt 4-Trt 3  20.263646  20.263646  20.263646     0
tc=TukeyC(P100_g,'Tratamiento')
plot(tc)

df_100g|> group_by(Tratamiento) |> 
  ggplot()+
  aes(x=Tratamiento, y=Peso.de.100.granos..g., fill=Tratamiento)+
  labs(x = "Tratamientos", y = "Peso de 100 granos (g)") +
  geom_col(strat= 'identity', position = 'dodge', color = 'black')+
  #geom_text(aes(label= c("c", "b", "d", "a"), y=c(90, 110, 75, 140)))
  scale_fill_manual(values = c("#1874CD", "#FF6A6A", "#F5C35C", "#418E4D")) +
  theme_bw()
## Warning in geom_col(strat = "identity", position = "dodge", color = "black"):
## Ignoring unknown parameters: `strat`

#Vainas
library(dplyr)
library(TukeyC)
df_vainas_b1 <- df_vainas %>%
  filter(Bloque == "Bloque 1"); df_vainas_b1
##      Bloque Tratamiento Repeticion Dato
## 1  Bloque 1       Trt 1          1    8
## 2  Bloque 1       Trt 1          2    8
## 3  Bloque 1       Trt 1          3   17
## 4  Bloque 1       Trt 2          1   22
## 5  Bloque 1       Trt 2          2   23
## 6  Bloque 1       Trt 2          3   16
## 7  Bloque 1       Trt 3          1   11
## 8  Bloque 1       Trt 3          2   14
## 9  Bloque 1       Trt 3          3   14
## 10 Bloque 1       Trt 4          1   10
## 11 Bloque 1       Trt 4          2    5
## 12 Bloque 1       Trt 4          3   10
df_vainas_b2 <- df_vainas %>%
  filter(Bloque == "Bloque 2"); df_vainas_b2
##      Bloque Tratamiento Repeticion Dato
## 1  Bloque 2       Trt 1          1    6
## 2  Bloque 2       Trt 1          2    6
## 3  Bloque 2       Trt 1          3    7
## 4  Bloque 2       Trt 2          1    8
## 5  Bloque 2       Trt 2          2    5
## 6  Bloque 2       Trt 2          3    6
## 7  Bloque 2       Trt 3          1    9
## 8  Bloque 2       Trt 3          2   10
## 9  Bloque 2       Trt 3          3   10
## 10 Bloque 2       Trt 4          1    5
## 11 Bloque 2       Trt 4          2   18
## 12 Bloque 2       Trt 4          3   18
df_vainas_b3 <- df_vainas %>%
  filter(Bloque == "Bloque 3"); df_vainas_b3
##      Bloque Tratamiento Repeticion Dato
## 1  Bloque 3       Trt 1          1   10
## 2  Bloque 3       Trt 1          2   11
## 3  Bloque 3       Trt 1          3    5
## 4  Bloque 3       Trt 2          1   14
## 5  Bloque 3       Trt 2          2   12
## 6  Bloque 3       Trt 2          3    9
## 7  Bloque 3       Trt 3          1    6
## 8  Bloque 3       Trt 3          2    6
## 9  Bloque 3       Trt 3          3   12
## 10 Bloque 3       Trt 4          1    5
## 11 Bloque 3       Trt 4          2    6
## 12 Bloque 3       Trt 4          3    7
df_vainas_b4 <- df_vainas %>%
  filter(Bloque == "Bloque 4"); df_vainas_b4
##      Bloque Tratamiento Repeticion Dato
## 1  Bloque 4       Trt 1          1   21
## 2  Bloque 4       Trt 1          2   18
## 3  Bloque 4       Trt 1          3   21
## 4  Bloque 4       Trt 2          1   10
## 5  Bloque 4       Trt 2          2   13
## 6  Bloque 4       Trt 2          3   20
## 7  Bloque 4       Trt 3          1    4
## 8  Bloque 4       Trt 3          2   15
## 9  Bloque 4       Trt 3          3    4
## 10 Bloque 4       Trt 4          1   16
## 11 Bloque 4       Trt 4          2   14
## 12 Bloque 4       Trt 4          3   13
b1= aov(Dato~Tratamiento, df_vainas_b1)
anova(b1)
## Analysis of Variance Table
## 
## Response: Dato
##             Df Sum Sq Mean Sq F value  Pr(>F)  
## Tratamiento  3 238.33  79.444  6.0338 0.01886 *
## Residuals    8 105.33  13.167                  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
TukeyHSD(b1)
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = Dato ~ Tratamiento, data = df_vainas_b1)
## 
## $Tratamiento
##                   diff         lwr       upr     p adj
## Trt 2-Trt 1   9.333333  -0.1543757 18.821042 0.0538063
## Trt 3-Trt 1   2.000000  -7.4877091 11.487709 0.9036585
## Trt 4-Trt 1  -2.666667 -12.1543757  6.821042 0.8053524
## Trt 3-Trt 2  -7.333333 -16.8210424  2.154376 0.1391328
## Trt 4-Trt 2 -12.000000 -21.4877091 -2.512291 0.0155692
## Trt 4-Trt 3  -4.666667 -14.1543757  4.821042 0.4421159
tc=TukeyC(b1,'Tratamiento')
plot(tc)

b2= aov(Dato~Tratamiento, df_vainas_b2)
anova(b2)
## Analysis of Variance Table
## 
## Response: Dato
##             Df Sum Sq Mean Sq F value Pr(>F)
## Tratamiento  3 109.33  36.444  2.4569 0.1376
## Residuals    8 118.67  14.833
TukeyHSD(b2)
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = Dato ~ Tratamiento, data = df_vainas_b2)
## 
## $Tratamiento
##                      diff        lwr      upr     p adj
## Trt 2-Trt 1 -1.776357e-15 -10.070309 10.07031 1.0000000
## Trt 3-Trt 1  3.333333e+00  -6.736976 13.40364 0.7214542
## Trt 4-Trt 1  7.333333e+00  -2.736976 17.40364 0.1695209
## Trt 3-Trt 2  3.333333e+00  -6.736976 13.40364 0.7214542
## Trt 4-Trt 2  7.333333e+00  -2.736976 17.40364 0.1695209
## Trt 4-Trt 3  4.000000e+00  -6.070309 14.07031 0.6033268
tc=TukeyC(b2,'Tratamiento')
plot(tc)

b3= aov(Dato~Tratamiento, df_vainas_b3)
anova(b3)
## Analysis of Variance Table
## 
## Response: Dato
##             Df Sum Sq Mean Sq F value Pr(>F)
## Tratamiento  3 49.583 16.5278  2.2285 0.1623
## Residuals    8 59.333  7.4167
TukeyHSD(b3)
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = Dato ~ Tratamiento, data = df_vainas_b3)
## 
## $Tratamiento
##                   diff        lwr       upr     p adj
## Trt 2-Trt 1  3.0000000  -4.120784 10.120784 0.5605792
## Trt 3-Trt 1 -0.6666667  -7.787451  6.454117 0.9899181
## Trt 4-Trt 1 -2.6666667  -9.787451  4.454117 0.6440559
## Trt 3-Trt 2 -3.6666667 -10.787451  3.454117 0.4065433
## Trt 4-Trt 2 -5.6666667 -12.787451  1.454117 0.1256448
## Trt 4-Trt 3 -2.0000000  -9.120784  5.120784 0.8056661
tc=TukeyC(b3,'Tratamiento')
plot(tc)

b4= aov(Dato~Tratamiento, df_vainas_b4)
anova(b4)
## Analysis of Variance Table
## 
## Response: Dato
##             Df Sum Sq Mean Sq F value  Pr(>F)  
## Tratamiento  3 228.92  76.306  4.2392 0.04544 *
## Residuals    8 144.00  18.000                  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
TukeyHSD(b4)
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = Dato ~ Tratamiento, data = df_vainas_b4)
## 
## $Tratamiento
##                      diff        lwr       upr     p adj
## Trt 2-Trt 1 -5.666667e+00 -16.759939  5.426606 0.4127426
## Trt 3-Trt 1 -1.233333e+01 -23.426606 -1.240061 0.0303279
## Trt 4-Trt 1 -5.666667e+00 -16.759939  5.426606 0.4127426
## Trt 3-Trt 2 -6.666667e+00 -17.759939  4.426606 0.2908674
## Trt 4-Trt 2 -1.776357e-15 -11.093273 11.093273 1.0000000
## Trt 4-Trt 3  6.666667e+00  -4.426606 17.759939 0.2908674
tc=TukeyC(b4,'Tratamiento')
plot(tc)

df_vainas_b1 <- df_granos %>%
  filter(Bloque == "Bloque 1"); df_vainas_b1
##     Bloque Tratamiento N.Granos N.granos.vaina
## 1 Bloque 1       Trt 1       43           7.17
## 2 Bloque 1       Trt 2       40           6.67
## 3 Bloque 1       Trt 3       46           6.57
## 4 Bloque 1       Trt 4       44           6.29
df_vainas_b2 <- df_granos %>%
  filter(Bloque == "Bloque 2"); df_vainas_b2
##     Bloque Tratamiento N.Granos N.granos.vaina
## 1 Bloque 2       Trt 1       35           5.83
## 2 Bloque 2       Trt 2       35           5.00
## 3 Bloque 2       Trt 3       26           5.20
## 4 Bloque 2       Trt 4       48           6.86
df_vainas_b3 <- df_granos %>%
  filter(Bloque == "Bloque 3"); df_vainas_b3
##     Bloque Tratamiento N.Granos N.granos.vaina
## 1 Bloque 3       Trt 1       42           7.00
## 2 Bloque 3       Trt 2       39           6.50
## 3 Bloque 3       Trt 3       48           4.80
## 4 Bloque 3       Trt 4       39           5.57
df_vainas_b4 <- df_granos %>%
  filter(Bloque == "Bloque 4"); df_vainas_b4
##     Bloque Tratamiento N.Granos N.granos.vaina
## 1 Bloque 4       Trt 1       58            5.8
## 2 Bloque 4       Trt 2       27            5.4
## 3 Bloque 4       Trt 3       37            7.4
## 4 Bloque 4       Trt 4       55            5.5
b1= aov(N.granos.vaina~Tratamiento, df_vainas_b1)
anova(b1)
## Warning in anova.lm(b1): ANOVA F-tests on an essentially perfect fit are
## unreliable
## Analysis of Variance Table
## 
## Response: N.granos.vaina
##             Df Sum Sq Mean Sq F value Pr(>F)
## Tratamiento  3 0.4043 0.13477     NaN    NaN
## Residuals    0 0.0000     NaN
TukeyHSD(b1)
## Warning in qtukey(conf.level, length(means), x$df.residual): NaNs produced
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = N.granos.vaina ~ Tratamiento, data = df_vainas_b1)
## 
## $Tratamiento
##              diff lwr upr p adj
## Trt 2-Trt 1 -0.50 NaN NaN   NaN
## Trt 3-Trt 1 -0.60 NaN NaN   NaN
## Trt 4-Trt 1 -0.88 NaN NaN   NaN
## Trt 3-Trt 2 -0.10 NaN NaN   NaN
## Trt 4-Trt 2 -0.38 NaN NaN   NaN
## Trt 4-Trt 3 -0.28 NaN NaN   NaN
tc=TukeyC(b1,'Tratamiento')
## Warning in qtukey(p = sig.level, nmeans = dim(obj)[1], df = dfr, lower.tail =
## FALSE): NaNs produced
plot(tc)

b2= aov(N.granos.vaina~Tratamiento, df_vainas_b2)
anova(b2)
## Warning in anova.lm(b2): ANOVA F-tests on an essentially perfect fit are
## unreliable
## Analysis of Variance Table
## 
## Response: N.granos.vaina
##             Df Sum Sq Mean Sq F value Pr(>F)
## Tratamiento  3 2.1005 0.70016     NaN    NaN
## Residuals    0 0.0000     NaN
TukeyHSD(b2)
## Warning in qtukey(conf.level, length(means), x$df.residual): NaNs produced
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = N.granos.vaina ~ Tratamiento, data = df_vainas_b2)
## 
## $Tratamiento
##              diff lwr upr p adj
## Trt 2-Trt 1 -0.83 NaN NaN   NaN
## Trt 3-Trt 1 -0.63 NaN NaN   NaN
## Trt 4-Trt 1  1.03 NaN NaN   NaN
## Trt 3-Trt 2  0.20 NaN NaN   NaN
## Trt 4-Trt 2  1.86 NaN NaN   NaN
## Trt 4-Trt 3  1.66 NaN NaN   NaN
tc=TukeyC(b2,'Tratamiento')
## Warning in qtukey(p = sig.level, nmeans = dim(obj)[1], df = dfr, lower.tail =
## FALSE): NaNs produced
plot(tc)

b3= aov(N.granos.vaina~Tratamiento, df_vainas_b3)
anova(b3)
## Warning in anova.lm(b3): ANOVA F-tests on an essentially perfect fit are
## unreliable
## Analysis of Variance Table
## 
## Response: N.granos.vaina
##             Df Sum Sq Mean Sq F value Pr(>F)
## Tratamiento  3 2.8707 0.95689     NaN    NaN
## Residuals    0 0.0000     NaN
TukeyHSD(b3)
## Warning in qtukey(conf.level, length(means), x$df.residual): NaNs produced
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = N.granos.vaina ~ Tratamiento, data = df_vainas_b3)
## 
## $Tratamiento
##              diff lwr upr p adj
## Trt 2-Trt 1 -0.50 NaN NaN   NaN
## Trt 3-Trt 1 -2.20 NaN NaN   NaN
## Trt 4-Trt 1 -1.43 NaN NaN   NaN
## Trt 3-Trt 2 -1.70 NaN NaN   NaN
## Trt 4-Trt 2 -0.93 NaN NaN   NaN
## Trt 4-Trt 3  0.77 NaN NaN   NaN
tc=TukeyC(b3,'Tratamiento')
## Warning in qtukey(p = sig.level, nmeans = dim(obj)[1], df = dfr, lower.tail =
## FALSE): NaNs produced
plot(tc)

b4= aov(N.granos.vaina~Tratamiento, df_vainas_b4)
anova(b4)
## Warning in anova.lm(b4): ANOVA F-tests on an essentially perfect fit are
## unreliable
## Analysis of Variance Table
## 
## Response: N.granos.vaina
##             Df Sum Sq Mean Sq F value Pr(>F)
## Tratamiento  3 2.6075 0.86917     NaN    NaN
## Residuals    0 0.0000     NaN
TukeyHSD(b4)
## Warning in qtukey(conf.level, length(means), x$df.residual): NaNs produced
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = N.granos.vaina ~ Tratamiento, data = df_vainas_b4)
## 
## $Tratamiento
##             diff lwr upr p adj
## Trt 2-Trt 1 -0.4 NaN NaN   NaN
## Trt 3-Trt 1  1.6 NaN NaN   NaN
## Trt 4-Trt 1 -0.3 NaN NaN   NaN
## Trt 3-Trt 2  2.0 NaN NaN   NaN
## Trt 4-Trt 2  0.1 NaN NaN   NaN
## Trt 4-Trt 3 -1.9 NaN NaN   NaN
tc=TukeyC(b4,'Tratamiento')
## Warning in qtukey(p = sig.level, nmeans = dim(obj)[1], df = dfr, lower.tail =
## FALSE): NaNs produced
plot(tc)

datos_promedio <- df_TRC %>%
  group_by(Tratamiento) %>%
  summarise(across(starts_with("M"), mean), .groups = "drop")

# Reorganizar datos usando tidyr
datos_long <- pivot_longer(datos_promedio, cols = starts_with("M"), names_to = "Tiempo", values_to = "Altura_promedio")

# Gráfico de línea para observar el comportamiento del tratamiento a lo largo de los 7 muestreos
ggplot(datos_long, aes(x = factor(Tiempo), y = Altura_promedio, color = Tratamiento, group = Tratamiento)) +
  geom_line(size=1) +
  geom_point(size = 3) +
  labs(title = "Comportamiento de la Tasa relativa de crecimiento por tratamiento", x = "Muestreos", y = "TRC") +
  scale_color_manual(values = c("#1874CD", "#FF6A6A", "#F5C35C", "#418E4D")) +
  theme_minimal()

datos_promedio <- df_altura %>%
  group_by(Tratamiento) %>%
  summarise(across(starts_with("M"), mean), .groups = "drop")

# Reorganizar datos usando tidyr
datos_long <- pivot_longer(datos_promedio, cols = starts_with("M"), names_to = "Tiempo", values_to = "Altura_promedio")

# Gráfico de línea para observar el comportamiento del tratamiento a lo largo de los 7 muestreos
ggplot(datos_long, aes(x = factor(Tiempo), y = Altura_promedio, color = Tratamiento, group = Tratamiento)) +
  geom_line(size=1) +
  geom_point(size = 3) +
  labs(title = "Comportamiento de la altura de las plantas evaluadas por tratamiento", x = "Muestreos", y = "Altura (cm)") +
  scale_color_manual(values = c("#1874CD", "#FF6A6A", "#F5C35C", "#418E4D")) +
  theme_minimal()

datos_promedio <- df_spad %>%
  group_by(Tratamiento) %>%
  summarise(across(starts_with("M"), mean), .groups = "drop")

# Reorganizar datos usando tidyr
datos_long <- pivot_longer(datos_promedio, cols = starts_with("M"), names_to = "Tiempo", values_to = "Altura_promedio")

# Gráfico de línea para observar el comportamiento del tratamiento a lo largo de los 7 muestreos
ggplot(datos_long, aes(x = factor(Tiempo), y = Altura_promedio, color = Tratamiento, group = Tratamiento)) +
  geom_line(size=1) +
  geom_point(size = 3) +
  labs(title = "Comportamiento del contenido de clorofilas por tratamiento", x = "Muestreos", y = "SPAD") +
  scale_color_manual(values = c("#1874CD", "#FF6A6A", "#F5C35C", "#418E4D")) +
  theme_minimal()