setwd("/Volumes/GoogleDrive/Mi unidad/Agrosavia/Colaboraciones/Fabricio/Yesid/growth")
datos<-read.table("ult.csv", header=T, sep=',')
datos$gen<-as.factor(datos$gen)
datos$Shade<-as.factor(datos$Shade)
datos$bloque<-as.factor(datos$bloque)
attach(datos)
library(ggplot2)
library(emmeans)
#General anova
aov.diam<-aov(Kg.ha.carbon.shoot~gen*Shade+bloque)
aov.diam1<-aov(Kg.ha.carbon.total~gen*Shade+bloque)
aov.diam2<-aov(Mg.ha.carbon.shoot~gen*Shade+bloque)
aov.diam3<-aov(Mg.ha.carbon.total~gen*Shade+bloque)
summary(aov.diam)
## Df Sum Sq Mean Sq F value Pr(>F)
## gen 2 3468070 1734035 6.861 0.00141 **
## Shade 2 331480 165740 0.656 0.52051
## bloque 2 6813726 3406863 13.480 4.13e-06 ***
## gen:Shade 4 3516261 879065 3.478 0.00951 **
## Residuals 150 37909987 252733
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(aov.diam1)
## Df Sum Sq Mean Sq F value Pr(>F)
## gen 2 5659362 2829681 6.843 0.00143 **
## Shade 2 510002 255001 0.617 0.54112
## bloque 2 11343577 5671789 13.715 3.39e-06 ***
## gen:Shade 4 5773839 1443460 3.491 0.00932 **
## Residuals 150 62030093 413534
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(aov.diam2)
## Df Sum Sq Mean Sq F value Pr(>F)
## gen 2 3.47 1.734 6.861 0.00141 **
## Shade 2 0.33 0.166 0.656 0.52051
## bloque 2 6.81 3.407 13.480 4.13e-06 ***
## gen:Shade 4 3.52 0.879 3.478 0.00951 **
## Residuals 150 37.91 0.253
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(aov.diam3)
## Df Sum Sq Mean Sq F value Pr(>F)
## gen 2 5.66 2.830 6.843 0.00143 **
## Shade 2 0.51 0.255 0.617 0.54112
## bloque 2 11.34 5.672 13.715 3.39e-06 ***
## gen:Shade 4 5.77 1.443 3.491 0.00932 **
## Residuals 150 62.03 0.414
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# Anova with covariable
aov.diam.c<-aov(Kg.ha.carbon.shoot~gen*Shade+bloque+Kg.shoot)
aov.diam1.c<-aov(Kg.ha.carbon.total~gen*Shade+bloque+Kg.total)
aov.diam2.c<-aov(Mg.ha.carbon.shoot~gen*Shade+bloque+Mg.shoot)
aov.diam3.c<-aov(Mg.ha.carbon.total~gen*Shade+bloque+Mg.total)
summary(aov.diam.c)
## Df Sum Sq Mean Sq F value Pr(>F)
## gen 2 3468070 1734035 6.861 0.00141 **
## Shade 2 331480 165740 0.656 0.52051
## bloque 2 6813726 3406863 13.480 4.13e-06 ***
## Kg.shoot 1 359692 359692 1.423 0.23476
## gen:Shade 3 3156570 1052190 4.163 0.00726 **
## Residuals 150 37909987 252733
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(aov.diam1.c)
## Df Sum Sq Mean Sq F value Pr(>F)
## gen 2 5659362 2829681 6.843 0.00143 **
## Shade 2 510002 255001 0.617 0.54112
## bloque 2 11343577 5671789 13.715 3.39e-06 ***
## Kg.total 1 612347 612347 1.481 0.22557
## gen:Shade 3 5161492 1720497 4.160 0.00729 **
## Residuals 150 62030093 413534
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(aov.diam2.c)
## Df Sum Sq Mean Sq F value Pr(>F)
## gen 2 3.47 1.734 6.861 0.00141 **
## Shade 2 0.33 0.166 0.656 0.52051
## bloque 2 6.81 3.407 13.480 4.13e-06 ***
## Mg.shoot 1 0.36 0.360 1.423 0.23476
## gen:Shade 3 3.16 1.052 4.163 0.00726 **
## Residuals 150 37.91 0.253
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(aov.diam3.c)
## Df Sum Sq Mean Sq F value Pr(>F)
## gen 2 5.66 2.830 6.843 0.00143 **
## Shade 2 0.51 0.255 0.617 0.54112
## bloque 2 11.34 5.672 13.715 3.39e-06 ***
## Mg.total 1 0.61 0.612 1.481 0.22557
## gen:Shade 3 5.16 1.720 4.160 0.00729 **
## Residuals 150 62.03 0.414
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#Kg.ha.carbon.shoot
#Gen
contrast <- emmeans(aov.diam, ~gen)
## NOTE: Results may be misleading due to involvement in interactions
plot(contrast, comparisons = TRUE, xlab ="Estimated marginal mean (Kg C ha-1)", ylab = "Genotype")

medias.gen <- emmeans(aov.diam, pairwise ~ gen)
## NOTE: Results may be misleading due to involvement in interactions
medias.gen
## $emmeans
## gen emmean SE df lower.CL upper.CL
## CCN51 894 68.4 150 759 1029
## TCS01 1043 68.4 150 908 1178
## TCS19 687 69.1 150 550 823
##
## Results are averaged over the levels of: Shade, bloque
## Confidence level used: 0.95
##
## $contrasts
## contrast estimate SE df t.ratio p.value
## CCN51 - TCS01 -149 96.7 150 -1.536 0.2772
## CCN51 - TCS19 207 97.2 150 2.132 0.0869
## TCS01 - TCS19 356 97.2 150 3.660 0.0010
##
## Results are averaged over the levels of: Shade, bloque
## P value adjustment: tukey method for comparing a family of 3 estimates
cld_gen <-multcomp::cld(contrast, alpha = 0.05, Letters = LETTERS, reversed=T)
cld_gen
## gen emmean SE df lower.CL upper.CL .group
## TCS01 1043 68.4 150 908 1178 A
## CCN51 894 68.4 150 759 1029 AB
## TCS19 687 69.1 150 550 823 B
##
## Results are averaged over the levels of: Shade, bloque
## Confidence level used: 0.95
## P value adjustment: tukey method for comparing a family of 3 estimates
## significance level used: alpha = 0.05
## NOTE: Compact letter displays can be misleading
## because they show NON-findings rather than findings.
## Consider using 'pairs()', 'pwpp()', or 'pwpm()' instead.
#Shade
contrast <- emmeans(aov.diam, ~Shade)
## NOTE: Results may be misleading due to involvement in interactions
plot(contrast, comparisons = TRUE, xlab = expression ("Estimated marginal mean, Kg C ha"^"-1"),
ylab = expression ("Shade tree"))

