Re-analysis of data from Seralini et al. July, 2014. Analysis for blog post here: http://weedcontrolfreaks.com/2014/07/seralini-rat-study-revisited/

Mortality Data

As a disclaimer, I am not an expert in survival analysis, so I would welcome criticism or comments from those more familiar with this type of analysis. Based on what I could gather, the mortality data released by Seralini was in somewhat of a non-standard format for time to mortality data. I reformatted the data into something I could work with, and have posted the reformatted data in case anyone wants to double check my work. I’ve also provided all of my R code below if you’d like to criticize/modify/improve the analysis.

morts<-read.csv("http://weedcontrolfreaks.com/wp-content/uploads/2014/07/SeraliniSurvival.csv", header=T)
## subset the data into male and female
subset(morts, Sex=="Male")->morts.m
subset(morts, Sex=="Female")->morts.f
head(morts)
##   Group  Sex Treatment Rat time mortality
## 1   All Male   Control   A  493         1
## 2   All Male   Control   B  574         1
## 3   All Male   Control   C  588         1
## 4   All Male   Control   D  604         1
## 5   All Male   Control   E  610         1
## 6   All Male   Control   F  632         1

I’ve reformatted the data to include the Sex, Treatment, Rat (experimental unit, 10 per treatment), time, and mortality. The mortality column indicates 1 for death, and 0 for still alive. Each rat that died during the experiment has a value of 1 for mortality that corresponds to the time that it died (in days). For the first few control rats in the data set, they died on day 493, 574, 588, etc. If the rat lived for the duration of the study, then it has a 0 in the mortality column that corresponds to day 720, or the end of the experiment.

I then used this file to run a survival analysis on the data. Honestly, I’m not sure which is most appropriate model for such small sample sizes, but a very quick search found that the Cox proportional hazards model has been used to look at the effect of diet on rats. Any readers with experience with survival analysis are welcome to suggest a better method.

require(survival)
## Loading required package: survival
## Loading required package: splines
## Male survival analysis:
summary(coxph(Surv(time,mortality)~Treatment, data=morts.m))
## Call:
## coxph(formula = Surv(time, mortality) ~ Treatment, data = morts.m)
## 
##   n= 100, number of events= 74 
## 
##                     coef exp(coef) se(coef)     z Pr(>|z|)  
## TreatmentGMO.11   -0.197     0.821    0.507 -0.39    0.697  
## TreatmentGMO.11.R -0.356     0.700    0.506 -0.70    0.481  
## TreatmentGMO.22   -0.615     0.541    0.506 -1.22    0.224  
## TreatmentGMO.22.R -0.317     0.728    0.507 -0.63    0.531  
## TreatmentGMO.33   -0.898     0.407    0.530 -1.70    0.090 .
## TreatmentGMO.33.R  0.152     1.164    0.460  0.33    0.742  
## TreatmentRa       -0.287     0.750    0.487 -0.59    0.555  
## TreatmentRb       -0.521     0.594    0.506 -1.03    0.304  
## TreatmentRc       -0.916     0.400    0.530 -1.73    0.084 .
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                   exp(coef) exp(-coef) lower .95 upper .95
## TreatmentGMO.11       0.821      1.218     0.304      2.22
## TreatmentGMO.11.R     0.700      1.428     0.260      1.89
## TreatmentGMO.22       0.541      1.850     0.201      1.46
## TreatmentGMO.22.R     0.728      1.373     0.270      1.97
## TreatmentGMO.33       0.407      2.455     0.144      1.15
## TreatmentGMO.33.R     1.164      0.859     0.472      2.87
## TreatmentRa           0.750      1.333     0.289      1.95
## TreatmentRb           0.594      1.684     0.220      1.60
## TreatmentRc           0.400      2.500     0.142      1.13
## 
## Concordance= 0.596  (se = 0.036 )
## Rsquare= 0.078   (max possible= 0.998 )
## Likelihood ratio test= 8.17  on 9 df,   p=0.517
## Wald test            = 8  on 9 df,   p=0.535
## Score (logrank) test = 8.36  on 9 df,   p=0.498

For the male rats, there appears to be no strong evidence that their diet influenced mortality. The last 3 lines of the output show p-values ranging from 0.498 to 0.535; results that appear to be consistent with chance. We get similar results looking at the Female rats:

## Female survival analysis:
summary(coxph(Surv(time,mortality)~Treatment, data=morts.f))
## Call:
## coxph(formula = Surv(time, mortality) ~ Treatment, data = morts.f)
## 
##   n= 100, number of events= 49 
## 
##                    coef exp(coef) se(coef)    z Pr(>|z|)  
## TreatmentGMO.11   0.698     2.010    0.866 0.81    0.420  
## TreatmentGMO.11.R 1.053     2.867    0.837 1.26    0.208  
## TreatmentGMO.22   1.586     4.883    0.817 1.94    0.052 .
## TreatmentGMO.22.R 1.630     5.102    0.804 2.03    0.043 *
## TreatmentGMO.33   1.399     4.050    0.817 1.71    0.087 .
## TreatmentGMO.33.R 0.850     2.340    0.866 0.98    0.327  
## TreatmentRa       1.308     3.700    0.817 1.60    0.109  
## TreatmentRb       0.875     2.398    0.866 1.01    0.313  
## TreatmentRc       1.150     3.158    0.837 1.37    0.169  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                   exp(coef) exp(-coef) lower .95 upper .95
## TreatmentGMO.11        2.01      0.498     0.368      11.0
## TreatmentGMO.11.R      2.87      0.349     0.556      14.8
## TreatmentGMO.22        4.88      0.205     0.984      24.2
## TreatmentGMO.22.R      5.10      0.196     1.056      24.6
## TreatmentGMO.33        4.05      0.247     0.817      20.1
## TreatmentGMO.33.R      2.34      0.427     0.428      12.8
## TreatmentRa            3.70      0.270     0.746      18.3
## TreatmentRb            2.40      0.417     0.439      13.1
## TreatmentRc            3.16      0.317     0.613      16.3
## 
## Concordance= 0.62  (se = 0.042 )
## Rsquare= 0.081   (max possible= 0.985 )
## Likelihood ratio test= 8.43  on 9 df,   p=0.491
## Wald test            = 7.36  on 9 df,   p=0.599
## Score (logrank) test = 8.06  on 9 df,   p=0.528

For the females, P-values range from 0.491 to 0.528 depending on the test. Again, very little evidence here that the diets had much impact on mortality. Now if we ignore the overall P-value and focus only on individual treatments (generally a bad idea, but humor me), there are some P-values that indicate there were some treatments that may be different from the control. For female rats, the 22% GMO diet + Roundup has a P-value of 0.043, indicating the proportional hazard is “significantly” different from the control. Interpretation of the coefficients from survival analysis is not exactly straightforward, but because the exp(coef) column is greater than 1, then we would interpret that to mean the rats on that diet are more likely to die compared to control rats. If we ignore the P-values altogether, we can see that all of the exp(coef) are greater than 1. So if we ignore the variability in the data, we could interpret this to mean that the female rats are more likely to die from all the treatments. And this is basically what Seralini has done in the article, by stating in the abstract: “In females, all treatment groups showed a two- to threefold increase in mortality, and deaths were earlier.

But if we’re willing to ignore the statistics to draw this conclusion for females, then it seems only fair that we should do the same for the males. And if we look at the exp(coef) for the male rats, all but one treatment is less than 1. This would indicate that all except 1 treatment reduced the hazard to male rats. I didn’t see this as a headline in any of the press releases. Again, I’m not a rat expert, but I can’t really think of any mechanism by which both GMO feed and Roundup in drinking water would have a negative effect on females but a positive effect on males.

