CANE (Comprehensive Analysis of groups of experiments for Numerous Environments) performs the classical pooled analysis of variance of a balanced series of designed experiments repeated over locations, seasons or years.
A single design-specific function call runs the whole workflow for one design. Choose the function that matches the design actually conducted; there is deliberately no omnibus function covering all five.
| Design | Function |
|---|---|
| Completely randomised design | PooledCRD() |
| Randomised block design | PooledRBD() |
| Latin square design | PooledLSD() |
| Split plot design | PooledSPD() |
| Strip plot design | PooledStPD() |
Each call performs:
transform = "auto", "always" or
"never");Error column; andWhen a treatment-by-environment interaction is significant, the result carries a note pointing to the environment-wise comparisons, which are always returned.
# from CRAN
install.packages("CANE")
# development version from GitHub
# install.packages("remotes")
remotes::install_github("Vinayaka11442/CANE")Commercial cane sugar yield of 18 sugarcane genotypes in a randomised block design with two replications in six environments:
library(CANE)
data(sugarcane)
fit <- PooledRBD(data = sugarcane, Response = "ccsy", Location = "env",
Treatment = "gen", Replication = "rep",
alpha = 0.05, Mult_Comp_Test = 1)
fit$Environment_Key
#> Level n Error_MS Error_df
#> 1 SGA-IP 36 10.7245624 17
#> 2 SGA-IIP 36 20.5435136 17
#> 3 SGA-R 36 10.6075908 17
#> 4 TCSM-IP 36 0.1605052 17
#> 5 TCSM-IIP 36 1.3576430 17
#> 6 TCSM-R 36 3.3007993 17
fit$Bartlett_Test
#>
#> Bartlett's test for homogeneity of error variances (on error mean squares)
#>
#> data: environment-wise error mean squares
#> Bartlett's K-squared = 81.17, df = 5, p-value = 4.77e-16
#> ratio of largest to smallest error mean square = 128
fit$Pooled_ANOVA
#> Source Df Sum Sq Mean Sq F value Pr(>F) Sig Error
#> Environment 5 30753. 6151. 1654. 2.5e-09 *** Rep within Env
#> Rep within Env 6 22.312 3.719 3.719 0.0022 ** Pooled error
#> Treatment 17 503.72 29.63 29.63 < 1e-16 *** Pooled error
#> Treatment x Env 85 1233.5 14.51 14.51 < 1e-16 *** Pooled error
#> Pooled error 102 102.00 1.000
#> Total 215 32614.
#> ---
#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#> 'Error' names the mean square used as the denominator of each F-test.
head(fit$Treatments_Comparison$groups)
#> Treatment Mean Groups Mean_original_scale
#> 1 Co 12009 13.93197 a 15.89367
#> 2 Co 16018 13.66819 a 15.59433
#> 3 Co 17012 12.84143 ab 15.19867
#> 4 Co 14027 12.63899 ab 15.27950
#> 5 Co 12008 11.83662 bc 12.86358
#> 6 Co 86032 11.80427 bcd 14.23675print(fit) shows the complete analysis. The error
variances are strongly heterogeneous here, so the pooled analysis is
carried out on the Aitken-transformed scale; the grouping letters refer
to that scale, and the arithmetic means on the original scale are
reported alongside them.
Every design is checked against reference analyses specified
independently of the package (stratified aov() fits with
Error() strata, sums of squares accumulated from cell
means, restricted maximum likelihood in nlme, design
theory for the degrees of freedom, and the base-R distribution functions
behind the post hoc procedures):
vignette("validation", package = "CANE")CANE implements the fixed-effects pooled analysis of a balanced series. For other situations use:
Version 0.2.0 corrects defects in 0.1.1 that affected numerical
results, including the error strata of the split plot and strip plot
designs. Users who have published analyses produced with 0.1.1 should
re-run them. See the NEWS file (news(package = "CANE")) for
the full list.
citation("CANE")