medias.gen <- emmeans(aov.diam, pairwise ~ Shade)
## NOTE: Results may be misleading due to involvement in interactions
medias.gen
## $emmeans
## Shade emmean SE df lower.CL upper.CL
## C. pyriformis 937 68.4 150 802 1072
## T. rosea 837 69.1 150 701 974
## T. superba 849 68.4 150 714 984
##
## Results are averaged over the levels of: gen, bloque
## Confidence level used: 0.95
##
## $contrasts
## contrast estimate SE df t.ratio p.value
## C. pyriformis - T. rosea 99.5 97.2 150 1.023 0.5632
## C. pyriformis - T. superba 87.6 96.7 150 0.905 0.6377
## T. rosea - T. superba -11.9 97.2 150 -0.123 0.9918
##
## Results are averaged over the levels of: gen, bloque
## P value adjustment: tukey method for comparing a family of 3 estimates
cld_gen <-multcomp::cld(contrast, alpha = 0.05, Letters = LETTERS, reversed=T)
cld_gen
## Shade emmean SE df lower.CL upper.CL .group
## C. pyriformis 937 68.4 150 802 1072 A
## T. superba 849 68.4 150 714 984 A
## T. rosea 837 69.1 150 701 974 A
##
## Results are averaged over the levels of: gen, bloque
## Confidence level used: 0.95
## P value adjustment: tukey method for comparing a family of 3 estimates
## significance level used: alpha = 0.05
## NOTE: Compact letter displays can be misleading
## because they show NON-findings rather than findings.
## Consider using 'pairs()', 'pwpp()', or 'pwpm()' instead.
#Shade*Gen
contrast <- emmeans(aov.diam, ~gen|Shade)
plot(contrast, comparisons = TRUE, xlab = expression ("Estimated marginal mean, Kg C ha"^"-1"),
ylab = expression ("Genotype"))

medias.Shade.gen <- emmeans(aov.diam, pairwise ~ gen*Shade)
medias.Shade.gen
## $emmeans
## gen Shade emmean SE df lower.CL upper.CL
## CCN51 C. pyriformis 789 118 150 555 1023
## TCS01 C. pyriformis 1305 118 150 1070 1539
## TCS19 C. pyriformis 717 118 150 483 951
## CCN51 T. rosea 1050 118 150 816 1284
## TCS01 T. rosea 732 118 150 498 966
## TCS19 T. rosea 730 122 150 489 971
## CCN51 T. superba 844 118 150 609 1078
## TCS01 T. superba 1091 118 150 857 1326
## TCS19 T. superba 613 118 150 379 847
##
## Results are averaged over the levels of: bloque
## Confidence level used: 0.95
##
## $contrasts
## contrast estimate SE df t.ratio p.value
## CCN51 C. pyriformis - TCS01 C. pyriformis -515.51 168 150 -3.076 0.0610
## CCN51 C. pyriformis - TCS19 C. pyriformis 71.77 168 150 0.428 1.0000
## CCN51 C. pyriformis - CCN51 T. rosea -260.80 168 150 -1.556 0.8265
## CCN51 C. pyriformis - TCS01 T. rosea 56.83 168 150 0.339 1.0000
## CCN51 C. pyriformis - TCS19 T. rosea 58.75 170 150 0.346 1.0000
## CCN51 C. pyriformis - CCN51 T. superba -54.51 168 150 -0.325 1.0000
## CCN51 C. pyriformis - TCS01 T. superba -302.37 168 150 -1.804 0.6793
## CCN51 C. pyriformis - TCS19 T. superba 175.93 168 150 1.050 0.9801
## TCS01 C. pyriformis - TCS19 C. pyriformis 587.28 168 150 3.505 0.0171
## TCS01 C. pyriformis - CCN51 T. rosea 254.71 168 150 1.520 0.8445
## TCS01 C. pyriformis - TCS01 T. rosea 572.34 168 150 3.415 0.0226
## TCS01 C. pyriformis - TCS19 T. rosea 574.26 170 150 3.377 0.0254
## TCS01 C. pyriformis - CCN51 T. superba 460.99 168 150 2.751 0.1394
## TCS01 C. pyriformis - TCS01 T. superba 213.14 168 150 1.272 0.9379
## TCS01 C. pyriformis - TCS19 T. superba 691.44 168 150 4.126 0.0019
## TCS19 C. pyriformis - CCN51 T. rosea -332.57 168 150 -1.985 0.5565
## TCS19 C. pyriformis - TCS01 T. rosea -14.93 168 150 -0.089 1.0000
## TCS19 C. pyriformis - TCS19 T. rosea -13.01 170 150 -0.077 1.0000
## TCS19 C. pyriformis - CCN51 T. superba -126.28 168 150 -0.754 0.9978
## TCS19 C. pyriformis - TCS01 T. superba -374.13 168 150 -2.233 0.3903
## TCS19 C. pyriformis - TCS19 T. superba 104.17 168 150 0.622 0.9995
## CCN51 T. rosea - TCS01 T. rosea 317.63 168 150 1.895 0.6179
## CCN51 T. rosea - TCS19 T. rosea 319.56 170 150 1.879 0.6291
## CCN51 T. rosea - CCN51 T. superba 206.29 168 150 1.231 0.9484
## CCN51 T. rosea - TCS01 T. superba -41.57 168 150 -0.248 1.0000
## CCN51 T. rosea - TCS19 T. superba 436.73 168 150 2.606 0.1929
## TCS01 T. rosea - TCS19 T. rosea 1.92 170 150 0.011 1.0000
## TCS01 T. rosea - CCN51 T. superba -111.35 168 150 -0.664 0.9991
## TCS01 T. rosea - TCS01 T. superba -359.20 168 150 -2.144 0.4481
## TCS01 T. rosea - TCS19 T. superba 119.10 168 150 0.711 0.9986
## TCS19 T. rosea - CCN51 T. superba -113.27 170 150 -0.666 0.9991
## TCS19 T. rosea - TCS01 T. superba -361.12 170 150 -2.124 0.4614
## TCS19 T. rosea - TCS19 T. superba 117.18 170 150 0.689 0.9989
## CCN51 T. superba - TCS01 T. superba -247.85 168 150 -1.479 0.8636
## CCN51 T. superba - TCS19 T. superba 230.45 168 150 1.375 0.9054
## TCS01 T. superba - TCS19 T. superba 478.30 168 150 2.854 0.1087
##
## Results are averaged over the levels of: bloque
## P value adjustment: tukey method for comparing a family of 9 estimates
cld_Shade_gen <-multcomp::cld(contrast, alpha = 0.05, Letters = LETTERS, reversed=T)
cld_Shade_gen
## Shade = C. pyriformis:
## gen emmean SE df lower.CL upper.CL .group
## TCS01 1305 118 150 1070 1539 A
## CCN51 789 118 150 555 1023 B
## TCS19 717 118 150 483 951 B
##
## Shade = T. rosea:
## gen emmean SE df lower.CL upper.CL .group
## CCN51 1050 118 150 816 1284 A
## TCS01 732 118 150 498 966 A
## TCS19 730 122 150 489 971 A
##
## Shade = T. superba:
## gen emmean SE df lower.CL upper.CL .group
## TCS01 1091 118 150 857 1326 A
## CCN51 844 118 150 609 1078 AB
## TCS19 613 118 150 379 847 B
##
## Results are averaged over the levels of: bloque
## Confidence level used: 0.95
## P value adjustment: tukey method for comparing a family of 3 estimates
## significance level used: alpha = 0.05
## NOTE: Compact letter displays can be misleading
## because they show NON-findings rather than findings.
## Consider using 'pairs()', 'pwpp()', or 'pwpm()' instead.
#Kg.ha.carbon.total
#Gen
contrast <- emmeans(aov.diam1, ~gen)
## NOTE: Results may be misleading due to involvement in interactions
plot(contrast, comparisons = TRUE, xlab ="Estimated marginal mean (Kg C ha-1)", ylab = "Genotype")