I’ve re-created Seralini’s Figure 6 from the article, but I’ve included the 95% confidence intervals for each treatment. The solid lines are the same as those included by Seralini, and the dotted lines indicate the 95% confidence intervals for each treatment. The thing to notice is that the confidence intervals for all treatments (dotted colored lines) surround the control group (thick black line). The data Seralini provided simply doesn’t support a link between GMOs or Roundup laced diet and premature death. This doesn’t mean that the diets had no effect; it is certainly possible that the GMO or Roundup diets caused Females to die earlier (or even that the GMO diets caused males to live longer). Absence of evidence does not mean evidence of absence. What this means is that the mortality data provided by Seralini are simply not powerful enough to draw any conclusions one way or the other. Which is basically the same problem many folks identified with this study early on, even without the data in hand.

Body Weight?

Interestingly, there is a column in the biochemistry data named “BW” which does not show up in any of the description files, and is also never referenced in the published article. I’m guessing here, but it seems like BW is a logical abbreviation for body weight. The only reference to body weight in the republished article is near the beginning of the results section:

There was no rejection by the animals of the diet with or without GM maize, nor any major difference in body weight (data not shown).

If the BW variable in the provided data is body weight, I question the interpretation of no “major difference in body weight.”

read.csv("http://weedcontrolfreaks.com/wp-content/uploads/2014/07/Biochemistry-M15.csv", header=T)->biochem
## Subset males
subset(biochem, GROUP<11)->mbio
## Subset females
subset(biochem, GROUP>10)->fbio

## Female 'BW' analysis of variance
fbw.aov<-aov(BW.15~TRT, data=fbio)
summary(fbw.aov)
##             Df Sum Sq Mean Sq F value Pr(>F)  
## TRT          9  53684    5965    2.07  0.041 *
## Residuals   84 241850    2879                 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## print the means by treatment for females
summarise(group_by(fbio, TRT), mean(BW.15))
## Source: local data frame [10 x 2]
## 
##          TRT mean(BW.15)
## 1  Control_F       405.6
## 2   C-RupA_F       414.0
## 3   C-RupB_F       390.4
## 4   C-RupC_F       327.1
## 5    GMO11_F       397.1
## 6  GMO11+R_F       397.2
## 7    GMO22_F       383.4
## 8  GMO22+R_F       413.8
## 9    GMO33_F       393.2
## 10 GMO33+R_F       411.8
## show comparisons with P-values less than 0.1
 fsigs<-which(TukeyHSD(fbw.aov)$TRT[,4]<0.1)
 TukeyHSD(fbw.aov)$TRT[fsigs,]
##                      diff      lwr     upr   p adj
## C-RupC_F-Control_F -78.52 -158.657   1.608 0.05961
## C-RupC_F-C-RupA_F  -86.93 -169.147  -4.719 0.02956
## GMO22+R_F-C-RupC_F  86.72    6.592 166.857 0.02331
## GMO33+R_F-C-RupC_F  84.72    4.592 164.857 0.02959

For the female rats, there was a significant difference between treatments with respect to the BW variable. The highest dose of Roundup in drinking water (coded in the csv file by me as C-RupC) reduced BW by 19% compared to the control group. This difference was right on the border of what would generally be considered “significant” (P=0.059), but the difference was significant for several other comparisons with the high Roundup dose. For the males, there was very similar pattern:

### Male 'BW' analysis of variance
mbw.aov<-aov(BW.15~TRT, data=mbio)
summary(mbw.aov)
##             Df Sum Sq Mean Sq F value  Pr(>F)    
## TRT          9 163282   18142     4.2 0.00018 ***
## Residuals   81 349928    4320                    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## print the means by treatment for females
summarise(group_by(mbio, TRT), mean(BW.15))
## Source: local data frame [10 x 2]
## 
##          TRT mean(BW.15)
## 1  Control_M       673.5
## 2   C-RupA_M       621.3
## 3   C-RupB_M       623.6
## 4   C-RupC_M       518.6
## 5    GMO11_M       658.2
## 6  GMO11+R_M       639.0
## 7    GMO22_M       648.0
## 8  GMO22+R_M       618.2
## 9    GMO33_M       659.7
## 10 GMO33+R_M       623.6
## show comparisons with P-values less than 0.1
 msigs<-which(TukeyHSD(mbw.aov)$TRT[,4]<0.1)
 TukeyHSD(mbw.aov)$TRT[msigs,]
##                       diff      lwr     upr     p adj
## C-RupC_M-Control_M -154.92 -250.554 -59.286 4.688e-05
## C-RupC_M-C-RupA_M  -102.70 -198.334  -7.066 2.532e-02
## C-RupC_M-C-RupB_M  -104.98 -200.614  -9.346 2.010e-02
## GMO11_M-C-RupC_M    139.61   34.226 244.994 1.776e-03
## GMO11+R_M-C-RupC_M  120.43   19.000 221.870 8.089e-03
## GMO22_M-C-RupC_M    129.41   33.776 225.044 1.278e-03
## GMO22+R_M-C-RupC_M   99.65   -5.731 205.037 7.962e-02
## GMO33_M-C-RupC_M    141.10   45.466 236.734 2.937e-04
## GMO33+R_M-C-RupC_M  105.04    6.789 203.298 2.650e-02

The high dose of Roundup in the drinking water reduced male BW by 23%. The high-dose Roundup treatment was significantly different from all of the other treatments, including the control. So my conclusion here would be that drinking a 0.5% Roundup solution every day for 15 months will reduce body weight. I can’t quite figure out why the Seralini article didn’t report this very obvious difference (in fact, they made the opposite claim, that there were no differences).

There are two possible explanations for this discrepancy. If the BW variable actually is rat body weight, then Seralini et al. mischaracterize their data when they state there were no “major differences in body weight (data not shown).” I would argue a 20% reduction in body weight by a treatment is a major difference. The other explanation is that the BW variable in the data file they’ve provided isn’t actually body weight. But I can find no reference to what BW might otherwise be in the article itself or any of the supplemental information. Now, I’m not going to speculate why Seralini would state there were no differences in body weight when the differences were this dramatic, but it does seem very odd.

Biochemistry Data

Although the methods section in the paper states that blood samples were taken 10 different times over the course of the study, the paper only presents data from one time point (15 months). The 15 month data is also the only time point provided in the supplemental materials. In the paper, Seralini et al. justify presenting only a single time point by saying:

“Due to the large quantity of data collected, it cannot all be shown in one report, but we present here the most important findings.”

Even if true for the actual article, I really don’t see how this restriction would apply to the raw data. It seems like they could have easily added data from the other 9 time points into the same Excel file and provided all the raw data quite easily. But they have not, so it is impossible to tell whether the 15 month data are representative, or if this time point was simply the ‘best’ time point for some purpose. The easiest way to counter the early accusations of “cherry picking” data would be to release the rest of the data.

As I read through the statistical methods section of the article for the biochemistry data analysis, I was reminded how complex the analysis of the biochemistry data was. I have to agree with Marion Nestle’s assessment that it was “weirdly complicated.” I have dabbled in multivariate analyses before, and understand the basics of principal component and discriminant analysis (which they reference), but I really have no idea how to implement an OLPS-DA analysis. So I’m not going to even attempt to recreate their multivariate analysis. If anyone has experience with this analysis, I’d be interested to see them re-create and interpret the newly released data.