medias.gen <- emmeans(aov.diam1, pairwise ~ gen)
## NOTE: Results may be misleading due to involvement in interactions
medias.gen
## $emmeans
## gen emmean SE df lower.CL upper.CL
## CCN51 1170 87.5 150 997 1343
## TCS01 1362 87.5 150 1189 1535
## TCS19 907 88.4 150 732 1082
##
## Results are averaged over the levels of: Shade, bloque
## Confidence level used: 0.95
##
## $contrasts
## contrast estimate SE df t.ratio p.value
## CCN51 - TCS01 -192 124 150 -1.552 0.2700
## CCN51 - TCS19 263 124 150 2.113 0.0907
## TCS01 - TCS19 455 124 150 3.657 0.0010
##
## Results are averaged over the levels of: Shade, bloque
## P value adjustment: tukey method for comparing a family of 3 estimates
cld_gen <-multcomp::cld(contrast, alpha = 0.05, Letters = LETTERS, reversed=T)
cld_gen
## gen emmean SE df lower.CL upper.CL .group
## TCS01 1362 87.5 150 1189 1535 A
## CCN51 1170 87.5 150 997 1343 AB
## TCS19 907 88.4 150 732 1082 B
##
## Results are averaged over the levels of: Shade, bloque
## Confidence level used: 0.95
## P value adjustment: tukey method for comparing a family of 3 estimates
## significance level used: alpha = 0.05
## NOTE: Compact letter displays can be misleading
## because they show NON-findings rather than findings.
## Consider using 'pairs()', 'pwpp()', or 'pwpm()' instead.
#Shade
contrast <- emmeans(aov.diam1, ~Shade)
## NOTE: Results may be misleading due to involvement in interactions
plot(contrast, comparisons = TRUE, xlab = expression ("Estimated marginal mean, Kg C ha"^"-1"),
ylab = expression ("Shade tree"))

medias.gen <- emmeans(aov.diam1, pairwise ~ Shade)
## NOTE: Results may be misleading due to involvement in interactions
medias.gen
## $emmeans
## Shade emmean SE df lower.CL upper.CL
## C. pyriformis 1223 87.5 150 1050 1396
## T. rosea 1099 88.4 150 925 1274
## T. superba 1116 87.5 150 943 1288
##
## Results are averaged over the levels of: gen, bloque
## Confidence level used: 0.95
##
## $contrasts
## contrast estimate SE df t.ratio p.value
## C. pyriformis - T. rosea 123.9 124 150 0.996 0.5805
## C. pyriformis - T. superba 107.7 124 150 0.870 0.6597
## T. rosea - T. superba -16.2 124 150 -0.130 0.9907
##
## Results are averaged over the levels of: gen, bloque
## P value adjustment: tukey method for comparing a family of 3 estimates
cld_gen <-multcomp::cld(contrast, alpha = 0.05, Letters = LETTERS, reversed=T)
cld_gen
## Shade emmean SE df lower.CL upper.CL .group
## C. pyriformis 1223 87.5 150 1050 1396 A
## T. superba 1116 87.5 150 943 1288 A
## T. rosea 1099 88.4 150 925 1274 A
##
## Results are averaged over the levels of: gen, bloque
## Confidence level used: 0.95
## P value adjustment: tukey method for comparing a family of 3 estimates
## significance level used: alpha = 0.05
## NOTE: Compact letter displays can be misleading
## because they show NON-findings rather than findings.
## Consider using 'pairs()', 'pwpp()', or 'pwpm()' instead.
#Shade*Gen
contrast <- emmeans(aov.diam1, ~gen|Shade)
plot(contrast, comparisons = TRUE, xlab = expression ("Estimated marginal mean, Kg C ha"^"-1"),
ylab = expression ("Genotype"))

medias.Shade.gen <- emmeans(aov.diam1, pairwise ~ gen*Shade)
medias.Shade.gen
## $emmeans
## gen Shade emmean SE df lower.CL upper.CL
## CCN51 C. pyriformis 1031 152 150 731 1330
## TCS01 C. pyriformis 1693 152 150 1394 1993
## TCS19 C. pyriformis 946 152 150 646 1245
## CCN51 T. rosea 1371 152 150 1071 1670
## TCS01 T. rosea 965 152 150 666 1265
## TCS19 T. rosea 962 156 150 654 1270
## CCN51 T. superba 1108 152 150 808 1407
## TCS01 T. superba 1426 152 150 1127 1726
## TCS19 T. superba 813 152 150 513 1112
##
## Results are averaged over the levels of: bloque
## Confidence level used: 0.95
##
## $contrasts
## contrast estimate SE df t.ratio p.value
## CCN51 C. pyriformis - TCS01 C. pyriformis -662.89 214 150 -3.092 0.0583
## CCN51 C. pyriformis - TCS19 C. pyriformis 84.75 214 150 0.395 1.0000
## CCN51 C. pyriformis - CCN51 T. rosea -340.28 214 150 -1.587 0.8102
## CCN51 C. pyriformis - TCS01 T. rosea 65.38 214 150 0.305 1.0000
## CCN51 C. pyriformis - TCS19 T. rosea 68.41 218 150 0.314 1.0000
## CCN51 C. pyriformis - CCN51 T. superba -76.98 214 150 -0.359 1.0000
## CCN51 C. pyriformis - TCS01 T. superba -395.81 214 150 -1.847 0.6512
## CCN51 C. pyriformis - TCS19 T. superba 217.85 214 150 1.016 0.9838
## TCS01 C. pyriformis - TCS19 C. pyriformis 747.63 214 150 3.488 0.0180
## TCS01 C. pyriformis - CCN51 T. rosea 322.60 214 150 1.505 0.8517
## TCS01 C. pyriformis - TCS01 T. rosea 728.27 214 150 3.397 0.0239
## TCS01 C. pyriformis - TCS19 T. rosea 731.30 218 150 3.362 0.0266
## TCS01 C. pyriformis - CCN51 T. superba 585.90 214 150 2.733 0.1452
## TCS01 C. pyriformis - TCS01 T. superba 267.07 214 150 1.246 0.9447
## TCS01 C. pyriformis - TCS19 T. superba 880.73 214 150 4.109 0.0021
## TCS19 C. pyriformis - CCN51 T. rosea -425.03 214 150 -1.983 0.5577
## TCS19 C. pyriformis - TCS01 T. rosea -19.37 214 150 -0.090 1.0000
## TCS19 C. pyriformis - TCS19 T. rosea -16.34 218 150 -0.075 1.0000
## TCS19 C. pyriformis - CCN51 T. superba -161.73 214 150 -0.754 0.9978
## TCS19 C. pyriformis - TCS01 T. superba -480.56 214 150 -2.242 0.3845
## TCS19 C. pyriformis - TCS19 T. superba 133.10 214 150 0.621 0.9995
## CCN51 T. rosea - TCS01 T. rosea 405.66 214 150 1.892 0.6200
## CCN51 T. rosea - TCS19 T. rosea 408.69 218 150 1.879 0.6293
## CCN51 T. rosea - CCN51 T. superba 263.30 214 150 1.228 0.9490
## CCN51 T. rosea - TCS01 T. superba -55.53 214 150 -0.259 1.0000
## CCN51 T. rosea - TCS19 T. superba 558.13 214 150 2.604 0.1939
## TCS01 T. rosea - TCS19 T. rosea 3.03 218 150 0.014 1.0000
## TCS01 T. rosea - CCN51 T. superba -142.36 214 150 -0.664 0.9991
## TCS01 T. rosea - TCS01 T. superba -461.19 214 150 -2.152 0.4428
## TCS01 T. rosea - TCS19 T. superba 152.47 214 150 0.711 0.9986
## TCS19 T. rosea - CCN51 T. superba -145.40 218 150 -0.668 0.9991
## TCS19 T. rosea - TCS01 T. superba -464.22 218 150 -2.134 0.4544
## TCS19 T. rosea - TCS19 T. superba 149.44 218 150 0.687 0.9989
## CCN51 T. superba - TCS01 T. superba -318.83 214 150 -1.487 0.8598
## CCN51 T. superba - TCS19 T. superba 294.83 214 150 1.375 0.9053
## TCS01 T. superba - TCS19 T. superba 613.66 214 150 2.863 0.1064
##
## Results are averaged over the levels of: bloque
## P value adjustment: tukey method for comparing a family of 9 estimates
cld_Shade_gen <-multcomp::cld(contrast, alpha = 0.05, Letters = LETTERS, reversed=T)
cld_Shade_gen
## Shade = C. pyriformis:
## gen emmean SE df lower.CL upper.CL .group
## TCS01 1693 152 150 1394 1993 A
## CCN51 1031 152 150 731 1330 B
## TCS19 946 152 150 646 1245 B
##
## Shade = T. rosea:
## gen emmean SE df lower.CL upper.CL .group
## CCN51 1371 152 150 1071 1670 A
## TCS01 965 152 150 666 1265 A
## TCS19 962 156 150 654 1270 A
##
## Shade = T. superba:
## gen emmean SE df lower.CL upper.CL .group
## TCS01 1426 152 150 1127 1726 A
## CCN51 1108 152 150 808 1407 AB
## TCS19 813 152 150 513 1112 B
##
## Results are averaged over the levels of: bloque
## Confidence level used: 0.95
## P value adjustment: tukey method for comparing a family of 3 estimates
## significance level used: alpha = 0.05
## NOTE: Compact letter displays can be misleading
## because they show NON-findings rather than findings.
## Consider using 'pairs()', 'pwpp()', or 'pwpm()' instead.
#Mg.ha.carbon.shoot
#Gen
contrast <- emmeans(aov.diam2, ~gen)
## NOTE: Results may be misleading due to involvement in interactions
plot(contrast, comparisons = TRUE, xlab ="Estimated marginal mean (Mg C ha-1)", ylab = "Genotype")