But we can at least run some more standard statistical tests for some of the variables. In particular, I was interested in some of the variables that Seralini’s multivariate analysis suggested were important. I’ll admit, the top half of Seralini’s Figure 3 confused me almost as much as the description of the multivariate methods. From what I can understand from Seralini’s Figure 3 caption, they only compared the control group with the 33% GMO group, and only for females. I can’t find an explanation for why they chose only one of the treatments and one sex for this analysis; perhaps it was again due to space constraints. Seralini uses Figure 3 to conclude that the “Profiles evidence kidney ion leakages and sex hormonal imbalance versus controls.” Again, I don’t know much about mammalian physiology, so I did a quick Google scholar search for “kidney ion leakage.” That returned no results, so I repeated the search without quotation marks. The ions referenced in recent papers are all over the board, Na+, K+, Cl-, H+, and even many metal ions. Seralini shows both blood serum and urine excreted Na and Cl ions in the figure, and if I’m interpreting the bottom half of figure 3 correctly, those ions had the most predictive effect in the analysis. So it seems certainly worth looking at those ions using a more standard test. Starting with Na, I ran a t-test to compare the same two groups as Seralini, the GMO 33% diet with the control.

t.test(biochem$Na.15[biochem$TRT=="Control_F"], biochem$Na.15[biochem$TRT=="GMO33_F"])
## 
##  Welch Two Sample t-test
## 
## data:  biochem$Na.15[biochem$TRT == "Control_F"] and biochem$Na.15[biochem$TRT == "GMO33_F"]
## t = 3.019, df = 6.517, p-value = 0.02118
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##   1.626 14.260
## sample estimates:
## mean of x mean of y 
##     142.8     134.9

The GMO 33% treatment had a serum sodium level about 5.5% lower than the control group (P=0.02). This does seem consistent with Seralini’s results. But what about male rats, which Seralini didn’t present?

t.test(biochem$Na.15[biochem$TRT=="Control_M"], biochem$Na.15[biochem$TRT=="GMO33_M"])
## 
##  Welch Two Sample t-test
## 
## data:  biochem$Na.15[biochem$TRT == "Control_M"] and biochem$Na.15[biochem$TRT == "GMO33_M"]
## t = -2.661, df = 10.89, p-value = 0.02233
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -21.573  -2.027
## sample estimates:
## mean of x mean of y 
##     137.4     149.2

There also appears to be a significant difference between the control group and the GMO 33% diet for males (P=0.02). But, the difference is in the opposite direction! The 33% GMO diet that reduced blood sodium levels in females, apparently increased the blood serum sodium levels in males by 8.6%. I’m not sure which of these relates to kidney ion leakage, but it seems that both an increase and a decrease in the same ion can’t be indicative of the same problem.

Because of the structure of the experiment, we should be able to confirm these results by looking at two other treatments; both sexes were also fed the 33% GMO diet that had been treated in the field with Roundup. I would expect that any effect of the GMO diet in the absence of Roundup should still exist in the presence of Roundup. So I compared these treatments also with the controls to confirm the results were due to treatment and not random variability.

t.test(biochem$Na.15[biochem$TRT=="Control_F"], biochem$Na.15[biochem$TRT=="GMO33+R_F"])
## 
##  Welch Two Sample t-test
## 
## data:  biochem$Na.15[biochem$TRT == "Control_F"] and biochem$Na.15[biochem$TRT == "GMO33+R_F"]
## t = -2.635, df = 17.18, p-value = 0.01727
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -3.2402 -0.3598
## sample estimates:
## mean of x mean of y 
##     142.8     144.6
t.test(biochem$Na.15[biochem$TRT=="Control_M"], biochem$Na.15[biochem$TRT=="GMO33+R_M"])
## 
##  Welch Two Sample t-test
## 
## data:  biochem$Na.15[biochem$TRT == "Control_M"] and biochem$Na.15[biochem$TRT == "GMO33+R_M"]
## t = 1.825, df = 14.47, p-value = 0.08878
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -1.54 19.45
## sample estimates:
## mean of x mean of y 
##     137.4     128.4

plot of chunk unnamed-chunk-11

Somehow, spraying Roundup on the GMO corn in the field reversed the blood serum sodium level results. In both sexes. I can think of absolutely no reasonable explanation for this result other than random chance. And analysis of the blood serum chloride shows similarly random results:

plot of chunk unnamed-chunk-12

Based on the released data I’ve looked through, I can see no reasonable, consistent relationship between the experimental treatments and the response variables in the newly released data. Granted, I’ve not taken the time to look at every response presented in the released data. But Seralini et al. state that the data presented in the article (and the data they released) represents “the most important findings.”


UPDATE: July 8, 2014

Below, I’ve run an ANOVA on each individual variable in the biochemistry data set released by Seralini et al. Analyzing the data this way is the very definition of a “fishing expedition,” and this method is almost certain to lead to finding “statistical” differences that are meaningless. I’m providing the ANOVAs (and code) here without much comment. Please interpret with caution.

### Function to put P-values from all separate ANOVA
many.aov<-function(df, firstcol=4){
 max.n<-length(colnames(biochem))
 ns<-max.n-firstcol
 out<-data.frame(matrix(NA, nrow=ns, ncol=2))
 names(out)<-c("Var","P-value")
 for( i in firstcol:max.n) {
      y<-colnames(df)
      yi<-y[[i]]
      p.i<-anova(lm(df[[yi]]~df$TRT, na.action=na.omit))[[5]]
  out[i,]<-c(paste(yi),round(p.i[1],4))
 }
  out
}

The function above simply runs an ANOVA on each variable, and prints the variable names & P-values. This certainly isn’t a great idea, since the P-values are not adjusted for multiple comparisons. But we can at least see which variables might be worth looking at more in depth.