medias.gen <- emmeans(aov.diam2, pairwise ~ gen)
## NOTE: Results may be misleading due to involvement in interactions
medias.gen
## $emmeans
## gen emmean SE df lower.CL upper.CL
## CCN51 0.894 0.0684 150 0.759 1.029
## TCS01 1.043 0.0684 150 0.908 1.178
## TCS19 0.687 0.0691 150 0.550 0.823
##
## Results are averaged over the levels of: Shade, bloque
## Confidence level used: 0.95
##
## $contrasts
## contrast estimate SE df t.ratio p.value
## CCN51 - TCS01 -0.149 0.0967 150 -1.536 0.2772
## CCN51 - TCS19 0.207 0.0972 150 2.132 0.0869
## TCS01 - TCS19 0.356 0.0972 150 3.660 0.0010
##
## Results are averaged over the levels of: Shade, bloque
## P value adjustment: tukey method for comparing a family of 3 estimates
cld_gen <-multcomp::cld(contrast, alpha = 0.05, Letters = LETTERS, reversed=T)
cld_gen
## gen emmean SE df lower.CL upper.CL .group
## TCS01 1.043 0.0684 150 0.908 1.178 A
## CCN51 0.894 0.0684 150 0.759 1.029 AB
## TCS19 0.687 0.0691 150 0.550 0.823 B
##
## Results are averaged over the levels of: Shade, bloque
## Confidence level used: 0.95
## P value adjustment: tukey method for comparing a family of 3 estimates
## significance level used: alpha = 0.05
## NOTE: Compact letter displays can be misleading
## because they show NON-findings rather than findings.
## Consider using 'pairs()', 'pwpp()', or 'pwpm()' instead.
#Shade
contrast <- emmeans(aov.diam2, ~Shade)
## NOTE: Results may be misleading due to involvement in interactions
plot(contrast, comparisons = TRUE, xlab = expression ("Estimated marginal mean, Mg C ha"^"-1"),
ylab = expression ("Shade tree"))

medias.gen <- emmeans(aov.diam2, pairwise ~ Shade)
## NOTE: Results may be misleading due to involvement in interactions
medias.gen
## $emmeans
## Shade emmean SE df lower.CL upper.CL
## C. pyriformis 0.937 0.0684 150 0.802 1.072
## T. rosea 0.837 0.0691 150 0.701 0.974
## T. superba 0.849 0.0684 150 0.714 0.984
##
## Results are averaged over the levels of: gen, bloque
## Confidence level used: 0.95
##
## $contrasts
## contrast estimate SE df t.ratio p.value
## C. pyriformis - T. rosea 0.0995 0.0972 150 1.023 0.5632
## C. pyriformis - T. superba 0.0876 0.0967 150 0.905 0.6377
## T. rosea - T. superba -0.0119 0.0972 150 -0.123 0.9918
##
## Results are averaged over the levels of: gen, bloque
## P value adjustment: tukey method for comparing a family of 3 estimates
cld_gen <-multcomp::cld(contrast, alpha = 0.05, Letters = LETTERS, reversed=T)
cld_gen
## Shade emmean SE df lower.CL upper.CL .group
## C. pyriformis 0.937 0.0684 150 0.802 1.072 A
## T. superba 0.849 0.0684 150 0.714 0.984 A
## T. rosea 0.837 0.0691 150 0.701 0.974 A
##
## Results are averaged over the levels of: gen, bloque
## Confidence level used: 0.95
## P value adjustment: tukey method for comparing a family of 3 estimates
## significance level used: alpha = 0.05
## NOTE: Compact letter displays can be misleading
## because they show NON-findings rather than findings.
## Consider using 'pairs()', 'pwpp()', or 'pwpm()' instead.
#Shade*Gen
contrast <- emmeans(aov.diam2, ~gen|Shade)
plot(contrast, comparisons = TRUE, xlab = expression ("Estimated marginal mean, Mg C ha"^"-1"),
ylab = expression ("Genotype"))

medias.Shade.gen <- emmeans(aov.diam2, pairwise ~ gen*Shade)
medias.Shade.gen
## $emmeans
## gen Shade emmean SE df lower.CL upper.CL
## CCN51 C. pyriformis 0.789 0.118 150 0.555 1.023
## TCS01 C. pyriformis 1.305 0.118 150 1.070 1.539
## TCS19 C. pyriformis 0.717 0.118 150 0.483 0.951
## CCN51 T. rosea 1.050 0.118 150 0.816 1.284
## TCS01 T. rosea 0.732 0.118 150 0.498 0.966
## TCS19 T. rosea 0.730 0.122 150 0.489 0.971
## CCN51 T. superba 0.844 0.118 150 0.609 1.078
## TCS01 T. superba 1.091 0.118 150 0.857 1.326
## TCS19 T. superba 0.613 0.118 150 0.379 0.847
##
## Results are averaged over the levels of: bloque
## Confidence level used: 0.95
##
## $contrasts
## contrast estimate SE df t.ratio p.value
## CCN51 C. pyriformis - TCS01 C. pyriformis -0.51551 0.168 150 -3.076 0.0610
## CCN51 C. pyriformis - TCS19 C. pyriformis 0.07177 0.168 150 0.428 1.0000
## CCN51 C. pyriformis - CCN51 T. rosea -0.26080 0.168 150 -1.556 0.8265
## CCN51 C. pyriformis - TCS01 T. rosea 0.05683 0.168 150 0.339 1.0000
## CCN51 C. pyriformis - TCS19 T. rosea 0.05875 0.170 150 0.346 1.0000
## CCN51 C. pyriformis - CCN51 T. superba -0.05451 0.168 150 -0.325 1.0000
## CCN51 C. pyriformis - TCS01 T. superba -0.30237 0.168 150 -1.804 0.6793
## CCN51 C. pyriformis - TCS19 T. superba 0.17593 0.168 150 1.050 0.9801
## TCS01 C. pyriformis - TCS19 C. pyriformis 0.58728 0.168 150 3.505 0.0171
## TCS01 C. pyriformis - CCN51 T. rosea 0.25471 0.168 150 1.520 0.8445
## TCS01 C. pyriformis - TCS01 T. rosea 0.57234 0.168 150 3.415 0.0226
## TCS01 C. pyriformis - TCS19 T. rosea 0.57426 0.170 150 3.377 0.0254
## TCS01 C. pyriformis - CCN51 T. superba 0.46099 0.168 150 2.751 0.1394
## TCS01 C. pyriformis - TCS01 T. superba 0.21314 0.168 150 1.272 0.9379
## TCS01 C. pyriformis - TCS19 T. superba 0.69144 0.168 150 4.126 0.0019
## TCS19 C. pyriformis - CCN51 T. rosea -0.33257 0.168 150 -1.985 0.5565
## TCS19 C. pyriformis - TCS01 T. rosea -0.01493 0.168 150 -0.089 1.0000
## TCS19 C. pyriformis - TCS19 T. rosea -0.01301 0.170 150 -0.077 1.0000
## TCS19 C. pyriformis - CCN51 T. superba -0.12628 0.168 150 -0.754 0.9978
## TCS19 C. pyriformis - TCS01 T. superba -0.37413 0.168 150 -2.233 0.3903
## TCS19 C. pyriformis - TCS19 T. superba 0.10417 0.168 150 0.622 0.9995
## CCN51 T. rosea - TCS01 T. rosea 0.31763 0.168 150 1.895 0.6179
## CCN51 T. rosea - TCS19 T. rosea 0.31956 0.170 150 1.879 0.6291
## CCN51 T. rosea - CCN51 T. superba 0.20629 0.168 150 1.231 0.9484
## CCN51 T. rosea - TCS01 T. superba -0.04157 0.168 150 -0.248 1.0000
## CCN51 T. rosea - TCS19 T. superba 0.43673 0.168 150 2.606 0.1929
## TCS01 T. rosea - TCS19 T. rosea 0.00192 0.170 150 0.011 1.0000
## TCS01 T. rosea - CCN51 T. superba -0.11135 0.168 150 -0.664 0.9991
## TCS01 T. rosea - TCS01 T. superba -0.35920 0.168 150 -2.144 0.4481
## TCS01 T. rosea - TCS19 T. superba 0.11910 0.168 150 0.711 0.9986
## TCS19 T. rosea - CCN51 T. superba -0.11327 0.170 150 -0.666 0.9991
## TCS19 T. rosea - TCS01 T. superba -0.36112 0.170 150 -2.124 0.4614
## TCS19 T. rosea - TCS19 T. superba 0.11718 0.170 150 0.689 0.9989
## CCN51 T. superba - TCS01 T. superba -0.24785 0.168 150 -1.479 0.8636
## CCN51 T. superba - TCS19 T. superba 0.23045 0.168 150 1.375 0.9054
## TCS01 T. superba - TCS19 T. superba 0.47830 0.168 150 2.854 0.1087
##
## Results are averaged over the levels of: bloque
## P value adjustment: tukey method for comparing a family of 9 estimates
cld_Shade_gen <-multcomp::cld(contrast, alpha = 0.05, Letters = LETTERS, reversed=T)
cld_Shade_gen
## Shade = C. pyriformis:
## gen emmean SE df lower.CL upper.CL .group
## TCS01 1.305 0.118 150 1.070 1.539 A
## CCN51 0.789 0.118 150 0.555 1.023 B
## TCS19 0.717 0.118 150 0.483 0.951 B
##
## Shade = T. rosea:
## gen emmean SE df lower.CL upper.CL .group
## CCN51 1.050 0.118 150 0.816 1.284 A
## TCS01 0.732 0.118 150 0.498 0.966 A
## TCS19 0.730 0.122 150 0.489 0.971 A
##
## Shade = T. superba:
## gen emmean SE df lower.CL upper.CL .group
## TCS01 1.091 0.118 150 0.857 1.326 A
## CCN51 0.844 0.118 150 0.609 1.078 AB
## TCS19 0.613 0.118 150 0.379 0.847 B
##
## Results are averaged over the levels of: bloque
## Confidence level used: 0.95
## P value adjustment: tukey method for comparing a family of 3 estimates
## significance level used: alpha = 0.05
## NOTE: Compact letter displays can be misleading
## because they show NON-findings rather than findings.
## Consider using 'pairs()', 'pwpp()', or 'pwpm()' instead.
#Mg.ha.carbon.total
#Gen
contrast <- emmeans(aov.diam3, ~gen)
## NOTE: Results may be misleading due to involvement in interactions
plot(contrast, comparisons = TRUE, xlab ="Estimated marginal mean (Mg C ha-1)", ylab = "Genotype")

medias.gen <- emmeans(aov.diam3, pairwise ~ gen)
## NOTE: Results may be misleading due to involvement in interactions
medias.gen
## $emmeans
## gen emmean SE df lower.CL upper.CL
## CCN51 1.170 0.0875 150 0.997 1.34
## TCS01 1.362 0.0875 150 1.189 1.53
## TCS19 0.907 0.0884 150 0.732 1.08
##
## Results are averaged over the levels of: Shade, bloque
## Confidence level used: 0.95
##
## $contrasts
## contrast estimate SE df t.ratio p.value
## CCN51 - TCS01 -0.192 0.124 150 -1.552 0.2700
## CCN51 - TCS19 0.263 0.124 150 2.113 0.0907
## TCS01 - TCS19 0.455 0.124 150 3.657 0.0010
##
## Results are averaged over the levels of: Shade, bloque
## P value adjustment: tukey method for comparing a family of 3 estimates
cld_gen <-multcomp::cld(contrast, alpha = 0.05, Letters = LETTERS, reversed=T)
cld_gen
## gen emmean SE df lower.CL upper.CL .group
## TCS01 1.362 0.0875 150 1.189 1.53 A
## CCN51 1.170 0.0875 150 0.997 1.34 AB
## TCS19 0.907 0.0884 150 0.732 1.08 B
##
## Results are averaged over the levels of: Shade, bloque
## Confidence level used: 0.95
## P value adjustment: tukey method for comparing a family of 3 estimates
## significance level used: alpha = 0.05
## NOTE: Compact letter displays can be misleading
## because they show NON-findings rather than findings.
## Consider using 'pairs()', 'pwpp()', or 'pwpm()' instead.
#Shade
contrast <- emmeans(aov.diam3, ~Shade)
## NOTE: Results may be misleading due to involvement in interactions
plot(contrast, comparisons = TRUE, xlab = expression ("Estimated marginal mean, Mg C ha"^"-1"),
ylab = expression ("Shade tree"))