# Print all P-values from Female ANOVAs
many.aov(fbio)
##            Var P-value
## 1         <NA>    <NA>
## 2         <NA>    <NA>
## 3         <NA>    <NA>
## 4       RBC.15  0.4658
## 5       Hct.15  0.8535
## 6       Hgb.15  0.7275
## 7      MCHC.15  0.0248
## 8       MCH.15  0.5699
## 9       MCV.15  0.0631
## 10      WBC.15  0.8196
## 11    Lymph.15  0.1112
## 12     Mono.15  0.0033
## 13   Neutro.15  0.2422
## 14      Plt.15  0.0321
## 15   Fibrin.15  0.3458
## 16     APTT.15  0.7861
## 17       PT.15  0.6496
## 18  Cholest.15  0.1158
## 19   Trigly.15   0.058
## 20   Glycem.15   0.298
## 21     Prot.15  0.3664
## 22    Album.15  0.0146
## 23     Glob.15  0.0146
## 24      A.G.15  0.0136
## 25      AST.15  0.1191
## 26      ALT.15  0.5508
## 27       Na.15       0
## 28        K.15  0.0023
## 29       Cl.15       0
## 30       Ca.15       0
## 31        P.15  0.0337
## 32     Urea.15   0.002
## 33    Creat.15  0.2178
## 34   UCreat.15  0.0022
## 35 UCreatex.15  0.0051
## 36   UClair.15   0.012
## 37      UNa.15   1e-04
## 38    UNaex.15   1e-04
## 39       UK.15  0.0304
## 40     UKex.15  0.0325
## 41      UCl.15       0
## 42    UClex.15       0
## 43      UCa.15  0.2389
## 44    UCaex.15  0.0642
## 45       UP.15   6e-04
## 46     UPex.15  0.2479
## 47     UVol.15  0.0075
## 48      UpH.15  0.5149
## 49    Testo.15       0
## 50   Oestra.15       0
## 51       BW.15  0.0411
# P-values from Male ANOVAs
many.aov(mbio)
##            Var P-value
## 1         <NA>    <NA>
## 2         <NA>    <NA>
## 3         <NA>    <NA>
## 4       RBC.15  0.3396
## 5       Hct.15  0.5622
## 6       Hgb.15  0.6255
## 7      MCHC.15  0.0035
## 8       MCH.15  0.0128
## 9       MCV.15  0.4415
## 10      WBC.15  0.5329
## 11    Lymph.15  0.0025
## 12     Mono.15   8e-04
## 13   Neutro.15  0.0073
## 14      Plt.15  0.0937
## 15   Fibrin.15  0.8115
## 16     APTT.15       0
## 17       PT.15  0.0022
## 18  Cholest.15  0.6433
## 19   Trigly.15  0.5206
## 20   Glycem.15   0.005
## 21     Prot.15       0
## 22    Album.15  0.1169
## 23     Glob.15  0.1169
## 24      A.G.15   0.099
## 25      AST.15  0.0208
## 26      ALT.15  0.2141
## 27       Na.15       0
## 28        K.15   0.016
## 29       Cl.15       0
## 30       Ca.15   2e-04
## 31        P.15  0.0114
## 32     Urea.15  0.1193
## 33    Creat.15  0.9805
## 34   UCreat.15       0
## 35 UCreatex.15  0.0985
## 36   UClair.15  0.2562
## 37      UNa.15       0
## 38    UNaex.15   3e-04
## 39       UK.15       0
## 40     UKex.15  0.0011
## 41      UCl.15   0.001
## 42    UClex.15   1e-04
## 43      UCa.15       0
## 44    UCaex.15  0.0035
## 45       UP.15       0
## 46     UPex.15  0.0378
## 47     UVol.15  0.0011
## 48      UpH.15       0
## 49    Testo.15  0.4316
## 50   Oestra.15   2e-04
## 51       BW.15   2e-04

Most statisticians agree that using 0.05 is a pretty arbitrary cutoff, but it is probably the most standard value for “significance.” If you want to print just the P-values that are less than 0.05, you can run the following code.

# Just print the P-values less than 0.05 (Females)
many.aov(fbio)[which(as.numeric(many.aov(fbio)[,2])<0.05),]
# Just print the P-values less than 0.05 (Males)
many.aov(mbio)[which(as.numeric(many.aov(mbio)[,2])<0.05),]

And finally, the following code will print the significant Tukey’s HSD treatment comparisons for all variables with ANOVA overall F values that are less than 0.05. For variables where only 1 comparison is significant, the code isn’t printing out which comparison is significant. I’ve not had time to troubleshoot why. But if there is only one comparison significant for a variable, it is probably not very important given the treatment structure in the experiment.