medias.gen <- emmeans(aov.diam3, pairwise ~ Shade)
## NOTE: Results may be misleading due to involvement in interactions
medias.gen
## $emmeans
## Shade emmean SE df lower.CL upper.CL
## C. pyriformis 1.22 0.0875 150 1.050 1.40
## T. rosea 1.10 0.0884 150 0.925 1.27
## T. superba 1.12 0.0875 150 0.943 1.29
##
## Results are averaged over the levels of: gen, bloque
## Confidence level used: 0.95
##
## $contrasts
## contrast estimate SE df t.ratio p.value
## C. pyriformis - T. rosea 0.1239 0.124 150 0.996 0.5805
## C. pyriformis - T. superba 0.1077 0.124 150 0.870 0.6597
## T. rosea - T. superba -0.0162 0.124 150 -0.130 0.9907
##
## Results are averaged over the levels of: gen, bloque
## P value adjustment: tukey method for comparing a family of 3 estimates
cld_gen <-multcomp::cld(contrast, alpha = 0.05, Letters = LETTERS, reversed=T)
cld_gen
## Shade emmean SE df lower.CL upper.CL .group
## C. pyriformis 1.22 0.0875 150 1.050 1.40 A
## T. superba 1.12 0.0875 150 0.943 1.29 A
## T. rosea 1.10 0.0884 150 0.925 1.27 A
##
## Results are averaged over the levels of: gen, bloque
## Confidence level used: 0.95
## P value adjustment: tukey method for comparing a family of 3 estimates
## significance level used: alpha = 0.05
## NOTE: Compact letter displays can be misleading
## because they show NON-findings rather than findings.
## Consider using 'pairs()', 'pwpp()', or 'pwpm()' instead.
#Shade*Gen
contrast <- emmeans(aov.diam3, ~gen|Shade)
MgC<-plot(contrast, comparisons = TRUE, xlab = expression ("Estimated marginal mean, Mg C ha"^"-1"),
ylab = expression ("Genotype"))
MgC

medias.Shade.gen <- emmeans(aov.diam3, pairwise ~ gen*Shade)
medias.Shade.gen
## $emmeans
## gen Shade emmean SE df lower.CL upper.CL
## CCN51 C. pyriformis 1.031 0.152 150 0.731 1.33
## TCS01 C. pyriformis 1.693 0.152 150 1.394 1.99
## TCS19 C. pyriformis 0.946 0.152 150 0.646 1.25
## CCN51 T. rosea 1.371 0.152 150 1.071 1.67
## TCS01 T. rosea 0.965 0.152 150 0.666 1.26
## TCS19 T. rosea 0.962 0.156 150 0.654 1.27
## CCN51 T. superba 1.108 0.152 150 0.808 1.41
## TCS01 T. superba 1.426 0.152 150 1.127 1.73
## TCS19 T. superba 0.813 0.152 150 0.513 1.11
##
## Results are averaged over the levels of: bloque
## Confidence level used: 0.95
##
## $contrasts
## contrast estimate SE df t.ratio p.value
## CCN51 C. pyriformis - TCS01 C. pyriformis -0.66289 0.214 150 -3.092 0.0583
## CCN51 C. pyriformis - TCS19 C. pyriformis 0.08475 0.214 150 0.395 1.0000
## CCN51 C. pyriformis - CCN51 T. rosea -0.34028 0.214 150 -1.587 0.8102
## CCN51 C. pyriformis - TCS01 T. rosea 0.06538 0.214 150 0.305 1.0000
## CCN51 C. pyriformis - TCS19 T. rosea 0.06841 0.218 150 0.314 1.0000
## CCN51 C. pyriformis - CCN51 T. superba -0.07698 0.214 150 -0.359 1.0000
## CCN51 C. pyriformis - TCS01 T. superba -0.39581 0.214 150 -1.847 0.6512
## CCN51 C. pyriformis - TCS19 T. superba 0.21785 0.214 150 1.016 0.9838
## TCS01 C. pyriformis - TCS19 C. pyriformis 0.74763 0.214 150 3.488 0.0180
## TCS01 C. pyriformis - CCN51 T. rosea 0.32260 0.214 150 1.505 0.8517
## TCS01 C. pyriformis - TCS01 T. rosea 0.72827 0.214 150 3.397 0.0239
## TCS01 C. pyriformis - TCS19 T. rosea 0.73130 0.218 150 3.362 0.0266
## TCS01 C. pyriformis - CCN51 T. superba 0.58590 0.214 150 2.733 0.1452
## TCS01 C. pyriformis - TCS01 T. superba 0.26707 0.214 150 1.246 0.9447
## TCS01 C. pyriformis - TCS19 T. superba 0.88073 0.214 150 4.109 0.0021
## TCS19 C. pyriformis - CCN51 T. rosea -0.42503 0.214 150 -1.983 0.5577
## TCS19 C. pyriformis - TCS01 T. rosea -0.01937 0.214 150 -0.090 1.0000
## TCS19 C. pyriformis - TCS19 T. rosea -0.01633 0.218 150 -0.075 1.0000
## TCS19 C. pyriformis - CCN51 T. superba -0.16173 0.214 150 -0.754 0.9978
## TCS19 C. pyriformis - TCS01 T. superba -0.48056 0.214 150 -2.242 0.3845
## TCS19 C. pyriformis - TCS19 T. superba 0.13310 0.214 150 0.621 0.9995
## CCN51 T. rosea - TCS01 T. rosea 0.40566 0.214 150 1.892 0.6200
## CCN51 T. rosea - TCS19 T. rosea 0.40869 0.218 150 1.879 0.6293
## CCN51 T. rosea - CCN51 T. superba 0.26330 0.214 150 1.228 0.9490
## CCN51 T. rosea - TCS01 T. superba -0.05553 0.214 150 -0.259 1.0000
## CCN51 T. rosea - TCS19 T. superba 0.55813 0.214 150 2.604 0.1939
## TCS01 T. rosea - TCS19 T. rosea 0.00303 0.218 150 0.014 1.0000
## TCS01 T. rosea - CCN51 T. superba -0.14236 0.214 150 -0.664 0.9991
## TCS01 T. rosea - TCS01 T. superba -0.46119 0.214 150 -2.152 0.4428
## TCS01 T. rosea - TCS19 T. superba 0.15247 0.214 150 0.711 0.9986
## TCS19 T. rosea - CCN51 T. superba -0.14540 0.218 150 -0.668 0.9991
## TCS19 T. rosea - TCS01 T. superba -0.46422 0.218 150 -2.134 0.4544
## TCS19 T. rosea - TCS19 T. superba 0.14944 0.218 150 0.687 0.9989
## CCN51 T. superba - TCS01 T. superba -0.31883 0.214 150 -1.487 0.8598
## CCN51 T. superba - TCS19 T. superba 0.29483 0.214 150 1.375 0.9053
## TCS01 T. superba - TCS19 T. superba 0.61366 0.214 150 2.863 0.1064
##
## Results are averaged over the levels of: bloque
## P value adjustment: tukey method for comparing a family of 9 estimates
cld_Shade_gen <-multcomp::cld(contrast, alpha = 0.05, Letters = LETTERS, reversed=T)
cld_Shade_gen
## Shade = C. pyriformis:
## gen emmean SE df lower.CL upper.CL .group
## TCS01 1.693 0.152 150 1.394 1.99 A
## CCN51 1.031 0.152 150 0.731 1.33 B
## TCS19 0.946 0.152 150 0.646 1.25 B
##
## Shade = T. rosea:
## gen emmean SE df lower.CL upper.CL .group
## CCN51 1.371 0.152 150 1.071 1.67 A
## TCS01 0.965 0.152 150 0.666 1.26 A
## TCS19 0.962 0.156 150 0.654 1.27 A
##
## Shade = T. superba:
## gen emmean SE df lower.CL upper.CL .group
## TCS01 1.426 0.152 150 1.127 1.73 A
## CCN51 1.108 0.152 150 0.808 1.41 AB
## TCS19 0.813 0.152 150 0.513 1.11 B
##
## Results are averaged over the levels of: bloque
## Confidence level used: 0.95
## P value adjustment: tukey method for comparing a family of 3 estimates
## significance level used: alpha = 0.05
## NOTE: Compact letter displays can be misleading
## because they show NON-findings rather than findings.
## Consider using 'pairs()', 'pwpp()', or 'pwpm()' instead.
ggsave("mgC.tiff", plot= MgC, width = 16, height = 12, units= c("cm"), dpi = 1000)
# Analisisi "A" faltante
detach(datos)
dat<-read.table("photo.csv", header=T, sep=',')
attach(dat)
dat
## Shade Genotype A bloque
## 1 Ab CCN51 4.5 1
## 2 Ab CCN51 6.4 1
## 3 Ab CCN51 6.3 1
## 4 Ab CCN51 6.1 2
## 5 Ab CCN51 6.1 2
## 6 Ab CCN51 5.3 2
## 7 Ab CCN51 3.7 3
## 8 Ab CCN51 7.7 3
## 9 Ab CCN51 5.3 3
## 10 Ab TCS01 6.9 1
## 11 Ab TCS01 6.8 1
## 12 Ab TCS01 6.0 1
## 13 Ab TCS01 4.5 2
## 14 Ab TCS01 5.6 2
## 15 Ab TCS01 6.1 2
## 16 Ab TCS01 7.8 3
## 17 Ab TCS01 3.8 3
## 18 Ab TCS01 5.0 3
## 19 Ab TCS19 5.5 1
## 20 Ab TCS19 3.9 1
## 21 Ab TCS19 1.3 1
## 22 Ab TCS19 7.0 2
## 23 Ab TCS19 4.6 2
## 24 Ab TCS19 8.2 2
## 25 Ab TCS19 8.2 3
## 26 Ab TCS19 6.8 3
## 27 Ab TCS19 5.2 3
## 28 Ro CCN51 6.4 1
## 29 Ro CCN51 4.5 1
## 30 Ro CCN51 9.0 1
## 31 Ro CCN51 5.4 2
## 32 Ro CCN51 7.6 2
## 33 Ro CCN51 6.4 2
## 34 Ro CCN51 4.8 3
## 35 Ro CCN51 8.4 3
## 36 Ro CCN51 8.3 3
## 37 Ro TCS01 6.1 1
## 38 Ro TCS01 1.7 1
## 39 Ro TCS01 7.0 1
## 40 Ro TCS01 4.6 2
## 41 Ro TCS01 8.0 2
## 42 Ro TCS01 6.5 2
## 43 Ro TCS01 5.4 3
## 44 Ro TCS01 6.4 3
## 45 Ro TCS01 8.6 3
## 46 Ro TCS19 9.0 1
## 47 Ro TCS19 7.5 1
## 48 Ro TCS19 3.5 1
## 49 Ro TCS19 2.2 2
## 50 Ro TCS19 6.0 2
## 51 Ro TCS19 4.4 2
## 52 Ro TCS19 6.7 3
## 53 Ro TCS19 5.2 3
## 54 Ro TCS19 7.0 3
## 55 Ter CCN51 7.0 1
## 56 Ter CCN51 4.8 1
## 57 Ter CCN51 7.6 1
## 58 Ter CCN51 4.2 2
## 59 Ter CCN51 6.1 2
## 60 Ter CCN51 5.5 2
## 61 Ter CCN51 3.2 3
## 62 Ter CCN51 7.7 3
## 63 Ter CCN51 9.3 3
## 64 Ter TCS01 7.8 1
## 65 Ter TCS01 4.9 1
## 66 Ter TCS01 5.8 1
## 67 Ter TCS01 5.0 2
## 68 Ter TCS01 4.5 2
## 69 Ter TCS01 5.7 2
## 70 Ter TCS01 2.3 3
## 71 Ter TCS01 6.7 3
## 72 Ter TCS01 6.4 3
## 73 Ter TCS19 6.8 1
## 74 Ter TCS19 6.7 1
## 75 Ter TCS19 7.2 1
## 76 Ter TCS19 5.3 2
## 77 Ter TCS19 5.2 2
## 78 Ter TCS19 6.2 2
## 79 Ter TCS19 9.1 3
## 80 Ter TCS19 8.0 3
## 81 Ter TCS19 7.8 3
aov.diam<-aov(A~Shade*Genotype+bloque)
summary(aov.diam)
## Df Sum Sq Mean Sq F value Pr(>F)
## Shade 2 3.62 1.808 0.604 0.550
## Genotype 2 2.72 1.361 0.454 0.637
## bloque 1 3.58 3.578 1.195 0.278
## Shade:Genotype 4 12.21 3.052 1.019 0.403
## Residuals 71 212.61 2.994