tuk<-function(df) {
    yn<-colnames(df)
    vars<-which(as.numeric(many.aov(df)[,2])<0.05)
 for( i in 1:length(vars)) {
      yi<-vars[[i]]
      yz<-yn[[yi]]
  y.aov<-aov(df[[yz]]~df$TRT, na.action=na.omit)
  y.Tuk<-TukeyHSD(y.aov)
  print(paste(yz))
  sigT<-y.Tuk$`df$TRT`[,4]<0.05
  print(y.Tuk$`df$TRT`[sigT,]  )
 }
}
# Females:
tuk(fbio)
## [1] "MCHC.15"
##      diff lwr upr p adj
## [1] "Mono.15"
##                      diff     lwr     upr    p adj
## C-RupC_F-Control_F  4.133  0.9495  7.3172 0.002414
## GMO11+R_F-C-RupC_F -3.306 -6.4088 -0.2023 0.027518
## GMO22_F-C-RupC_F   -3.867 -7.0505 -0.6828 0.006076
## [1] "Plt.15"
##      diff       lwr       upr     p adj 
## 3.012e+02 5.965e+01 5.428e+02 4.273e-03 
## [1] "Album.15"
##                       diff      lwr     upr   p adj
## GMO22+R_F-C-RupA_F  -4.883 -9.16601 -0.5997 0.01334
## GMO33_F-GMO22+R_F    4.297  0.01399  8.5803 0.04858
## GMO33+R_F-GMO22+R_F  4.490  0.60311  8.3769 0.01145
## [1] "Glob.15"
##                       diff     lwr      upr   p adj
## GMO22+R_F-C-RupA_F   4.883  0.5997  9.16601 0.01334
## GMO33_F-GMO22+R_F   -4.297 -8.5803 -0.01399 0.04858
## GMO33+R_F-GMO22+R_F -4.490 -8.3769 -0.60311 0.01145
## [1] "A.G.15"
##                        diff      lwr        upr   p adj
## GMO22+R_F-C-RupA_F  -0.1113 -0.20754 -0.0150323 0.01133
## GMO22+R_F-GMO22_F   -0.0970 -0.19325 -0.0007465 0.04669
## GMO33+R_F-GMO22+R_F  0.1010  0.01365  0.1883486 0.01132
## [1] "Na.15"
##                       diff      lwr     upr     p adj
## C-RupA_F-Control_F -10.229 -17.9265 -2.5306 1.760e-03
## GMO33_F-Control_F   -7.943 -15.6408 -0.2449 3.762e-02
## C-RupB_F-C-RupA_F   10.179   2.0941 18.2630 3.827e-03
## GMO11_F-C-RupA_F     8.317   0.4454 16.1895 2.995e-02
## GMO11+R_F-C-RupA_F  12.829   5.1306 20.5265 2.852e-05
## GMO22+R_F-C-RupA_F  12.029   4.3306 19.7265 1.070e-04
## GMO33+R_F-C-RupA_F  12.029   4.3306 19.7265 1.070e-04
## GMO22_F-GMO11+R_F   -7.971 -15.6694 -0.2735 3.637e-02
## GMO33_F-GMO11+R_F  -10.543 -18.2408 -2.8449 1.102e-03
## GMO33_F-GMO22+R_F   -9.743 -17.4408 -2.0449 3.560e-03
## GMO33+R_F-GMO33_F    9.743   2.0449 17.4408 3.560e-03
## [1] "K.15"
##                      diff     lwr   upr   p adj
## GMO33+R_F-C-RupA_F 0.6371 0.03809 1.236 0.02805
## GMO33+R_F-C-RupC_F 0.7133 0.08560 1.341 0.01384
## GMO33+R_F-GMO22_F  0.6371 0.03809 1.236 0.02805
## [1] "Cl.15"
##                      diff      lwr     upr     p adj
## C-RupA_F-Control_F -7.686 -12.7888 -2.5826 0.0002155
## GMO11_F-Control_F  -4.956  -9.7134 -0.1977 0.0344213
## GMO22_F-Control_F  -7.114 -12.2174 -2.0112 0.0008274
## GMO33_F-Control_F  -6.257 -11.3602 -1.1541 0.0054595
## C-RupB_F-C-RupA_F   6.786   1.4264 12.1450 0.0035400
## GMO11+R_F-C-RupA_F  6.686   1.5826 11.7888 0.0021721
## GMO22+R_F-C-RupA_F  5.286   0.1826 10.3888 0.0362858
## GMO33+R_F-C-RupA_F  6.086   0.9826 11.1888 0.0077872
## GMO22_F-C-RupB_F   -6.214 -11.5736 -0.8550 0.0109512
## GMO22_F-GMO11+R_F  -6.114 -11.2174 -1.0112 0.0073439
## GMO33_F-GMO11+R_F  -5.257 -10.3602 -0.1541 0.0381833
## GMO33+R_F-GMO22_F   5.514   0.4112 10.6174 0.0238831
## [1] "Ca.15"
##                      diff      lwr       upr     p adj
## C-RupB_F-C-RupA_F   8.664   1.4668 15.861790 0.0069217
## GMO11_F-C-RupA_F    8.292   1.2836 15.300483 0.0085882
## GMO11+R_F-C-RupA_F 10.294   3.4409 17.147681 0.0002265
## GMO22+R_F-C-RupA_F  9.154   2.3009 16.007681 0.0016256
## GMO33+R_F-C-RupA_F  8.474   1.6209 15.327681 0.0048854
## C-RupC_F-C-RupB_F  -8.117 -15.6273 -0.606082 0.0238567
## GMO33_F-C-RupB_F   -7.207 -14.4046 -0.009638 0.0494150
## GMO11_F-C-RupC_F    7.744   0.4149 15.074025 0.0299456
## GMO11+R_F-C-RupC_F  9.747   2.5652 16.928159 0.0012711
## GMO22+R_F-C-RupC_F  8.607   1.4252 15.788159 0.0073213
## GMO33+R_F-C-RupC_F  7.927   0.7452 15.108159 0.0190993
## GMO33_F-GMO11+R_F  -8.837 -15.6905 -1.983747 0.0027371
## GMO33_F-GMO22+R_F  -7.697 -14.5505 -0.843747 0.0157928
## GMO33+R_F-GMO33_F   7.017   0.1637 13.870538 0.0404224
## [1] "P.15"
##       diff        lwr        upr      p adj 
## -11.165714 -20.596657  -1.734771   0.008518 
## [1] "Urea.15"
##                        diff      lwr      upr    p adj
## C-RupC_F-Control_F  0.08733  0.01919  0.15547 0.002984
## C-RupC_F-C-RupA_F   0.08619  0.01278  0.15960 0.009434
## GMO33_F-C-RupC_F   -0.08905 -0.16246 -0.01564 0.006280
## [1] "UCreat.15"
##      diff       lwr       upr     p adj 
## -376.2889 -735.0868  -17.4910    0.0321 
## [1] "UCreatex.15"
##                      diff     lwr     upr    p adj
## C-RupC_F-Control_F -3.650 -6.3719 -0.9276 0.001476
## GMO11+R_F-C-RupC_F  3.215  0.4926  5.9369 0.008646
## [1] "UClair.15"
##                      diff     lwr    upr    p adj
## C-RupC_F-Control_F -387.9 -714.18 -61.52 0.008165
## GMO11+R_F-C-RupC_F  353.3   26.94 679.60 0.023484
## [1] "UNa.15"
##                      diff     lwr    upr    p adj
## C-RupC_F-Control_F  43.20   8.916 77.484 0.003686
## GMO33_F-Control_F   45.13   9.510 80.747 0.003413
## GMO22_F-C-RupC_F   -44.25 -80.389 -8.111 0.005442
## GMO33_F-GMO22_F     46.18   8.771 83.586 0.004880
## [1] "UNaex.15"
##                       diff      lwr       upr    p adj
## C-RupA_F-Control_F  0.6049  0.14334  1.066530 0.002090
## GMO33_F-Control_F   0.7042  0.20908  1.199259 0.000562
## C-RupC_F-C-RupA_F  -0.5628 -1.05100 -0.074670 0.011558
## GMO11+R_F-C-RupA_F -0.4712 -0.93283 -0.009637 0.041479
## GMO33_F-C-RupC_F    0.6621  0.14213  1.182018 0.003180
## GMO33_F-GMO11+R_F   0.5705  0.07538  1.065559 0.011642
## GMO33_F-GMO22_F     0.5687  0.04875  1.088643 0.020897
## [1] "UK.15"
##      diff       lwr       upr     p adj 
## -49.75000 -96.19957  -3.30043   0.02601 
## [1] "UKex.15"
##    diff     lwr     upr   p adj 
## 0.66495 0.02813 1.30176 0.03350 
## [1] "UCl.15"
##                      diff     lwr    upr    p adj
## C-RupC_F-Control_F  50.90  12.224 89.576 0.001962
## GMO33_F-Control_F   54.76  14.576 94.938 0.001142
## GMO11+R_F-C-RupC_F -43.10 -81.776 -4.424 0.017059
## GMO22_F-C-RupC_F   -48.37 -89.143 -7.607 0.008149
## GMO33_F-GMO11+R_F   46.96   6.776 87.138 0.009833
## GMO33_F-GMO22_F     52.23  10.033 94.431 0.004709
## [1] "UClex.15"
##                       diff      lwr      upr     p adj
## C-RupA_F-Control_F  0.7516  0.21768  1.28557 0.0006702
## GMO33_F-Control_F   0.8564  0.28372  1.42908 0.0002292
## C-RupC_F-C-RupA_F  -0.6735 -1.23815 -0.10880 0.0076435
## GMO11+R_F-C-RupA_F -0.6259 -1.15987 -0.09198 0.0094686
## GMO33_F-C-RupC_F    0.7782  0.17681  1.37969 0.0025224
## GMO33_F-GMO11+R_F   0.7307  0.15802  1.30338 0.0030899
## GMO33_F-GMO22_F     0.6661  0.06469  1.26756 0.0182536
## [1] "UP.15"
##                     diff   lwr    upr   p adj
## C-RupC_F-C-RupA_F  533.1 43.93 1022.3 0.02172
## GMO11+R_F-C-RupA_F 491.1 28.51  953.7 0.02845
## [1] "UVol.15"
##                      diff      lwr    upr    p adj
## C-RupC_F-C-RupA_F  -9.211 -16.9747 -1.447 0.008162
## GMO22_F-C-RupC_F    8.163   0.1738 16.151 0.041150
## GMO22+R_F-C-RupC_F  8.830   1.2513 16.409 0.010199
## GMO33+R_F-C-RupC_F  8.580   1.0013 16.159 0.014287
## [1] "Testo.15"
##                        diff       lwr      upr     p adj
## C-RupA_F-Control_F  0.14949  0.060127  0.23885 2.240e-05
## C-RupB_F-Control_F -0.11140 -0.200762 -0.02204 4.235e-03
## GMO33_F-Control_F   0.12610  0.033845  0.21835 1.070e-03
## C-RupB_F-C-RupA_F  -0.26089 -0.352572 -0.16921 1.591e-10
## C-RupC_F-C-RupA_F  -0.13367 -0.225350 -0.04198 3.559e-04
## GMO11+R_F-C-RupA_F -0.14179 -0.231151 -0.05243 6.960e-05
## GMO22_F-C-RupA_F   -0.12333 -0.215017 -0.03165 1.381e-03
## GMO22+R_F-C-RupA_F -0.16279 -0.252151 -0.07343 2.959e-06
## GMO33+R_F-C-RupA_F -0.10739 -0.196751 -0.01803 6.895e-03
## C-RupC_F-C-RupB_F   0.12722  0.035539  0.21891 8.362e-04
## GMO11_F-C-RupB_F    0.19790  0.108538  0.28726 1.076e-08
## GMO11+R_F-C-RupB_F  0.11910  0.029738  0.20846 1.596e-03
## GMO22_F-C-RupB_F    0.13756  0.045872  0.22924 2.098e-04
## GMO22+R_F-C-RupB_F  0.09810  0.008738  0.18746 2.004e-02
## GMO33_F-C-RupB_F    0.23750  0.142995  0.33201 2.834e-10
## GMO33+R_F-C-RupB_F  0.15350  0.064138  0.24286 1.226e-05
## GMO33_F-C-RupC_F    0.11028  0.015773  0.20478 9.957e-03
## GMO22+R_F-GMO11_F  -0.09980 -0.186779 -0.01282 1.218e-02
## GMO33_F-GMO11+R_F   0.11840  0.026145  0.21065 2.809e-03
## GMO33_F-GMO22_F     0.09994  0.005439  0.19445 2.952e-02
## GMO33_F-GMO22+R_F   0.13940  0.047145  0.23165 1.833e-04
## [1] "Oestra.15"
##                        diff      lwr      upr     p adj
## C-RupB_F-Control_F -0.09190 -0.16313 -0.02067 2.646e-03
## C-RupC_F-C-RupA_F   0.08144  0.02014  0.14275 1.711e-03
## C-RupC_F-C-RupB_F   0.14029  0.06775  0.21283 6.826e-07
## GMO11_F-C-RupB_F    0.09830  0.02707  0.16953 9.383e-04
## GMO11+R_F-C-RupB_F  0.10220  0.03097  0.17343 4.873e-04
## GMO22_F-C-RupB_F    0.08962  0.01708  0.16216 4.844e-03
## GMO22+R_F-C-RupB_F  0.09070  0.01947  0.16193 3.195e-03
## GMO33+R_F-C-RupB_F  0.09490  0.02367  0.16613 1.638e-03
## GMO33_F-C-RupC_F   -0.08051 -0.14371 -0.01732 3.167e-03
## [1] "BW.15"
##                      diff      lwr     upr   p adj
## C-RupC_F-C-RupA_F  -86.93 -169.147  -4.719 0.02956
## GMO22+R_F-C-RupC_F  86.72    6.592 166.857 0.02331
## GMO33+R_F-C-RupC_F  84.72    4.592 164.857 0.02959
# Males:
tuk(mbio)
## [1] "MCHC.15"
##                      diff     lwr     upr   p adj
## C-RupB_M-Control_M -1.681 -3.2481 -0.1141 0.02560
## GMO11+R_M-C-RupB_M  1.874  0.2164  3.5308 0.01453
## [1] "MCH.15"
##                      diff      lwr      upr   p adj
## GMO11+R_M-C-RupB_M  1.272  0.06058  2.48387 0.03175
## GMO33_M-GMO11+R_M  -1.280 -2.46279 -0.09721 0.02340
## [1] "Lymph.15"
##                       diff    lwr   upr    p adj
## GMO11+R_M-Control_M  9.337 0.5496 18.13 0.028219
## GMO22_M-Control_M   10.260 1.9747 18.55 0.004694
## GMO22_M-C-RupC_M     8.770 0.4847 17.06 0.029315
## [1] "Mono.15"
##                       diff    lwr      upr     p adj
## C-RupA_M-Control_M  -2.500 -4.774 -0.22578 0.0198201
## C-RupB_M-Control_M  -2.510 -4.847 -0.17347 0.0252503
## GMO11+R_M-Control_M -3.497 -5.910 -1.08533 0.0004049
## GMO22_M-Control_M   -2.730 -5.004 -0.45578 0.0070587
## GMO33_M-Control_M   -2.340 -4.614 -0.06578 0.0385607
## GMO33+R_M-Control_M -2.677 -5.013 -0.34013 0.0124856
## [1] "Neutro.15"
##                    diff    lwr     upr   p adj
## GMO22_M-Control_M -7.56 -14.08 -1.0396 0.01083
## GMO22_M-C-RupC_M  -7.26 -13.78 -0.7396 0.01724
## [1] "APTT.15"
##                       diff    lwr     upr    p adj
## GMO11_M-C-RupA_M   -11.673 -20.63 -2.7137 0.002368
## GMO11+R_M-C-RupA_M  -9.933 -18.89 -0.9737 0.018229
## GMO22_M-C-RupA_M   -10.743 -18.12 -3.3628 0.000402
## GMO22+R_M-C-RupA_M  -9.150 -17.62 -0.6840 0.023858
## GMO33+R_M-C-RupA_M -10.756 -18.33 -3.1833 0.000612
## GMO11_M-C-RupC_M    -8.980 -17.78 -0.1818 0.041622
## GMO22_M-C-RupC_M    -8.050 -15.23 -0.8663 0.016215
## GMO33+R_M-C-RupC_M  -8.062 -15.44 -0.6817 0.021354
## [1] "PT.15"
##                     diff     lwr   upr    p adj
## GMO11+R_M-C-RupA_M 1.584 0.32381 2.845 0.003951
## GMO22_M-C-RupA_M   1.084 0.04599 2.123 0.033598
## GMO11+R_M-C-RupC_M 1.360 0.12208 2.598 0.020127
## [1] "Glycem.15"
##     diff      lwr      upr    p adj 
## 42.72222  3.14216 82.30228  0.02402 
## [1] "Prot.15"
##                      diff      lwr     upr     p adj
## GMO11+R_M-C-RupA_M -6.690 -12.7927 -0.5873 2.042e-02
## GMO33+R_M-C-RupA_M -7.462 -13.3736 -1.5509 3.606e-03
## GMO11+R_M-C-RupB_M -7.750 -13.8527 -1.6473 3.316e-03
## GMO33+R_M-C-RupB_M -8.522 -14.4336 -2.6109 4.479e-04
## GMO11+R_M-C-RupC_M -7.570 -13.6727 -1.4673 4.589e-03
## GMO33+R_M-C-RupC_M -8.342 -14.2536 -2.4309 6.468e-04
## GMO33_M-GMO11+R_M   8.550   2.4473 14.6527 7.308e-04
## GMO33+R_M-GMO22_M  -6.082 -11.9936 -0.1709 3.857e-02
## GMO33_M-GMO22+R_M   6.529   0.1883 12.8688 3.829e-02
## GMO33+R_M-GMO33_M  -9.322 -15.2336 -3.4109 8.263e-05
## [1] "AST.15"
##                     diff  lwr   upr    p adj
## GMO11+R_M-C-RupA_M 26.05 3.65 48.45 0.010449
## GMO11+R_M-C-RupB_M 26.45 4.05 48.85 0.008679
## [1] "Na.15"
##                      diff     lwr     upr     p adj
## GMO11+R_M-C-RupA_M -15.40 -28.125 -2.6748 6.360e-03
## GMO33+R_M-C-RupA_M -18.96 -31.282 -6.6294 1.360e-04
## GMO11+R_M-C-RupB_M -14.60 -27.325 -1.8748 1.226e-02
## GMO33+R_M-C-RupB_M -18.16 -30.482 -5.8294 3.055e-04
## GMO11+R_M-C-RupC_M -16.00 -28.725 -3.2748 3.811e-03
## GMO22+R_M-C-RupC_M -13.71 -26.935 -0.4938 3.570e-02
## GMO33+R_M-C-RupC_M -19.56 -31.882 -7.2294 7.315e-05
## GMO33+R_M-GMO11_M  -14.89 -29.028 -0.7498 3.086e-02
## GMO33_M-GMO11+R_M   17.20   4.475 29.9252 1.308e-03
## GMO33+R_M-GMO22_M  -14.76 -27.082 -2.4294 7.312e-03
## GMO33_M-GMO22+R_M   14.91   1.694 28.1348 1.489e-02
## GMO33+R_M-GMO33_M  -20.76 -33.082 -8.4294 2.056e-05
## [1] "K.15"
##      diff       lwr       upr     p adj 
## -0.777778 -1.398555 -0.157001  0.004002 
## [1] "Cl.15"
##                       diff      lwr     upr     p adj
## C-RupC_M-Control_M   7.800   0.1089 15.4911 4.407e-02
## GMO11+R_M-C-RupA_M -11.550 -19.7076 -3.3924 6.118e-04
## GMO22+R_M-C-RupA_M -11.229 -19.7037 -2.7534 1.782e-03
## GMO33+R_M-C-RupA_M -14.022 -21.9240 -6.1204 6.110e-06
## GMO11+R_M-C-RupB_M -10.750 -18.9076 -2.5924 1.933e-03
## GMO22+R_M-C-RupB_M -10.429 -18.9037 -1.9534 5.112e-03
## GMO33+R_M-C-RupB_M -13.222 -21.1240 -5.3204 2.363e-05
## GMO11+R_M-C-RupC_M -13.150 -21.3076 -4.9924 5.266e-05
## GMO22+R_M-C-RupC_M -12.829 -21.3037 -4.3534 1.842e-04
## GMO33+R_M-C-RupC_M -15.622 -23.5240 -7.7204 3.731e-07
## GMO33+R_M-GMO11_M   -9.556 -18.6195 -0.4916 3.051e-02
## GMO22_M-GMO11+R_M    8.550   0.3924 16.7076 3.231e-02
## GMO33_M-GMO11+R_M   12.950   4.7924 21.1076 7.224e-05
## GMO33+R_M-GMO22_M  -11.022 -18.9240 -3.1204 7.860e-04
## GMO33_M-GMO22+R_M   12.629   4.1534 21.1037 2.472e-04
## GMO33+R_M-GMO33_M  -15.422 -23.3240 -7.5204 5.321e-07
## [1] "Ca.15"
##                       diff    lwr      upr    p adj
## GMO33+R_M-C-RupA_M  -9.807 -19.10 -0.51757 0.030092
## GMO11+R_M-C-RupB_M  -9.640 -19.23 -0.05021 0.047733
## GMO33+R_M-C-RupB_M -10.607 -19.90 -1.31757 0.012968
## GMO33+R_M-C-RupC_M  -9.307 -18.60 -0.01757 0.049170
## GMO33_M-GMO11+R_M   10.660   1.07 20.24979 0.017558
## GMO33+R_M-GMO33_M  -11.627 -20.92 -2.33757 0.004058
## [1] "P.15"
##      diff lwr upr p adj
## [1] "UCreat.15"
##                     diff     lwr     upr     p adj
## C-RupC_M-Control_M  1466   899.8  2032.0 7.384e-11
## C-RupC_M-C-RupA_M   1252   685.6  1817.8 1.267e-08
## C-RupC_M-C-RupB_M   1218   652.3  1784.5 2.965e-08
## GMO11_M-C-RupC_M   -1438 -2062.3  -814.7 3.199e-09
## GMO11+R_M-C-RupC_M -1700 -2300.2 -1099.4 2.644e-11
## GMO22_M-C-RupC_M   -1356 -1922.5  -790.3 8.720e-10
## GMO22+R_M-C-RupC_M -1268 -1892.0  -644.4 1.638e-07
## GMO33_M-C-RupC_M   -1377 -1942.9  -810.7 5.234e-10
## GMO33+R_M-C-RupC_M -1576 -2157.6  -994.4 3.330e-11
## [1] "UNa.15"
##                       diff       lwr      upr     p adj
## C-RupC_M-Control_M   69.00   24.6836 113.3164 0.0001055
## GMO22+R_M-Control_M  55.34    6.5085 104.1772 0.0141208
## C-RupC_M-C-RupA_M    55.40   11.0836  99.7164 0.0041141
## C-RupC_M-C-RupB_M    62.90   18.5836 107.2164 0.0005825
## GMO22+R_M-C-RupB_M   49.24    0.4085  98.0772 0.0464182
## GMO11_M-C-RupC_M    -53.23 -102.0629  -4.3942 0.0216798
## GMO11+R_M-C-RupC_M  -72.30 -119.3047 -25.2953 0.0001340
## GMO22_M-C-RupC_M    -56.40 -100.7164 -12.0836 0.0032043
## GMO33_M-C-RupC_M    -63.20 -107.5164 -18.8836 0.0005368
## GMO33+R_M-C-RupC_M  -59.13 -104.6642 -13.6025 0.0023898
## GMO22+R_M-GMO11+R_M  58.64    7.3565 109.9292 0.0127390
## GMO33_M-GMO22+R_M   -49.54  -98.3772  -0.7085 0.0439324
## [1] "UNaex.15"
##                        diff       lwr       upr     p adj
## GMO22+R_M-Control_M  0.5238  0.080155  0.967473 0.0086729
## GMO22+R_M-C-RupA_M   0.4461  0.002455  0.889773 0.0476047
## GMO22+R_M-C-RupB_M   0.6635  0.219855  1.107173 0.0002288
## GMO22+R_M-C-RupC_M   0.6454  0.201755  1.089073 0.0003788
## GMO33_M-GMO22+R_M   -0.4533 -0.896973 -0.009655 0.0411477
## [1] "UK.15"
##                        diff      lwr    upr     p adj
## C-RupC_M-Control_M   117.80   61.625 173.97 6.570e-08
## C-RupC_M-C-RupA_M    104.60   48.425 160.77 1.807e-06
## C-RupC_M-C-RupB_M     98.30   42.125 154.47 8.364e-06
## GMO11_M-C-RupC_M    -106.79 -168.687 -44.88 1.168e-05
## GMO11+R_M-C-RupC_M  -130.00 -189.582 -70.42 1.937e-08
## GMO22_M-C-RupC_M    -110.60 -166.775 -54.43 4.066e-07
## GMO33_M-C-RupC_M    -118.50 -174.675 -62.33 5.495e-08
## GMO33+R_M-C-RupC_M  -111.06 -168.769 -53.34 7.606e-07
## GMO22+R_M-GMO11+R_M   70.64    5.633 135.65 2.239e-02
## [1] "UKex.15"
##                      diff     lwr   upr    p adj
## GMO22+R_M-C-RupB_M 0.6378 0.01294 1.263 0.041539
## GMO11_M-C-RupC_M   0.6551 0.03027 1.280 0.032193
## GMO22+R_M-C-RupC_M 0.8187 0.19384 1.443 0.002097
## GMO33+R_M-C-RupC_M 0.6802 0.09770 1.263 0.009927
## [1] "UCl.15"
##                      diff       lwr    upr    p adj
## C-RupC_M-Control_M  70.50   11.1696 129.83 0.008008
## C-RupC_M-C-RupB_M   59.70    0.3696 119.03 0.047311
## GMO11+R_M-C-RupC_M -83.82 -146.7544 -20.90 0.001633
## GMO22_M-C-RupC_M   -62.40 -121.7304  -3.07 0.031220
## GMO33_M-C-RupC_M   -64.40 -123.7304  -5.07 0.022654
## GMO33+R_M-C-RupC_M -73.92 -134.8784 -12.97 0.006175
## [1] "UClex.15"
##                      diff      lwr    upr     p adj
## GMO11_M-C-RupB_M   0.5073 0.018274 0.9963 3.568e-02
## GMO22+R_M-C-RupB_M 0.6169 0.127845 1.1059 3.630e-03
## GMO11_M-C-RupC_M   0.6629 0.173874 1.1519 1.243e-03
## GMO22+R_M-C-RupC_M 0.7725 0.283445 1.2615 7.894e-05
## GMO33+R_M-C-RupC_M 0.4605 0.004557 0.9164 4.575e-02
## [1] "UCa.15"
##                     diff      lwr    upr     p adj
## C-RupC_M-C-RupA_M  104.7    9.862 199.54 1.891e-02
## C-RupC_M-C-RupB_M  114.3   19.462 209.14 6.691e-03
## GMO11_M-C-RupC_M  -144.5 -248.978 -39.96 9.058e-04
## GMO22_M-C-RupC_M  -150.5 -245.338 -55.66 7.188e-05
## GMO33_M-C-RupC_M  -148.9 -243.738 -54.06 8.927e-05
## GMO22+R_M-GMO11_M  126.4   13.075 239.78 1.690e-02
## GMO22+R_M-GMO22_M  132.5   27.950 236.96 3.396e-03
## GMO33_M-GMO22+R_M -130.9 -235.364 -26.35 4.023e-03
## [1] "UCaex.15"
##                     diff    lwr      upr   p adj
## GMO22_M-GMO11+R_M -1.755 -3.411 -0.09778 0.02916
## GMO33_M-GMO11+R_M -1.736 -3.392 -0.07888 0.03245
## [1] "UP.15"
##                      diff     lwr    upr     p adj
## C-RupC_M-Control_M  758.6   261.5 1255.7 1.563e-04
## C-RupC_M-C-RupA_M   757.4   260.3 1254.5 1.611e-04
## C-RupC_M-C-RupB_M   641.3   144.2 1138.4 2.638e-03
## GMO11+R_M-C-RupC_M -849.9 -1377.2 -322.6 5.211e-05
## GMO33_M-C-RupC_M   -744.6 -1241.7 -247.5 2.225e-04
## GMO33+R_M-C-RupC_M -624.3 -1135.0 -113.5 5.571e-03
## [1] "UPex.15"
##      diff lwr upr p adj
## [1] "UVol.15"
##                     diff   lwr   upr    p adj
## GMO11_M-C-RupC_M   10.46 1.092 19.82 0.016687
## GMO11+R_M-C-RupC_M 12.87 3.857 21.88 0.000525
## GMO33_M-C-RupC_M    9.61 1.112 18.11 0.014460
## GMO33+R_M-C-RupC_M 10.69 1.962 19.42 0.005426
## [1] "UpH.15"
##                      diff      lwr      upr     p adj
## C-RupA_M-Control_M  1.500  0.08674  2.91326 2.851e-02
## C-RupB_M-Control_M  1.800  0.38674  3.21326 3.169e-03
## GMO33_M-Control_M   1.500  0.08674  2.91326 2.851e-02
## GMO11+R_M-C-RupA_M -2.075 -3.57399 -0.57601 8.861e-04
## GMO22+R_M-C-RupA_M -1.771 -3.32876 -0.21409 1.353e-02
## GMO33+R_M-C-RupA_M -1.867 -3.31865 -0.41468 2.772e-03
## GMO11+R_M-C-RupB_M -2.375 -3.87399 -0.87601 7.424e-05
## GMO22+R_M-C-RupB_M -2.071 -3.62876 -0.51409 1.670e-03
## GMO33+R_M-C-RupB_M -2.167 -3.61865 -0.71468 2.385e-04
## GMO11+R_M-GMO11_M  -2.089 -3.72481 -0.45376 3.038e-03
## GMO22+R_M-GMO11_M  -1.786 -3.47488 -0.09655 2.967e-02
## GMO33+R_M-GMO11_M  -1.881 -3.47351 -0.28839 8.635e-03
## GMO22_M-GMO11+R_M   1.875  0.37601  3.37399 4.081e-03
## GMO33_M-GMO11+R_M   2.075  0.57601  3.57399 8.861e-04
## GMO22+R_M-GMO22_M  -1.571 -3.12876 -0.01409 4.614e-02
## GMO33+R_M-GMO22_M  -1.667 -3.11865 -0.21468 1.218e-02
## GMO33_M-GMO22+R_M   1.771  0.21409  3.32876 1.353e-02
## GMO33+R_M-GMO33_M  -1.867 -3.31865 -0.41468 2.772e-03
## [1] "Oestra.15"
##                         diff       lwr      upr    p adj
## C-RupC_M-Control_M   0.03625  0.003473  0.06903 0.028578
## GMO11_M-Control_M    0.09275  0.035979  0.14952 0.002051
## GMO33+R_M-Control_M  0.09475  0.037979  0.15152 0.001743
## GMO11_M-C-RupA_M     0.09450  0.032310  0.15669 0.003519
## GMO33+R_M-C-RupA_M   0.09650  0.034310  0.15869 0.003017
## GMO11_M-C-RupC_M     0.05650  0.001654  0.11135 0.042634
## GMO33+R_M-C-RupC_M   0.05850  0.003654  0.11335 0.035164
## GMO22+R_M-GMO11_M   -0.09750 -0.159690 -0.03531 0.002795
## GMO33+R_M-GMO22+R_M  0.09950  0.037310  0.16169 0.002402
## [1] "BW.15"
##                      diff      lwr     upr     p adj
## C-RupC_M-Control_M -154.9 -250.554 -59.286 4.688e-05
## C-RupC_M-C-RupA_M  -102.7 -198.334  -7.066 2.532e-02
## C-RupC_M-C-RupB_M  -105.0 -200.614  -9.346 2.010e-02
## GMO11_M-C-RupC_M    139.6   34.226 244.994 1.776e-03
## GMO11+R_M-C-RupC_M  120.4   19.000 221.870 8.089e-03
## GMO22_M-C-RupC_M    129.4   33.776 225.044 1.278e-03
## GMO33_M-C-RupC_M    141.1   45.466 236.734 2.937e-04
## GMO33+R_M-C-RupC_M  105.0    6.789 203.298 2.650e-02

If you’ve actually made it to this point in the document, I applaud you. This is certainly not for the faint of heart. At first glance there do seem to be a lot of “significant” differences, according to Tukey’s HSD. But some perspective is in order. For each sex, there were 48 measured variables. Within each variable, there are 45 possible pairwise comparisons. So there were 2160 possible pairwise comparisons for each sex. By my count, there were a total of 127 “significant” differences for female rats, and 178 “significant” comparisons for male rats. This would be about 7% of the total pairwise comparisons. We used P=0.05 as our cut off value for “significant” differences, so we expect that about 5% of the observed “significant” differences to have occured by chance. So even though 305 differences seems like a lot, it is actually pretty close to what we’d expect to occur due to random variability.

Two other factors are important in interpreting these many, many comparisons; 119 of the “significant” differences involved the high-dose Roundup in the drinking water treatment. This treatment is really not very interesting because we already know that if a rat is given nothing to drink but a commercially formulated pesticide, it is probably not going to fare well. So 39% of the “significant” differences are due to a treatment that isn’t even remotely relevant to real world use of GMOs or pesticides. Unless you plan to drink formulated Roundup at commercial application rates every day for the rest of your life.

And finally, only 47 of the “significant” comparisons were between a treatment and the control group (or about 1.1% of the possible comparisons). The whole reason for using a control group is to compare the treatments against. And these differences were scattered throughout the data set, with no obvious patterns that I could find (except perhaps differences with the above-referenced high dose Roundup treatment).