diff --git a/.Rbuildignore b/.Rbuildignore index a75e3b5a..71533c3e 100644 --- a/.Rbuildignore +++ b/.Rbuildignore @@ -40,3 +40,4 @@ ^pkgdown$ ^CRAN-SUBMISSION$ ^LICENSE\.md$ +^\.github$ diff --git a/.github/.gitignore b/.github/.gitignore new file mode 100644 index 00000000..2d19fc76 --- /dev/null +++ b/.github/.gitignore @@ -0,0 +1 @@ +*.html diff --git a/.github/workflows/pkgdown.yaml b/.github/workflows/pkgdown.yaml new file mode 100644 index 00000000..c9f0165d --- /dev/null +++ b/.github/workflows/pkgdown.yaml @@ -0,0 +1,50 @@ +# Workflow derived from https://github.com/r-lib/actions/tree/v2/examples +# Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help +on: + push: + branches: [main, master] + pull_request: + branches: [main, master] + release: + types: [published] + workflow_dispatch: + +name: pkgdown + +permissions: read-all + +jobs: + pkgdown: + runs-on: ubuntu-latest + # Only restrict concurrency for non-PR jobs + concurrency: + group: pkgdown-${{ github.event_name != 'pull_request' || github.run_id }} + env: + GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} + permissions: + contents: write + steps: + - uses: actions/checkout@v4 + + - uses: r-lib/actions/setup-pandoc@v2 + + - uses: r-lib/actions/setup-r@v2 + with: + use-public-rspm: true + + - uses: r-lib/actions/setup-r-dependencies@v2 + with: + extra-packages: any::pkgdown, local::. + needs: website + + - name: Build site + run: pkgdown::build_site_github_pages(new_process = FALSE, install = FALSE) + shell: Rscript {0} + + - name: Deploy to GitHub pages đ + if: github.event_name != 'pull_request' + uses: JamesIves/github-pages-deploy-action@v4.5.0 + with: + clean: false + branch: gh-pages + folder: docs diff --git a/.gitignore b/.gitignore index 8dd27b17..d24116c9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,21 +1,22 @@ -# Emacs backup files -*~ -\#*\# -# Emacs backups of hidden files, like ".gitignore.~3~" -.*.~*~ -.\#* -# RStudio/R GUI -.Rbuildignore -.RData -.Rhistory -.Rproj.user -*.Rproj -# Vignettes -vignettes/*.bbl -vignettes/*.log -vignettes/*.md -vignettes/*.pdf -vignettes/*.synctex.gz -vignettes/*.tex -revdep -pkgdown +# Emacs backup files +*~ +\#*\# +# Emacs backups of hidden files, like ".gitignore.~3~" +.*.~*~ +.\#* +# RStudio/R GUI +.Rbuildignore +.RData +.Rhistory +.Rproj.user +*.Rproj +# Vignettes +vignettes/*.bbl +vignettes/*.log +vignettes/*.md +vignettes/*.pdf +vignettes/*.synctex.gz +vignettes/*.tex +revdep +docs/ +docs diff --git a/_pkgdown.yml b/_pkgdown.yml new file mode 100644 index 00000000..d71acfb9 --- /dev/null +++ b/_pkgdown.yml @@ -0,0 +1,4 @@ +url: ~ +template: + bootstrap: 5 + diff --git a/docs/404.html b/docs/404.html deleted file mode 100644 index 92c71306..00000000 --- a/docs/404.html +++ /dev/null @@ -1,131 +0,0 @@ - - -
- - - - -../../../Users/wrightkevi/OneDrive/kw_work/rpack/agridat/vignettes/agridat_data.Rmd
- agridat_data.Rmd
title: âAdditional sources of agricultural dataâ | -
author: âKevin Wrightâ | -
date: â2021-12-17â | -
output: | -
rmarkdown::html_vignette: | -
md_extensions: [ | -
â-autolink_bare_urisâ | -
] | -
vignette: > | -
% | -
% | -
% | -
https://catalog.hathitrust.org/Record/000549685
-Full view of research station reports 1859-1920. In German.
-https://www2.stat.duke.edu/courses/Spring01/sta114/data/andrews.html
-Table 2.1: agridat::darwin.maize
-Table 5.1: agridat::broadbalk.wheat
-Table 6.1: agridat::mercer.wheat.uniformity
-Table 6.2: agridat::wiebe.wheat.uniformity
-Table 58.1: agridat::caribbean.maize
-Master thesis. Department of Statistics, Addis Ababa University. One dataset from wheat, RCB, with field coordinates.
- 31 wool from 24 ewes, 6 cuttings
-116 grass NPK factorial, 3 years, 36 obs
-116 2^5 factorial, 1 rep, 32 obs
-117 2^3 factorial, 3 rep
-117 sugar beet 3^3 factorial, 2 rep, 54 obs
-139 alfalfa 3x2^2 factorial
-149 cabbage NPK split-plot, xy, 2 rep, 108 obs
-150 soybean nitro-variety split-plot
-193 wheat variety inc block, 9 block
-201 rice variety balanced lattice, 80 obs
-279 maize covariate, yield & plant count, 4 rep, 32 obs
-https://faculty.washington.edu/heagerty/Books/AnalysisLongitudinal/datasets.html
-Pig weight data is found in SemiPar::pig.weights
Sitka spruce data is found in: geepack::spruce
Milk protein data is found in: nlme::Milk
. A thorough description of this data can be found in Molenberghs & Kenward, Missing Data in Clinical Studies, p. 377. Original source: A. P. Verbyla and B. R. Cullis, Modelling in Repeated Measures Experiments.
192 3x3 factorial
-204 3x2 factorial
-236 2x2x2 factorial with confounding
-257 2x3x2 factorial with confounding
-276 split-plot with layout
-285 nested multi-loc (Also problems page 22)
-350 cubic lattice
-420 balanced inc block
-491 Latin square with covariate
-Small, mostly simulated data.
- 2 83 variety x nitro split-plot - agridat::yates.oats
- 3 104 doubled-haploid barley
- 3 135 wheat/rye competition, heritability
- 5 190 chickpea flowering in families
- 7 250 canola oil gxe, sowing date, rainfall, oil. Si & Walton 2004.
- 7 284 pig growth, 4 diets
- 7 285 sheep milk fat and lactose
- 7 290 wheat anoxia root porosity, 9 gen
- 7 291 wool fibers, 3 trt, 21 animals
- 9 370 alphalpha design (row-column inc block), xy
-10 434 hollamby wheat trial, xy - agridat::gilmour.serpentine
-Agrotech Publishing Academy, 2010. https://archive.org/details/expldesnanddatanalinagblg00023
-43 Percent insect survival in 12 rice varieties, 3 reps
-50 CRD
-57 RCBD
-67 Latin Square
-85 Sampling, 4 rep, 9 trt, 4 sub-samples agridat::grover.rcb.subsample
-88 Split-plot, 3 rep, 2 measurements/plot, plant height (unusual subsample example)
-97 Missing plot
-105 Latin square with missing plot
-115 2^2 factorial, 6 block
-118 2^3 factorial, 3 block
-120 Two factor asymmetrical, 5 rep
-140 2^3 fractional factorial, 3 rep
-160 Split-plot (planting date, variety), 3 rep
-168 Strip-plot, 3 rep
-176 Milk yield with covariate
-188 Multi-year nitrogen treatment
-197 BIBD 13 varieties
-205 Lattice 4 blocks, 3 reps, 16 trt
-226 Augmented BIBD
-236 Group-divisible
-239 PBIB
-241 Augmented group-divisible
-245 Augmented PBIB
-250 6x6 full diallel, 4 rep agridat::grover.diallel
-
-https://archive.org/details/investigationbye0000heat
-? uniformity trial of raddish - agridat::heath.raddish.uniformity
-50 uniformity trial of cabbage 6x8 plots
-Extensive collection of datasets from rice experiments. Many added to agridat.
-First edition: https://archive.org/details/methodsofstatist031744mbp
- 18 Uniformity trial - agridat::goulden.barley.uniformity
-153 Split-split plot with factorial sub-plot treatment - agridat::goulden.splitsplit
-194 Incomplete block
-197 Inc block
-205 Latin square
-208 Inc block
-255 Covariates in feeding trial - agridat::crampton.pig
-Second edition: http://krishikosh.egranth.ac.in/handle/1/2034118
(broken)
216 Latin square - agridat::goulden.latin
-423 Control chart with egg weights - agridat::goulden.eggs
-379 MET 4 year, 2 field, 5 block, 5 gen
-357 alfalfa quadruple lattice
-358 alpha design
-488 split-plot sorghum hybrid,density
-516 alfalfa rcb, two-year
-521 crossover design cattle feedstuff
-Many small datasets.
- 27 uniformity - agridat::goulden.barley.uniformity
-213 split-plot
-234 immer multi-environment
-260 lattice pinto-bean
-276 triple lattice cotton
-280 lattice sugar beet
-289 balanced lattice
-336 repeated wheat
- 79 Latin square
- 89 Split-plot
-103 Split-split
-117 Split-block - agridat::little.splitblock
-126 Repeated harvests
-https://www.wiley.com/legacy/wileychi/chemometrics/datasets.html
-The âNIRâ data has NIR spectra measurements of wheat for the purpose of understanding protein quality.
- 10 weekly milk yields
- 24 carrot weight
- 96 cabbage fertilizer
-143 intercropping cowpea maize
-177 honeybee repellent non-normal
-251 cauliflower poisson - agridat::mead.cauliflower
-273 rhubarb RCB covariate
-296 onion density
-316 lambs
-341 germination
-350 germination factorial - agridat::mead.germination
-352 poppy
-359 lamb loglinear - agridat::mead.lambs
-375 rats
-386 intercrop
-390 intercrop cowpea maize - agridat::mead.cowpeamaize
-404 apple characteristics (incomplete)
-https://books.google.com/books?id=CaFZPbCllrMC&pg=PA323
-323 Turnip spacing data - agridat::mead.turnip
-Design and Analysis of Experiments: Classical and Regression Approaches with SAS. https://books.google.com/books?id=_P3LBQAAQBAJ&pg=PA334
-334 Two examples of 5x5 Graeco-Latin squares in cassava and maize
-https://archive.org/details/secondeditionsta001000mbp
-455 2 factors, 1 covariate - agridat::woodman.pig
-458 1 factor, 2 covariates - agridat::crampton.pig
- 3 Length and number of grains per ear of wheat
-138 Uniformity trial - agridat::panse.cotton.uniformity
-154 RCB 8 blocks
-167 two factorial, 6 rep trial
-178 2^4 factorial, 8 blocks, partial confounding
-192 3^3 factorial, 3 reps/9 blocks, partial confounding
-200 split-plot, 6 rep
-212 strip-plot, 6 rep
-219 cotton variety trial, yield & stand counts
-256 8x8 simpple lattice, 4 reps
-282 5 varieties at 6 locations
-295 5 N levels at 5 locations
-332 4 regions, 9 villages each, 3 treatments
-
-https://archive.org/details/statisticaltechn031729mbp
- 84 Distribution of purple/white starchy/sweet seeds from 11 ears
-190 Sugar cane MET: 2 year, 5 block, 5 variety
-199 Tea MET: 3 year, 2^2 factorial fertilizer
-206 Grass: 4 rep, 2 gen, 4 cutting treatments
-211 Cotton: 4 dates, 3 spacings, 3 irrigation, 2 nitro - agridat::gregory.cotton
-8 Uniformity trial 18 * 6 plots
-56 RCB 4 rep, 5 trt
-71 Latin square 5x5
-86 Factorial 4x2, 3 rep
-97 Factorial 2x3x2, 3 rep
-125 Fertilizer trial, 3 rep, 5 levels
-136 Split plot variety x planting date, 3 rep
-148 Strip plot 2 potash x 3 potassium, 3 rep
-170 Augmented breeding trial with 3 checks, 6 inc blocks
-174 Inc Block
-182 Lattice 5x5, 2 rep
-192 GxE 10 gen, 12 env. Stability analysis.
-208 Factorial 2x3 at 8 locs, homogeneous variance, early lentils
-217 GxE 8 gen, 5 loc, heterogeneous variance
-232 Factorial 2x3 at 8 locs, late lentils (see also page 208)
-249 On-farm trial, 24 entries, 3 rep RCB
-257 Demonstration trials, 5 locs
-272 Covariance example, RCB 6 rep, 4rt
-278 Multi-year 2x2 factorial, 4 rep
-309 Pasture trial
-323 On-farm trial, 2 variety 8 loc
-327 On-farm trial 6 trt, 5 loc
-334 On-farm trial 4 trt, 6 loc
-343 On-farm trial 2x3 factorial, 3 loc
-351 Feeding trial, 2 trt, 2 periods
-357 Intercrop, 2 crops
-372 Intercrop, 2 crop, 4 mixtures, 4 rep. agridat::petersen.sorghum.cowpea
-19 456 2x2x4 Factorial, 2 rep
-19 466 2x4 factorial, layout, plot size, kale (from Rothamsted)
-19 466 3x5 factorial, 3 rep, potato
-20 494 3x4 Split-plot with layout
-21 505 2x2x2 Factorial, 5 rep
-21 515 2x2x2x2 Factorial, 3 rep, with layout. (Evaluated, rejected as too variable)
-22 537 2x2x2 factorial, 6 rep, potato
-22 537 2x2x2x2 factorial, 2 rep, wheat, layout
-https://archive.org/details/in.ernet.dli.2015.176662
-5 - Length of ear head and number of grains per ear, 400 ears.
-95 - variety RCB, 5 gen, 25 rep, diagonal layout
-107 - Latin square, 8 entries.
-117 - Factorial: 8 blocks, 3 varieties, 5 treatments, 2 infections
-126 - Multi-environment trial, 3 year, 13 varieties, 2 loc, 5 blocks agridat::shaw.oats
-
-168 regression
-352 3x3 factorial, 4 blocks
-359 2x2x2 factorial, 8 blocks, daily pig gain
-362 2x3x4 factorial, 2 blocks, daily pig gain
-371 3x4 split-plot, 3 var, 4 date, 6 blocks
-374 2x3x3 split-split-plot, irrig, stand, fert, block
-378 4x4 split-plot, 4 block, 4 year, 4 cuttings asparagus
-384 regression with 2 predictors
-428 covariates, 6 varieties, 4 blocks, yield vs stand
-440 pig gain vs initial weight, 4 treatments, 40 pigs
-454 protein vs yield for wheat, 91 plots, quadratic regression
-
-154 Mint plant growth, 2-way + pot + plant
-244 Trivariate data
-319 Regression with three predictors
-384 Split-plot yield
-387 Split-plot row spacing
-400 Soybean 3 loc
-423 Pig weight gain
-429 Guinea pig weight gain
-434 Soybean lodging
-Many datasets. Some added to agridat.
-The online-supplements contain many small datasets for the examples and exercises.
-Extensive data for detection of pesticides in water samples. See Appendix 5 and Appendix 6 of the supporting info. https://water.usgs.gov/nawqa/pnsp/pubs/circ1291/supporting_info.php
-https://data.nal.usda.gov/about-ag-data-commons https://data.nal.usda.gov/search/type/dataset
-https://datacommons.cyverse.org/ https://datacommons.cyverse.org/browse/iplant/home/shared/commons_repo/curated
-https://dataverse.harvard.edu/
-IRRI Rice Research includes plot-level data for long term rice experiments. https://dataverse.harvard.edu/dataverse/RiceResearch
-https://lib.dr.iastate.edu/ag_researchbulletins/
-Vol 26/ 281. Cox: Analysis of Lattice and Triple Lattice.
-Page 11: Lattice, 81 hybs, 4 reps
-Page 24: Triple lattice, 81 hybs, 6 reps
-
-Vol 29/347. Homeyer. Punched Card and Calculating Machine Methods for Analyzing
- Lattice Experiments Including Lattice Squares and the Cubic Lattice.
-Page 37: Triple lattice (9 blocks * 9 hybrids) with 6 reps.
-Page 60: Simple lattice, 8 blocks * 8 hybrids, 4 reps.
-Page 76: Balanced lattice, 25 hybrids
-Page 87: Lattice square with (k+1)/2 reps, 121 hybrids, 6 rep
-Page 109: Lattice square with k+1 reps, 7 blocks * 7 hyb, 8 reps
-Page 126: Cubic lattice, 16 blocks * 4 plots = 64 varieties, 9 reps, cotton
-
-Vol 32/396. Wassom. Bromegrass Uniformity Trial: agridat::wassom.bromegrass.uniformity
-
-Vol 33/424. Heady. Crop Response Surfaces and Economic Optima in
- Fertilizer - agridat::heady.fertilizer
-
-Vol 34/358. Schwab. Research on Irrigation of Corn and Soybeans At Conesville.
-Page 257. 2 year, 2 loc, 4 rep, 2 nitro. Stand & yield.
- Nice graph of soil moisture deficit (fig 9)
-
-Vol. 34/463. Doll. Fertilizer Production Functions for Corn and Oats.
-Table 1, 1954 Clarion Loam. N,P,K.
-Table 14, 1955 McPaul Silt Loam. N,P.
-Table 25, 1955 corn. K,P,N.
-Table 31, 1956 oats, K,P,N. Trends difficult to establish.
-
-Vol 34/472. Pesek. Production Surfaces and Economic Optima For Corn Yields.
- Same data published in SSA journal?
-
-Vol 34/488. Walker. Application of Game Theory Models to Decisions.
-
-Vol 35/494. North Central Regional Potassium Studies with Alfalfa.
-Page 176. Two years, several locs per state, multiple states, multiple fertilizer
- levels, multiple cuttings. Soil test attributes.
-Page 183. Yield and %K.
-
-Vol 35/503. North Central Regional Potassium Studies with Corn.
-Xavier, Alencar et al.. Genome-Wide Analysis of Grain Yield Stability and Environmental Interactions in a Multiparental Soybean Population. https://doi.org/10.1534/g3.117.300300
-Data are in the SoyNAM and NAM packages.
-Cleveland, M.A. and John M. Hickey, Selma Forni (2012). A Common Dataset for Genomic Analysis of Livestock Populations. G3, 2, 429-435. https://doi.org/10.1534/g3.111.001453
-The supplemental information for this paper contains data for 3534 pigs with high-density genotypes (50000 SNPs), and a pedigree including parents and grandparents of the animals.
-Daillant-Spinnler (1996). Relationships between perceived sensory properties and major preference directions of 12 variaties of apples from the southern hemisphere. Food Quality and Preference, 7(2), 113-126. https://doi.org/10.1016/0950-3293(95)00043-7
-The data are in ClustVarLV::apples_sh$pref
and ClustVarLV::apples_sh$senso
12 apple varieties, 43 traits, 60 consumers
Gregory, Crowther & Lambert (1932). The interrelation of factors controlling the production of cotton under irrigation in the Sudan. Jour Agric Sci, 22, p. 617.
-Hedrick (1920). Twenty years of fertilizers in an apple orchard. https://books.google.com/books?hl=en&lr=&id=SqlJAAAAMAAJ&oi=fnd&pg=PA446
-The authors found no significant differences between fertilizer treatments.
-Meehan & Gratton (2016). A Landscape View of Agricultural Insecticide Use across the Conterminous US from 1997 through 2012. PLOS ONE, https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0166724
-Supplemental material contains county-level data for each of 4 years. Complete R-INLA code for analysis.
-Monteverde et al Integrating Molecular Markers and Environmental Covariates To Interpret Genotype by Environment Interaction in Rice (Oryza sativa L.) Grown in Subtropical Areas https://doi.org/10.1534/g3.119.400064 https://gsajournals.figshare.com/articles/dataset/Supplemental_Material_for_Monteverde_et_al_2019/7685636
-Supplemental information contains phenotypic data and markers and environmental covariates for PLS analysis.
-Roger W. Hexem, Earl O.Heady, Metin Caglar (1974) A compendium of experimental data for corn, wheat, cotton and sugar beets grown at selected sites in the western United States and alternative production functions fitted to these data. Technical report: Center for Agricultural and Rural Development, Iowa State University. https://babel.hathitrust.org/cgi/pt?id=wu.89031116783;view=1up;seq=3
-The technical report provides data from experiments on corn, wheat, cotton & sugar beets, each crop tested at several locations over two years, with a factorial structure on irrigation and nitrogen treatments, with replications. Three polynomial functions were fit to the data for each location (quadratic, square root, three-halves).
-Kenward, Michael G. (1987). A Method for Comparing Profiles of Repeated Measurements. Applied Statistics, 36, 296-308.
-An ante-dependence model is fit to repeated measures of cattle weight.
-Klumper & Qaim (2015). A Meta-Analysis of the Impacts of Genetically Modified Crops. https://doi.org/10.1371/journal.pone.0111629
-Nice meta-analysis dataset. Published data only include differences, not standard-errors. See the comments on PLOS article for some peculiarities in the data.
-Lado, B. et al. (2013). Increased Genomic Prediction Accuracy in Wheat Breeding Through Spatial Adjustment of Field Trial Data. G3, 3, 2105-2114. https://doi.org/10.1534/g3.113.007807
-Has a large haplotype dataset (83 MB) and two-year phenotype data with multiple traits.
-Payne, Roger (2015). The Design and Analysis of Long-Term Rotation Experiments. Agronomy Journal, 107, 772-784. https://doi.org/10.2134/agronj2012.0411
-The data and R code appeared in the paper. Free access, but closed copyright.
-Peixoto, Marco Antonio et al (2020) Random regression for modeling yield genetic trajectories in Jatropha curcas breeding. https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0244021
-Repeated measurements over six years. Data in supplemental Word doc.
-Snedecor, George and E. S. Haber (1946). Statistical Methods For an Incomplete Experiment on a Perennial Crop. Biometrics Bulletin, 2, 61-67. https://www.jstor.org/stable/3001959
-Harvest of asparagus over 10 years, three cutting dates per year, 6 blocks.
-Tanaka, Takashi X. T. Assessment of design and analysis frameworks for on-farm experimentation through a simulation study of wheat yield in Japan. https://github.com/takashit754/geostat
-Yield-monitor data for 3 fields.
-Technow, Frank, et al. (2014). Genome Properties and Prospects of Genomic Prediction of Hybrid Performance in a Breeding Program of Maize. August 1, 2014 vol. 197 no. 4 1343-1355. https://doi.org/10.1534/genetics.114.165860
-Genotype and phenotype data appears in the sommer package.
-Tian, Ting (2015). Application of Multiple Imputation for Missing Values in Three-Way Three-Mode Multi-Environment Trial Data. https://doi.org/10.1371/journal.pone.0144370
-Uses agridat::australia.soybean
data and one other real dataset with 4 traits that are not identified. All data and code available.
Randall J. Wisser et al. (2011). Multivariate analysis of maize disease resistances suggests a pleiotropic genetic basis and implicates a GST gene. PNAS. https://doi.org/10.1073/pnas.1011739108
-The supplement contains genotype data, but no phenotype data.
-Rife et al. (2018) Genomic analysis and prediction within a US public collaborative winter wheat regional testing nursery. https://doi.org/10.5061/dryad.q968v83
-Large phenotypic dataset with 691 wheat lines, 33 years, 670 environments, 3-4 reps, 120000 datapoints. No genotypic data is included.
-van der Voet et al. (2017). Equivalence testing using existing reference data: An example with genetically modified and conventional crops in animal feeding studies. https://doi.org/10.1016/j.fct.2017.09.044
-The full datasets for the GRACE studies A-E are available here: https://www.cadima.info/index.php/area/publicAnimalFeedingTrials CC license.
-Yan, Weikei (2002). Singular value partitioning in biplots. Agron Journal.
-Winter wheat, 31 gen in 8 loc. This data is different from Yanâs earlier papers. Unfortunately, the data given in the paper are missing two rows.
-https://github.com/OnofriAndreaPG/agriCensData
-Three datasets with censored observations for the paper âAnalyzing interval-censored data in agricultural research: A review with examples and software tipsâ.
-https://myaseen208.github.io/agriTutorial/
-Five datasets used to illustrate analyses.
-https://github.com/OnofriAndreaPG/agroBioData
-Datasets for agriculture and applied biology. Referenced by this blog: https://www.statforbiology.com/
-Data aml::wheat
genetic and phenotypic data for wheat. Modest size.
Has an A matrix (but no pedigree) for 499 genotypes at 4 locations.
-Has an A matrix (but no pedigree) for 499 genotypes at 4 locations.
-Has nice herbicide dose response curves and germination data for mungbean, rice, wheat.
-https://github.com/chgigot/epiphy
-Contains 10 historical datasets for plant disease epidemics.
-https://github.com/lian0090/FW/
-Has phenotype data and marker data for 599 wheat lines in 4 environments.
-https://doi.org/10.18637/jss.v089.i13
-Data sbGeneal
contains a soybean pedigree with 230 varieties.
https://github.com/OnofriAndreaPG/lmDiallel/tree/master/data
-Data lmtest::ChickEgg
time series of annual chicken and egg production in the United States 1930-1983.
Miguez. Non-linear models in agriculture. nlraa::sm
= agridat::miguez.biomass
Vignettes and functions for working with (non)linear mixed models
nlme::Orange
: Growth of orange trees
nlme::Soybean
: Growth of soybean plants. From the book âNonlinear Models for Repeated Measurement Dataâ.
pbkrtest::beets
Yield and percent sugar in split-plot experiment.
https://r-forge.r-project.org/projects/plantbreeding/
-Data: fulldial
-Data: linetester
-Data: peanut same as agridat::kang.peanut
-This package has county-level data from the United States Census of Agriculture, along with a vignette to illustrate survey sampling analyses.
-https://ncss-tech.github.io/AQP/soilDB/soilDB-Intro.html Soil database interface.
-Data: h2. Modest-sized GxE experiment in potato Data: cornHybrid. Yield/PLTHT for 100 hybrids from 20 inbred * 20 inbred, 4 locs. Phenotype and relationship matrix.
-Data:
-data(DT_wheat) # CIMMYT wheat data
-DT_wheat # 599 varieties, yield in 4 envts
-GT_wheat # 599 varieties, 1279 markers coded -1,1
-Data: RICE
-Data: FDdata taken from agridat::bond.diallel
-Data:
-data(DT_technow) # From http://www.genetics.org/content/197/4/1343.supplemental
-DT <- DT_technow # 1254 hybs, parents, GY=yield, GM=moisture
-Md <- Md_technow # 123 dent parents, 35478 markers
-Mf <- Mf_technow # 86 flint parents, 37478 markers
-Ad <- Ad_technow # 123 x 123 A matrix
-Af <- Af_technow # 86 x 85 A matrix
-Dataset with phenotype data 3 yr, 9 locations, 18 environments, 60 thousand observations for height, maturity, lodging, moisture, protein, oil, fiber, seed size. There are 5000+ strains, 40 families.
-Data formatted for the analysis of the NAM package is available with the following command: SoyNAM::ENV()
.
Has a vignette âThe Problem of Spatial Autocorrelation: forty years onâ that examines agriculture in Irish counties. See also the data ade4::irishdata
.
Data: spuRs::trees
has data for 107 trees that were cut into cross sections with the volume calculated at roughly 10-year increments. This is a subset of the much-larger original data from Guttenberg: https://archive.org/stream/wachstumundertra00gutt
https://CRAN.R-project.org/package=statgenSTA See vignette: Modeling field trials using statgenSTA
-https://CRAN.R-project.org/package=statgenGWAS
-Includes a worked example with data from: https://data.inra.fr/dataset.xhtml?persistentId=doi:10.15454/IASSTN
-https://www.genomes2fields.org/publications/
- -Very large GxE data here for 2014 and 2015. Hybrid & inbred phenotype data, weather data, genomic data. Very nice.
-https://wheat.pw.usda.gov/ggpages/HxT/ The Harrington x TR306 Barley Mapping Population. The genotype and phenotype data comes from Mapmaker, but seems to be in a slightly non-standard format; 145 DH lines, 217 markers, 25 env, 1 rep.
https://wheat.pw.usda.gov/ggpages/SxM/ . This data is agridat::steptoe.morex.
https://www.ideals.illinois.edu/handle/2142/3528 Data File : Raw data from each ear analyzed each year of the Illinois long-term selection experiment for oil and protein in corn (1896-2004)
-Case study 4 is a nice diallel example with sheep data. Available as agridat::ilri.sheep
-STAR, PBTools, CropStat. The STAR user guide has well-documented data (even using 2 from agridat), but the PBTools user guide does not document the data.
-http://www.era.rothamsted.ac.uk/index.php Data from Broadbalk and other long-term experiments.
-Github draft data: https://github.com/Rothamsted-Ecoinformatics/YieldbookDatasetDrafts
-http://www.era.rothamsted.ac.uk/eradoc/collections.php
-Annual reports from Rothamsted 1908-1987. Many have data, especially in the early years (before WWII) there are data given for the âClassical Experimentsâ.
-Year, page
-1908-1926
-1926-1927 agridat::sawyer.multi.uniformity
-1927-1928 agridat::sawyer.multi.uniformity
-1929-1930
-1931,143 agridat::yates.oats
-1932
-1933
-1934,215-222 Sugar beet multi-environment trial with 3^3 fertilizer
- treatments at each site Roots, SugarPercent, SugarWeight, PlantNumber, Tops, Purity.
-1935
-1936,241 Similar to the 1934 experiment, but only gives the main effects,
- not the actual data.
-1937-1939
-1946-1953
-rstats4ag.org (no http included here because of firewall problems).
-Datasets for mixed models, ancova, dose response curves, competition.
-https://www.ideaconnection.com/syngenta-crop-challenge/
-Annual Kaggle-style competition sponsored by Syngenta.
-Sensor observations, plant phenotypes, derived traits, genetic and genomic data. Beta version until Nov 2018.
-https://www.nass.usda.gov https://quickstats.nass.usda.gov/
-Group: Field Crops Commodity: Corn Category: Area Harvested, Yield Data Item: Corn grain Acres Harvested, Yield Bu/Ac Domain: Total Geography: State See agridat::nass.corn
, nass.wheat, etc.
https://www.rothamsted.ac.uk/library-and-information-services
-Archive catalog.
-Box of uniformity trial data
-STATS17 WG Cochran
-
-Uniformity trial data.
-Genstat data. Data received since publication of the catalogue. 1935-1943.
-Uniformity trial data. 1930-1936.
-Uniformity trials. 1936-1938.
-Uniformity trials. R data. 1936-1937.
-O. V. S. Heath. Cotton uniformity trial data. 1934-1935.
-Data. Yields of grain per foot length. 1934.
-Catalogue of field uniformity trial data. N. d.
-Demandt. 1931. One box
-../../../Users/wrightkevi/OneDrive/kw_work/rpack/agridat/vignettes/agridat_examples.Rmd
- agridat_examples.Rmd
title: âGraphical Gems in the agridat Packageâ | -
author: âKevin Wrightâ | -
date: â2021-12-17â | -
output: | -
rmarkdown::html_vignette: | -
md_extensions: [ | -
â-autolink_bare_urisâ | -
] | -
bibliography: agridat.bib | -
vignette: > | -
% | -
% | -
% | -
The agridat
package is an extensive collection of data sets that have been previously published in books and journals, primarily from agricultural experiments.
This vignette presents graphical views of a few of the datasets in this package.
-This exhibit of agricultural data uses the following packages: agridat
, desplot
, gge
, HH
, lattice
, latticeExtra
, mapproj
, maps
, reshape2
.
## Loading required package: desplot
-
-(lee2009random?) analyzed a large dataset to evaluate the resistance of potato varieties to blight. This data contains evaluations of a changing set of varieties every two years, evaluated in 5 blocks, repeatedly throughout the growing season to track the progress of the disease. Each panel shows a field map on the given date, with a separate row of panels for each year.
-Would you include field spatial trends in a model for these data?
-## Loading required package: latticeExtra
-## Loading required package: lattice
-
-In 1983, 20 varieties were evaluated in 5 blocks (shown by colored numbers) throughout the growing season for disease resistance. Resistance scores start at 9 for all varieties (shown in panels). As the growing season progresses, the âI.HARDYâ variety succumbs quickly to blight, while âIWAâ succumbs steadily, and â064.1â resists blight until near the end of the season.
-Does this view show differences between blocks?
-(harrison2012bayesian?) used a Bayesian approach to model daidzein levels in soybean samples. From 18 previous publications, they extracted the published minimum and maximum daidzein levels, and the number of samples tested. Each line in the dotplot shows large, dark dots for one published minimum and maximum. The small dots are imputed using a lognormal distribution.
-All observed/imputed data were then used to fit a common lognormal distribution that can be used as an informative prior. The common prior is shown by the density at the top of the dotplot.
-Do you think it is better to use a non-informative prior, or this informative prior?
-(mead2002statistical?) present data for germination of seeds under four temperatures (T1-T4) and four chemical concentrations. For each of the 4*4=16 treatments, 50 seeds were tested in each of four reps. In the graphic, each point is one rep. The blue line is a fitted curve from a GLM with Temperature as a factor and log concentration as a covariate. The gray lines show the central 95 percent of the binomial density at that position.
-Does this display help you understand the logit link and changing shape of the binomial density?
-(gomez1984statistical?) provide data for an experiment with 3 reps, 6 genotypes, 3 levels of nitrogen and 2 planting dates. The experiment layout is putatively a ââsplit strip-plotââ. To verify the design, the desplot
package is used for plotting the design of field experiments.
How is the design different from a ââsplit-split-plotââ design?
-## Loading required package: HH
-## Loading required package: grid
-## Loading required package: multcomp
-## Loading required package: mvtnorm
-## Loading required package: survival
-## Loading required package: TH.data
-## Loading required package: MASS
-##
-## Attaching package: 'TH.data'
-## The following object is masked from 'package:MASS':
-##
-## geyser
-## Loading required package: gridExtra
-
-(heiberger2004statistical?) provide an interesting way to use lattice graphics to visualize the main effects (using boxplots) and interactions (using interaction plots) in data. Rice yield is plotted versus replication, nitrogen, management type, and genotype variety. Box plots show minor differences between reps, increaing yield due to nitrogen, high yield from intensive management, and large differences between varieties.
-Do you think interaction plots show interaction (lack of parallelism)?
-Note: This image was created by manual manipulation of an rgl
device. The manual manipulation makes this non-reproducible in an Rmd
file. See the example for the sinclair.clover
data for the code.
(sinclair1994sulphur?) examined clover yields as a function of sulfur and phosphorous fertilizer in a factorial-treatment experiment. (dodds1996bivariate?) modeled the yield response using a Mitzerlisch-like equation that allows interacting curvature in two dimensions \(x\) and \(y\): \[ -yield = \alpha * \left( 1 + \beta *\left(\frac{\sigma + \tau*x}{x+1}\right)^y\right) * -\left( 1+\delta*\left(\frac{\theta + \rho *y}{y+1}\right)^x \right) -\]
-The blue dots are observed data, and the tan surface is the fitted surface drawn by the rgl
package).
How would you decide the optimal fertilizer levels?
-(keen1997analysis?) looked at damage to potatoes caused by lifting rods during harvest. In this experiment, eight types of lifting rods were compared. Two energy levels, six genotypes and three weight classes were used. For each combinations of treatments, about 20 potato tubers were rated as undamaged (D1, yellow) to severely damaged (D4, red). Counts per treatment are shown in a mosaic plot.
-Which style of lifting rods cause the least/most damage to potatoes?
-(wright2013revisiting?) investigated the lattice::barley
data. The original two years of data were extended to 10 years (from original source documents), and supplemented with weather covariates for the 6 locations and 10 years. Each panel shows a scatterplot and regression for average location yield verses the weather covariate. Horizontal strips are for locations, vertical strips are for covariates: cdd = Cooling Degree Days, hdd = Heating Degree Days, precip = Precipitation). Higher values of heating imply cooler weather. Each plotting symbol is the last digit of the year (1927-1936) for that location.
Does barley yield better in cooler or warmer weather?
-(laffont2013genotype?) developed a variation of the GGE (genotype plus genotype-by-environment) biplot to include auxiliary information about a block/group of environments. Each location is classified into one of two mega-environments (colored). The mosaic plots partition variation simultaneously by principal component axis and source (genotype, genotype-by-block, residual).
-Which genotypes are best to each mega-environment?
-## Loading required package: maps
-## Loading required package: mapproj
-
-The Red-Blue palette in the RColorBrewer
package is a divergent palette with light colors near the middle of the scale. This can cause problems when there are missing values, which appear as white (technically, the background). In order to increase the visibility of missing values, the agridat
package uses a Red-Gray-Blue palette, with a gray color that is dark enough to clearly distinguish missing values.
How does the outlier county (Butler) in northeast Nebraska limit interpration of spatial patterns in the data?
- -Because counties are different sizes, the second graphic uses an income rate per square mile. Because of the outlier, it might be smart to use percentile break points, but doing so hides the outlier. Instead, the break points are calculated using a method called Fisher-Jenks. These break points show both the outlier and the spatial patterns. It is now easy to see that northwest (Sandhills) Nebraska has low farming income, especially for crops. Counties with missing data are white, which is easily distinguished from gray.
-Where are farm incomes highest? Why?
-(anselin2004spatial?) and (lambert2004comparison?) looked at yield monitor data collected from a corn field in Argentina in 1999 and 2001, to see how yield was affected by field topography and nitrogen fertilizer. The figures here show heatmaps for the yield each year, and also the experiment design (colors are reps, shades of color are nitrogen level, plotting character is topography).
-Which year showed greater spatial variation in yield?
-The National Agricultural Statistics Service tracks the total number of acres planted to corn (and other crops) for each state in the U.S. There are large changes over the past century in corn acreage for selected states.
-Which states were in the corn belt in 1925?
-Which states were in the corn belt in 2000?
-agridat
-../../../Users/wrightkevi/OneDrive/kw_work/rpack/agridat/vignettes/agridat_intro.Rmd
- agridat_intro.Rmd
For a quick overview of the datasets available in the package, type ?agridat
at the R prompt.
When this project was first begun in the early 2000s, electronic versions of agricultural datasets were hard to find. Since then, there has been a revolution in the availability of datasets related to agriculture. See the vignette which describes some data sources.
-Box (1957) said, âI had hoped that we had seen the end of the obscene tribal habit practiced by statisticians of continually exhuming and massaging dead data sets after their purpose in life has long since been forgotten and there was no possibility of doing anything useful as a result of this treatment.â
-Massaging these dead data sets will not lead to any of the genetics being released for commercial use. The value of this package is: 1. Validating published analyses. 2. Providing data for testing new analysis methods. 3. Illustrating (and validating) the use of R packages.
-White and van Evert (2008) present some guidelines for publication of data.
-Some of the examples use the asreml
package since it is the only R tool for fitting mixed models with complex variance structures to large datasets, and the best option for modelling AR1xAR1 residual variance structures. Commercial use of asreml
requires a license: https://www.vsni.co.uk/downloads/asreml.
Many of these datasets appear in electronic form here for the first time.
-A tremendous amount of effort has been given to the curating process of identifying datasets, extracting the data from source materials, checking data values, and documenting the data. In effect, to make the data somewhat âcomputableâ (Wolfram 2017).
-The original sources for these data use different words to refer to genotypes including accession
, breed
, cultivar
, genotype
, hybrid
, line
, progeny
, stock
, type
, and variety
. For consistency, these datasets mostly use gen
(genotype).
Also for consistency, row
and col
are usually used for the field coordinates.
In dataframes, block
, rep
, and similar terms are almost always coded like B1, B2, B3 instead of 1, 2, 3. This causes R to treat the data as a factor instead of a numeric covariate (which is a good thing).
Almost all of the data are presented as âtidyâ dataframes with observations in rows and variables in columns.
-Although using data()
is not necessary to access the data files, the example sections do include the use of data()
because devtools::run_examples()
needs it.
G. E. P. Box (1957). Integration of Techniques in Process Development, Transactions of the American Society for Quality Control.
-J. White and Frits van Evert. (2008). Publishing Agronomic Data. Agronomy Journal, 100, 1396-1400. https://doi.org/10.2134/agronj2008.0080F
-Stephen Wolfram (2017). Launching the Wolfram Data Repository: Data Publishing that Really Works. https://writings.stephenwolfram.com/2017/04/launching-the-wolfram-data-repository-data-publishing-that-really-works/
-agridat_papadakis.Rmd
Papadakis (1937) believed that traditional blocking in field experiments did not adequately represent the patchiness of soil fertility patterns and he instead proposed adjusting the yield of each plot by the performance of the neighboring plots.
-If there is heterogeneity in the field that is of a scale smaller than the block (but larger than the individual plots) then adjacent plots will be positively correlated and this information about the neighboring plots can be used to reduce the effect of spatial heterogeneity and increase the accuracy of the treatment effects.
-The Papadakis method is a nearest neighbor method that uses a residual covariate in the analysis. In essence, the method follows the following steps.
-Fit a treatment model and calculate the residuals from the model.
Calculate covariates that are the average of the neighboring residuals.
Fit a model with additional covariate terms for the residuals.
The left-right (LR) covariate for the (i,j)th plot is the average of the residuals for the plots immediately to the left and right of the (i,j)th plot. If one of these neighbors is missing, then the covariate is constructed from the single remaining neighboring residual. Border plots use only one neighboring residual. The up-down (UD) covariate is similarly constructed from residuals for plots immediately up or down from the (i,j)th plot.
-papcov <- function(resid,x,y){
-
- # Make sure x and y are numeric
- if(is.factor(x)) x <- as.numeric(as.character(x))
- if(is.factor(y)) y <- as.numeric(as.character(y))
- xy <- paste(x,y,sep=":")
-
- # Average neighboring residuals in up/down direction
- xym1 <- paste(x,y-1,sep=":")
- xyp1 <- paste(x,y+1,sep=":")
- rm1 <- resid[match(xym1,xy,NA)]
- rp1 <- resid[match(xyp1,xy,NA)]
- ud <- (rm1+rp1)/2
- # If only one neighboring residual is available, then just use it
- ud <- ifelse(is.na(ud) & !is.na(rm1),rm1,ud)
- ud <- ifelse(is.na(ud) & !is.na(rp1),rp1,ud)
-
- # Average neighboring residuals in left/right direction
- xm1y <- paste(x-1,y,sep=":")
- xp1y <- paste(x+1,y,sep=":")
- cm1 <- resid[match(xm1y,xy,NA)]
- cp1 <- resid[match(xp1y,xy,NA)]
- lr <- (cm1+cp1)/2
- # If only one neighboring residual is available, then just use it
- lr <- ifelse(is.na(lr) & !is.na(cm1),cm1,lr)
- lr <- ifelse(is.na(lr) & !is.na(cp1),cp1,lr)
-
- return(list(LR=lr, UD=ud))
-}
Hinz (1987) used the Papadakis technique to analzye a field experiment of tobacco.
-library("agridat")
-data(federer.tobacco)
-dat <- federer.tobacco
-dat <- transform(dat, height=height-600) # For simplicity
-
-# Model 1 - RCB
-m1 <- aov(height ~ factor(block) + factor(dose), dat)
-anova(m1)
## Analysis of Variance Table
-##
-## Response: height
-## Df Sum Sq Mean Sq F value Pr(>F)
-## factor(block) 7 388315 55474 1.8352 0.1056
-## factor(dose) 6 273875 45646 1.5100 0.1985
-## Residuals 42 1269586 30228
-# Model 2 - Row/Col as class variables
-m2 <- aov(height ~ factor(block) + factor(dose) + factor(row), dat)
-anova(m2)
## Analysis of Variance Table
-##
-## Response: height
-## Df Sum Sq Mean Sq F value Pr(>F)
-## factor(block) 7 388315 55474 7.5455 1.355e-05 ***
-## factor(dose) 6 273875 45646 6.2088 0.0001521 ***
-## factor(row) 6 1004920 167487 22.7816 6.767e-11 ***
-## Residuals 36 264666 7352
-## ---
-## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
-# Model 3 - Two-step Papadakis
-m3 <- aov(height ~ factor(dose), dat)
-dat <- cbind(dat, papcov(m3$resid, dat$block, dat$row))
-m4 <- aov(height ~ factor(dose) + LR + UD, data=dat)
-anova(m4)
## Analysis of Variance Table
-##
-## Response: height
-## Df Sum Sq Mean Sq F value Pr(>F)
-## factor(dose) 6 273875 45646 3.6857 0.004407 **
-## LR 1 1061352 1061352 85.6998 3.636e-12 ***
-## UD 1 14477 14477 1.1689 0.285136
-## Residuals 47 582073 12385
-## ---
-## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
-
-## [1] 12653.76
-Stroup, Baenziger, and Mulitze (1994) used the Papadakis tecnique in an iterative manner.
-library("agridat")
-data(stroup.nin)
-dat2 <- stroup.nin
-dat2 <- subset(dat2,!is.na(yield))
-n.gen <- nlevels(dat2$gen)
-
-# RCB model, ranks match Stroup Table 2, RCB Alliance
-m5 <- lm(yield ~ gen -1 + rep, data=dat2)
-pred.rcb <- coef(m5)[1:n.gen] # RCB adj means
-rev(57-sort(rank(pred.rcb)))
## genNE86503 genNE87619 genNE86501 genRedland genCenturk78 genNE83498
-## 1 2 3 4 5 6
-## genSiouxland genNE86606 genArapahoe genNE87613 genNE86607 genLancer
-## 7 8 9 10 11 12
-## genTAM107 genCheyenne genNE87446 genHomestead genScout66 genNE83404
-## 13 14 15 16 17 18
-## genColt genNE86509 genNE87513 genLancota genNE85556 genNE87408
-## 19 20 21 22 23 24
-## genBrule genNE87463 genNE87615 genBuckskin genNE87403 genNE87522
-## 25 26 27 28 29 30
-## genNE87451 genNE86582 genGage genNorkan genNE86482 genNE83406
-## 31 32 33 34 35 36
-## genKS831374 genNE87457 genNE86507 genVona genNE87512 genNE87627
-## 37 38 39 40 41 42
-## genNE83407 genNE86527 genNE87612 genNE85623 genCentura genNE83T12
-## 43 44 45 46 47 48
-## genNE86T666 genNE87409 genTAM200 genCody genRoughrider genNE84557
-## 49 50 51 52 53 54
-## genNE87499 genNE83432
-## 55 56
-# Initial genotype model (no blocks)
-m6 <- lm(yield ~ gen -1, data=dat2)
-# Calculate Papadakis covariates
-pp <- papcov(resid(m6), dat2$col, dat2$row)
-dat2$LR <- pp$LR
-dat2$UD <- pp$UD
-# Single iteration of Papadakis model
-m7 <- lm(yield ~ gen - 1 + LR + UD, data=dat2)
-# Papadakis adjusted means
-adjmn <- coef(m7)[1:n.gen]
-# Residual = observed - adjusted mean
-resid <- dat2$yield - adjmn[match(paste0("gen",dat2$gen),names(adjmn))]
-
-# Now iterate Papadakis method to convergence
-iter <- 0
-notConv <- TRUE
-while(notConv){
- iter <- iter + 1
- # Covariates based on residuals
- pp <- papcov(resid, dat2$col, dat2$row)
- dat2$LR <- pp$LR
- dat2$UD <- pp$UD
- m8 <- lm(yield ~ gen - 1 + LR + UD, data=dat2)
- # Check convergence of adjusted means
- prevmn <- adjmn
- adjmn <- coef(m8)[1:n.gen]
- tol <- sum((adjmn - prevmn)^2)
- cat("Iteration: ",iter," tol: ",tol,"\n")
- notConv <- tol > .001
- resid <- dat2$yield - adjmn[match(paste0("gen",dat2$gen),names(adjmn))]
-}
## Iteration: 1 tol: 51.60518
-## Iteration: 2 tol: 7.823055
-## Iteration: 3 tol: 1.445812
-## Iteration: 4 tol: 0.3619413
-## Iteration: 5 tol: 0.09555693
-## Iteration: 6 tol: 0.02840853
-## Iteration: 7 tol: 0.008783593
-## Iteration: 8 tol: 0.003297561
-## Iteration: 9 tol: 0.001650757
-## Iteration: 10 tol: 0.001157637
-## Iteration: 11 tol: 0.001000046
-## Iteration: 12 tol: 0.0009401906
-pred.pap <- adjmn
-
-# Ranks almost match Stroup et al, Table 2, Alliance, RCB+NNA-PAP
-all <- data.frame(rcb=57-rank(pred.rcb), nna=57-rank(pred.pap))
-all[order(all$rcb),]
## rcb nna
-## genNE86503 1 14
-## genNE87619 2 4
-## genNE86501 3 24
-## genRedland 4 6
-## genCenturk78 5 15
-## genNE83498 6 2
-## genSiouxland 7 28
-## genNE86606 8 11
-## genArapahoe 9 18
-## genNE87613 10 9
-## genNE86607 11 16
-## genLancer 12 35
-## genTAM107 13 37
-## genCheyenne 14 21
-## genNE87446 15 46
-## genHomestead 16 44
-## genScout66 17 13
-## genNE83404 18 23
-## genColt 19 17
-## genNE86509 20 42
-## genNE87513 21 45
-## genLancota 22 49
-## genNE85556 23 3
-## genNE87408 24 36
-## genBrule 25 7
-## genNE87463 26 39
-## genNE87615 27 32
-## genBuckskin 28 1
-## genNE87403 29 53
-## genNE87522 30 52
-## genNE87451 31 33
-## genNE86582 32 48
-## genGage 33 29
-## genNorkan 34 51
-## genNE86482 35 25
-## genNE83406 36 19
-## genKS831374 37 5
-## genNE87457 38 34
-## genNE86507 39 10
-## genVona 40 30
-## genNE87512 41 47
-## genNE87627 42 55
-## genNE83407 43 27
-## genNE86527 44 8
-## genNE87612 45 20
-## genNE85623 46 31
-## genCentura 47 26
-## genNE83T12 48 40
-## genNE86T666 49 56
-## genNE87409 50 12
-## genTAM200 51 54
-## genCody 52 43
-## genRoughrider 53 22
-## genNE84557 54 38
-## genNE87499 55 41
-## genNE83432 56 50
-# Visually compare the coefficients from the two methods
-lims=range(c(pred.rcb,pred.pap))
-plot(pred.rcb, pred.pap, xlim=lims, ylim=lims,
- xlab="RCB",ylab="Papadakis",type='n')
-text(pred.rcb,pred.pap, substring(names(pred.rcb),4),cex=0.5)
-title("Iterated Papadakis vs. RCB")
-abline(0,1)
The variety âBuckskinâ has a large adjustment when using the Papadakis method. This makes sense, because Buckskin ended up in the high-yielding part of each of the four reps.
-Hinz, Paul N. 1987. âNearest-Neighbor Analysis in Practice.â Iowa State Journal of Research 62: 199â217.
-Papadakis, J S. 1937. âMĂŠthode Statistique Pour Les ExpĂŠriences En Champ.â Bulletin Institute de LâAmeloration Des Plantes Ă Salonique 23.
-Stroup, Walter, P Stephen Baenziger, and Dieter K Mulitze. 1994. âRemoving Spatial Variation from Wheat Yield Trials: A Comparison of Methods.â Crop Science 86: 62â66.
-../../../Users/wrightkevi/OneDrive/kw_work/rpack/agridat/vignettes/agridat_uniformity.Rmd
- agridat_uniformity.Rmd
title: âNotes on uniformity dataâ | -
author: âKevin Wrightâ | -
date: â2021-12-17â | -
output: | -
rmarkdown::html_vignette: | -
md_extensions: [ | -
â-autolink_bare_urisâ | -
] | -
vignette: > | -
% | -
% | -
% | -
To do: Figure out appendix II. Mathew, Lucyamma. Standardization of field plot technique for cashew. Diss. Department of Statistics, College of Veterinary and Animal Sciences, Mannuthy. https://krishikosh.egranth.ac.in/handle/1/5810142095
-Contact Rothamsted to scan uniformity trial papers.
-Ansari, M. A. A., and G. K. Sant (1943). A Study of Soil Heterogeneity in Relation to Size and Shape of Plots in a Wheat Field at Raya (Muhra District). Ind. J. Agr. Sci, 13, 652-658. https://archive.org/details/in.ernet.dli.2015.271748
-Baker, GA and Huberty, MR and Veihmeyer, FJ. (1952) A uniformity trial on unirrigated barley of ten yearsâ duration. Agronomy Journal, 44, 267-270. DOI: 10.2134/agronj1952.00021962004400050011x
-Baker, G. A.; and R. E. Baker (1953). Strawberry Uniformity Yield Trials. Biometrics, 9, 412-421. DOI: 10.2307/3001713
-G. A. Baker, E. B. Roessler (1957). Implications of a uniformity trial with small plots of wheat. Hilgardia, 27, 183-188.
-https://hilgardia.ucanr.edu/Abstract/?a=hilg.v27n05p183
-Bancroft, T. A. et a1., (1948). Size and Shape of Plots and Distribution of Plot Yield for Field Experiments with Peanuts. Alabama Agricultural Experiment Station Progress Report, sec. 39. Table 4, page 6. http://hdl.handle.net/11200/1345
-Batchelor, L. D.; and H. S. Reed. (1918). Relation of the variability of yields of fruit trees to the accuracy of field trials. J. Agric. Res, 12, 245â283. https://books.google.com/books?id=Lil6AAAAMAAJ&lr&pg=PA245
-Bose, R. D. (1935). Some soil heterogeneity trials at Pusa and the size and shape of experimental plots. Ind. J. Agric. Sci., 5, 579-608. Table 1 (p. 585), Table 4 (p. 589), Table 5 (p. 590). https://archive.org/details/in.ernet.dli.2015.271739
-Bradley, P. L. (1941). A study of the variation in productivity over a number of fixed plots in field 2. Dissertation: The University of the West Indies. Appendix 1a, 1b, 1c, 1d. https://uwispace.sta.uwi.edu/dspace/handle/2139/41259
-The data are repeated in: C. E. Wilson. Study of the plots laid out on field II with a view to obtaining plot-fertility data for use in future experiments on these plots, season 1940-41. Dissertation: The University of the West Indies. Page 36-39. https://uwispace.sta.uwi.edu/dspace/handle/2139/43658
-Christidis, B. G. (1939). Variability of Plots of Various Shapes as Affected by Plot Orientation. Empire Journal of Experimental Agriculture 7: 330-342. Table 1.
-Christidis, Basil G (1931). The importance of the shape of plots in field experimentation. The Journal of Agricultural Science, 21, 14-37. Table VI, p. 28. DOI: 10.1017/S0021859600007942
-da Silva, Enedino Correa. (1974). Estudo do tamanho e forma de parcelas para experimentos de soja (Plot size and shape for soybean yield trials). Pesquisa Agropecuaria Brasileira, Serie Agronomia, 9, 49-59. Table 3, page 52-53.
-Davies, J. Griffiths (1931). The Experimental Error of the Yield from Small Plots of Natural Pasture. Council for Scientific and Industrial Research (Aust.) Bulletin 48. Table 1.
-Day, James Westbay (1916). The relation of size, shape, and number of replications of plats to probable error in field experimentation. Dissertation, University of Missouri. Table 1, page 22. https://hdl.handle.net/10355/56391
-Draper, Arlen D. (1959). Optimum plot size and shape for safflower yield tests. Dissertation. University of Arizona. https://hdl.handle.net/10150/319371
-Edan, T. (1931). Studies in the yield of tea. 1. The experimental errors of field experiments with tea. Agricultural Science, 21, 547-573. DOI: 10.1017/S0021859600088511
-Garber, RJ and Mcllvaine, TC and Hoover, MM. 1926. A study of soil heterogeneity in experiment plots. Jour Agr Res, 33, 255-268. Tables 3, 5. https://naldc.nal.usda.gov/download/IND43967148/PDF
-Gomez, K.A. and Gomez, A.A. (1984). Statistical Procedures for Agricultural Research. Wiley-Interscience. Page 481.
-Goulden, C. H. (1939). Methods of statistical analysis, 1st ed. Page 18. https://archive.org/stream/methodsofstatist031744mbp
-Harris, J Arthur and Scofield, CS. (1920). Permanence of differences in the plats of an experimental field. Jour. Agr. Res., 20, 335-356. https://naldc.nal.usda.gov/catalog/IND43966236
-Harris, J. Arthur and Scofield, CS. (1928). Further studies on the permanence of differences in the plots of an experimental field. Jour. Agr. Res. 36, 15â40. https://naldc.nal.usda.gov/catalog/IND43967538
-Harris, J.A. 1920. Practical universality of field heterogeneity as a factor influencing plot yields. Journal of Agricultural Research, 19, 279â314. Page 296-297. https://books.google.com/books?id=jyEXAAAAYAAJ&pg=PA279
-Hartman, J. D.; and E. C. Stair (1942). Proceedings Of The American Society For Horticultural Science, 41, 315-320. https://archive.org/details/in.ernet.dli.2015.240678
-Heath, O.V.S. (1970). Investigation by Experiment. Table 1. https://archive.org/details/investigationbye0000heat
-Holtsmark, G and Larsen, BR (1905). Om Muligheder for at indskraenke de Fejl, som ved Markforsog betinges af Jordens Uensartethed. Tidsskrift for Landbrugets Planteavl. 12, 330-351. (In Danish) https://books.google.com/books?id=MdM0AQAAMAAJ&pg=PA330 https://dca.au.dk/publikationer/historiske/planteavl/
-Igue, Toshio; Ademar Espironelo, Heitor Cantarella, Erseni Joao Nelli. (1991). Tamanho e forma de parcela experimental para cana-de-acucar (Plot size and shape for sugar cane experiments). Bragantia, 50, 163-180. Appendix, page 169-170. DOI: 10.1590/S0006-87051991000100016
-Immer, F. R. (1932). Size and shape of plot in relation to field experiments with sugar beets. Jour. Agr. Research, 44, 649â668. https://naldc.nal.usda.gov/download/IND43968078/PDF
-Jones, Marcus; Marin Harbur, and Ken J. Moore (2021). Automating Uniformity Trials to Optimize Precision of Agronomic Field Trials. Agronomy 2021, 11, 1254. DOI: 10.3390/agronomy11061254 Data from 12x12 corn expt.
-Iyer, P. V. Krishna (1942). Studies with wheat uniformity trial data. I. Size and shape of experimental plots and the relative efficiency of different layouts. The Indian Journal of Agricultural Science, 12, 240-262. Page 259-262. https://archive.org/stream/in.ernet.dli.2015.7638/2015.7638.The-Indian-Journal-Of-Agricultural-Science-Vol-xii-1942#page/n267/mode/2up
-Kadam, B. S. Kadam; and S. M. Patel. (1937). Studies in Field-Plot Technique With P. Typhoideum Rich. The Empire Journal Of Experimental Agriculture, 5, 219-230. https://archive.org/details/in.ernet.dli.2015.25282
-Kalamkar, R.J. (1932). Experimental Error and the Field-Plot Technique with Potatoes. The Journal of Agricultural Science, 22, 373-385. DOI: 10.1017/S0021859600053697
-Kalamkar, R. J (1932). A Study in Sampling Technique with Wheat. The Journal of Agricultural Science, Vol.22(4), pp.783-796. DOI: 10.1017/S0021859600054599
-Kempton, R. A. and C. W. Howes (1981). The use of neighbouring plot values in the analysis of variety trials. Applied Statistics, 30, 59â70. DOI: 10.2307/2346657
-Kerr, H. W. (1939). Notes on plot technique. Proc. Internat. Soc. Sugarcane Technol. 6, 764-778.
-Khin, San. 1950. Investigation into the relative costs of rice experiments based on the efficiency of designs. Dissertation: Imperial College of Tropical Agriculture (ICTA). Appendix XV. https://uwispace.sta.uwi.edu/dspace/handle/2139/42396
-Kiesselbach, Theodore A. (1917). Studies Concerning the Elimination of Experimental Error in Comparative Crop Tests. University of Nebraska Agricultural Experiment Station Research Bulletin No. 13. Pages 51-72. https://archive.org/details/StudiesConcerningTheEliminationOfExperimentalErrorInComparativeCrop https://digitalcommons.unl.edu/extensionhist/430/
-Kristensen, R. K. (1925). Anlaeg og Opgoerelse af Markforsoeg. Tidsskrift for landbrugets planteavl, Vol 31, 464-494. Fig 1, pg. 467. https://dca.au.dk/publikationer/historiske/planteavl/
-Kulkarni, R. K., Bose, S. S., and Mahalanobis, P. C. (1936). The influence of shape and size of plots on the effective precision of field experiments with sorghum. Indian J. Agric. Sci., 6, 460-474. Appendix 1, page 172. https://archive.org/details/in.ernet.dli.2015.271737
-Lander, P. E. et al. (1938). Soil Uniformity Trials in the Punjab I. Ind. J. Agr. Sci. 8:271-307.
-Laycock, D. H. (1955). The effect of plot shape in reducing the errors of tea experiments. Tropical Agriculture, 32, 107-114.
-Department of Agriculture, Mysore State. [2nd-9th] Annual Report of the Agricultural Chemist. https://books.google.com/books?id=u_dHAAAAYAAJ
-Lessman, Koert James (1962). Comparisons of methods for testing grain yield of sorghum. Iowa State University. Retrospective Theses and Dissertations. Paper 2063. Appendix Table 17. https://dr.lib.iastate.edu/handle/20.500.12876/73575
-Li, HW and Meng, CJ and Liu, TN. 1936. Field Results in a Millet Breeding Experiment. Agronomy Journal, 28, 1-15. Table 1. DOI: 10.2134/agronj1936.00021962002800010001x
-Loesell, Clarence (1936). Size of plot & number of replications necessary for varietal trials with white pea beans. Thesis, Michigan State. https://d.lib.msu.edu/etd/5271
-Lord, L. (1931). A Uniformity Trial with Irrigated Broadcast Rice. The Journal of Agricultural Science, 21(1), 178-188. DOI: 10.1017/S0021859600008029
-Love, Harry (1937). Application of Statistical Methods to Agricultural Research. The Commercial Press, Shanghai. Page 411. https://archive.org/details/in.ernet.dli.2015.233346/page/n421
-Lucas, HL. 1956. Switchback trials for more than two treatments. Journal of Dairy Science, 39, 146-154. DOI: 10.3168/jds.S0022-0302(56)94721-X
-Lyon, T.L. (1911). Some experiments to estimate errors in field plat tests. Proc. Amer. Soc. Agron, 3, 89-114. Table III. DOI: 10.2134/agronj1911.00021962000300010016x
-Magistad, O. C.; & C. A. Farden (1934). Experimental Error In Field Experiments With Pineapples. Journal of the American Society of Agronomy, 26, 631â643.
-Masood, M Asif and Raza, Irum. 2012. Estimation of optimum field plot size and shape in paddy yield trial. Pakistan J. Agric. Res., Vol. 25 No. 4, 2012
-McClelland, Chalmer Kirk (1926). Some determinations of plat variability. Agronomy Journal, 18, 819-823. DOI: 10.2134/agronj1926.00021962001800090009x
-Mercer, WB and Hall, AD, 1911. The experimental error of field trials The Journal of Agricultural Science, 4, 107-132. Table 1. DOI: 10.1017/S002185960000160X
-Montgomery, E. G. (1912). Variation in Yield and Methods of Arranging Plats To Secure Comparative Results. Twenty-Fifth Annual Report of the Agricultural Experiment Station of Nebraska, 164-180. https://books.google.com/books?id=M-5BAQAAMAAJ&pg=RA4-PA164
-E. G. Montgomery (1913). Experiments in Wheat Breeding: Experimental Error In The Nursery and Variation in Nitrogen and Yield. U.S. Dept of Agriculture, Bureau of Plant Industry, Bulletin 269. Figure 10, page 37. DOI: 10.5962/bhl.title.43602
-Moore, John F and Darroch, JG. (1956). Field plot technique with Blue Lake pole beans, bush beans, carrots, sweet corn, spring and fall cauliflower. Washington Agricultural Experiment Stations, Institute of Agricultural Sciences, State College of Washington.
-Nagai, Violeta (1978). Tamanho da parcela e numero de repeticoes em experimentos com morangueiro (Plot size and number of repetitions in experiments with strawberry). Bragantia, 37, 71-81. Table 2, page 75. DOI: 10.1590/S0006-87051978000100009
-Nair, B. Gopakumaran Nair, (1984). Optimum plot size for field experiments on turmeric (Curcuma longa L) Thesis, Department of Statistics, College of Veterinary & Animal Sciences, Mannuthy. https://krishikosh.egranth.ac.in/handle/1/5810147397 Appendix has data.
-Narain, R.; and A. Singh, (1940). A Note on the Shape of Blocks in Field Experiments. Ind. J. Agr. Sci., 10, 844-853. Page 845. https://archive.org/stream/in.ernet.dli.2015.271745
-Nonnecke, Ib Libner. (1958). Yield variability of sweet corn and canning peas as affected by plot size and shape. Thesis at Oregon State College. https://hdl.handle.net/1957/23367
-Obsi, Dechassa (2008). Application of Spatial Modeling to the Study of Soil Fertility Pattern. MS Thesis, Addis Ababa University. Page 122-125. http://etd.aau.edu.et/handle/123456789/3221
-Odland, TE and Garber, RJ. (1928). Size of Plat and Number of Replications in Field Experiments with Soybeans. Agronomy Journal, 20, 93â108. DOI: 10.2134/agronj1928.00021962002000020002x
-Paez Bogarin, Gilberto (1962). Estudios sobre tamano y forma de parcela para ensayos en cafe. Instituto Interamericano de Ciencias Agricolas de la O.E.A. Centro Tropical de Investigacion y Ensenanza para Graduados. Costa Rica. https://www.google.com/books/edition/Estudio_Sobre_Tamano_Y_Forma_de_Parcela/7ScOAQAAIAAJ
-Panse, V. G. (1941). Studies in the technique of field experiments. V. Size and shape of blocks and arrangements of plots in cotton trials. The Indian Journal Of Agricultural Science, 11, 850-867 https://archive.org/details/in.ernet.dli.2015.271747/page/n955
-Parker, E. R.; & L. D. Batchelor. (1932). Variation in the Yields of Fruit Trees in Relation to the Planning of Future Experiments. Hilgardia, 7(2), 81-161. Tables 3-9. DOI: 10.3733/hilg.v07n02p081
-Polson, David (1964). Estimation of Optimum Size, Shape, and Replicate Number of Safflower Plots for Yield Trials. Utah State University, All Graduate Theses and Dissertations, 2979. Table 6. https://digitalcommons.usu.edu/etd/2979/
-Robinson, H.F.; and J.A.Rigney and P.H.Harvey (1948). Investigations In Peanut Plot Technique With Peanuts. Univ California Tech. Bul. No 86.
-Rothamsted Experimental Station, Report 1925-26. Lawes Agricultural Trust, p. 154-155. http://www.era.rothamsted.ac.uk/eradoc/book/84
-Sayer, Wynne; M. Vaidyanathan and S. Subrammonia Iyer (1936). Ideal size and shape of sugar-cane experimental plots based upon tonnage experiments with Co 205 and Co 213 conducted in Pusa. Indian J. Agric. Sci., 1936, 6, 684-714. Appendex, page 712. https://archive.org/details/in.ernet.dli.2015.271737
-Sayer, Wynne; and Krishna Iyer. (1936). On some of the factors that influence the error of field experiments with special reference to sugar cane. Indian J. Agric. Sci., 1936, 6, 917-929. Appendix, page 927. https://archive.org/details/in.ernet.dli.2015.271737
-Shafi, Sameera (2007). On Some Aspects of Plot Techniques in Field Experiments on Tomato (Lycopersicon esculentum mill.) in Soils of Kashmir. Thesis. Univ. of Ag. Sciences & Technology of Kashmir. Table 2.2.1. https://krishikosh.egranth.ac.in/handle/1/5810083035
-Shafi, Sameera; S.A.Mir, Nageena Nazir, and Anjum Rashid. (2010). Optimum plot size for tomato by using S-PLUS and R-softwareâs in the soils of Kashmir. Asian J. Soil Sci., 4, 311-314. https://www.researchjournal.co.in/upload/assignments/4_311-314.pdf
-Smith, Francis L. (1958). Effects of plot size, plot shape, and number of replications on the efficacy of bean yield trials. Hilgardia, 28, 43-63. DOI: 10.3733/hilg.v28n02p043
-Smith, Louis H. 1910. Plot arrangement for variety experiments with corn. Agronomy Journal, 1, 84â89. Table 1. https://books.google.com/books?id=mQT0AAAAMAAJ&pg=PA84
-Stephens, Joseph C. 1928. Experimental methods and the probable error in field experiments with sorghum. Journal of Agricultural Research, 37, 629â646. https://naldc.nal.usda.gov/catalog/IND43967516
-Stickler, F. C. (1960). Estimates of Optimum Plot Size from Grain Sorghum Uniformity Trial Data. Technical bulletin, Kansas Agricultural Experiment Station.
-Strickland, A. G. (1935). Error in horticultural experiments. Journal of Agriculture, Victoria, 33, 408-416.
-A. G. Strickland (1932). A vine uniformity trial. Journal of Agriculture, Victoria, 30, 584-593.
-A. G. Strickland (1935). Error in horticultural experiments. Journal of Agriculture, Victoria, 33, 408-416.
-Wassom and R.R. Kalton. (1953). Estimations of Optimum Plot Size Using Data from Bromegrass Uniformity Trials. Agricultural Experiment Station, Iowa State College, Bulletin 396. https://lib.dr.iastate.edu/ag_researchbulletins/32/
-Wiebe, G.A. 1935. Variation and Correlation in Grain Yield among 1,500 Wheat Nursery Plots. Journal of Agricultural Research, 50, 331-357. https://naldc.nal.usda.gov/download/IND43968632/PDF
-Wiedemann, Alfred Max. 1962. Estimation of Optimum Plot Size and Shape for Use in Safflower Yield Trails. Table 5. All Graduate Theses and Dissertations. Paper 3600. Table 5. https://digitalcommons.usu.edu/etd/3600/
-Williams, ER and Luckett, DJ. 1988. The use of uniformity data in the design and analysis of cotton and barley variety trials. Australian Journal of Agricultural Research, 39, 339-350. DOI: 10.1071/AR9880339
-F. A. Wyatt (1927). Variation in plot yields due to soil heterogeneity. Scientific Agriculture, 7, 248-256. Table 1. DOI: 10.4141/sa-1927-0020
-Damor, Bhavika. (2019). Comparison of uniformity trial data with experimental data for plot technique. DEPARTMENT OF AGRICULTURAL STATISTICS B. A. COLLEGE OF AGRICULTURE ANAND AGRICULTURAL UNIVERSITY ANAND. https://krishikosh.egranth.ac.in/handle/1/5810169594 Has data for 3 uniformity trials, but the data look strange. For example, in Appendix III, there are some plots along the left edge that are measured to 3 decimals (0.993, 0.631), but most of the field is measured to 2 decimals. In Appendix I, there are 500 numbers but only about 9 of them have â4â in the hundredths place. We would expect to see 50. It could be that the data were collected in non-kg weights and then converted to kg. It could be that the html-viewer is not rendering the document correctly, but there is no way to download the original pdf.
-Hansen, Niels Anton (1914). Provedyrkning paa Forsogsstationen ved Aarslev. Tidsskrift for landbrugets planteavl. https://dca.au.dk/publikationer/historiske/planteavl/ Bind 21, page 553. In Danish. Page 557 might be the table referred to by Eden, except there are 30 plots, not 35. Yields appear to be given as percents. See comments by Eden & Maskell found here: https://archive.org/stream/in.ernet.dli.2015.25895/2015.25895.Journal-Of-Agricultural-Science-Vol-xviii-1928#page/n175 Page 165: âOne of the trials, comprising 35 plots, extended over the years 1907-11 and included oats, rye, barley, roots, barley.â Oats and rye 1907 and 1908 show marked positive correlation. rye and barley 1908 and 1909 no correlation of significance. barley and roots 1909 and 1910 no correlation. roots and barley 1910 and 1911 a significant correlation. rye and roots 1908 and 1910 satisfactory.
-Hatton, R. G.; N. H. Grubb & R. C. Knight (1928) Black Currant Variety Trials: Reliability of Results., Journal of Pomology and Horticultural Science, 4:4, 200-220. DOI: 10.1080/03683621.1925.11513282 Not used. Has data for 21 bushes * 4 years and 52 bushes * 4 years.
-Lambert, Edmund B. (1934). Size and arrangement of plots for yield tests with cultivated mushrooms. Journal of Agricultural Research, Vol 48, 971-980. Note: Uniformity trial at three locations for mushrooms in growth houses. https://naldc.nal.usda.gov/naldc/download.xhtml?id=IND43968493
-Bakke, Olaf Andreas. (1988). Tamanho e forma Ăłtimos de parcelas em delineamentos experimentais. Dissertation. Escola Superior de Agricultura Luiz de Queiroz. https://teses.usp.br/teses/disponiveis/11/11134/tde-20181127-160559/pt-br.php Used Gomez rice uniformity.
-Bayoumi, Tarek Youssef; S El-Demardash. Effect of water deficit on soil variability, plot size, shape and number of replications for chickpea. No data.
-Beard, J.S. (1954). Investigations into experimental plot technique with black wattle. Empire Forestry Review, 33, 158-171. https://www.jstor.org/stable/42602653 No data.
-Bhatt, Hitesh M. (1998). âPlot technique in Potatoâ. AAU, Anand. https://krishikosh.egranth.ac.in/handle/1/5810043200 No data.
-Bose, S S; Khanna, K L; Mahalanobis, P C Note on the optimum shape and size of plots for sugarcane experiments in Bihar. India Journal of Agricultural Science 9, 807-816 https://hdl.handle.net/10263/1896 http://library.isical.ac.in:8080/jspui/handle/10263/1896 No data.
-Boyhan, George E.; David B. Langston; Albert C. Purvis; C. Randell Hill. (2003). Research to determine suitable plot size and the number of replications in the field trials of sugarbeet. J. Amer. Soc. Hort. Sci., 128, 409-424. No data. Compared Hathewayâs method with Cochran and Coxâs method, the latter gave smaller number of plots.
-Boyhan, George E. (2013). Optimum Plot Size and Number of Replications for Determining Watermelon Yield, Fruit Size, Fruit Firmness, and Soluble Solids. HortScience, 48, 1200-1208. DOI: 10.21273/HORTSCI.48.9.1200 No data.
-Brim, C. A. and D. D. Mason. (1959). Estimates of Optimum Plot Size for soybean Yield Trials. Agron. Jour. 51: pp. 331-335¡ DOI: 10.2134/agronj1959.00021962005100060008x No data.
-Chaves, L. J.; J. B. Miranda Filho (1992). Plot size for progeny selection in maize (Zea maysL.). Theoretical and Applied Genetics, 84, 963â970. DOI: 10.1007/bf00227411 No data.
-Cheesman, E. E., and Pound, F. J. âUniformity trials on Cacaoâ. Trop. Agric., 9, 277-88. No data.
-Conners, Helen Elizabeth (1951). Field plot techniques for sweet potatoes obtained from uniformity trial data. Masterâs Thesis, Iowa State University. No digital copy available. No data.
-Cordeiro, CĂŠlia Maria Torres, JoĂŁo EustĂĄquio Cabral de Miranda, and Jarbas Campos. âTamanho de parcelas e nĂşmero de repetiçþes em experimento de batatas.â Pesquisa AgropecuĂĄria Brasileira 17.9 (1982): 1341-1348. No data.
-Crews, Julian W., Guy L. Jones, and D. D. Mason. âField Plot Technique Studies with FlueâCured Tobacco. I. Optimum Plot Size and Shape 1.â Agronomy Journal 55.2 (1963): 197-199. No data.
-da Silva, Willerson CustĂłdio; MĂĄrio Puiatti; Paulo Roberto Cecon; Leandro Roberto de Macedo; Tocio Sediyama. (2019) Estimation of optimum experimental plot size for taro culture. CiĂŞncia Rural, Santa Maria, v.49 DOI: 10.1590/0103-8478cr20180440 No data.
-da Silva, Luiz Fernando de Oliveira; Katia Alves Campos; Augusto Ramalho de Morais; Franciane Diniz Cogo; Carolina Ruiz Zambon. Optimal plot size for experiments with radish. Revista Ceres 59(5):624-629 DOI: 10.1590/S0034-737X2012000500007 No data.
-de Sousa, Roberto Pequeno; Paulo SĂŠrgio Lima e Silva; Janilson Pinheiro de Assis; Paulo Igor Barbosa e Silva; JĂşlio CĂŠsar DoVale. 2015. Optimum plot size for experiments with the sunflower. Revista Ciencia Agronomica, 46, 170-175. DOI: 10.1590/S1806-66902015000100020 No data. Precision increased up to plot sizes about 5 m^2.
-Dorph-Petersen, K. 1949. Parcelfordeling i markforsog. Tidsskrift for Planteavl. 52, 111-175 https://dca.au.dk/publikationer/historiske/planteavl/ No data. Did not see anything that looked like a field of 12x43 plots. Mentioned in Kristensen (2003).
-Elliot, F. C., Darroch, J.G. and Wang, H.L. (1952). Uniformity trials with spring wheat. Agronomy Journal, 44, 524-528. DOI: 10.2134/agronj1952.00021962004400100005x
-Facco, Giovani; Cargnelutti Filho Alberto; Mendonça Alves Bruna; et. al. February 2017. Basic experimental unit and plot sizes with the method of maximum curvature of the coefficient of variation in sunn hemp. African journal of agricultural research 12(6):415-423 DOI: 10.5897/AJAR2016.11814 No data.
-Filho, Alberto; Cargnelutti; Marcos Toebe; ClĂĄudia Burin; AndrĂŠ Luis Fick; Gabriele Casarotto. (2011). âPlot sizes and uniformity assays in turnip.â CiĂŞncia Rural 41.9 (2011): 1517-1525. DOI: 10.1590/S0103-84782011005000119 No data.
-Filho, Alberto Cargnelutti; Marcos VinĂcius Loregian, Gabriel Elias Dumke, Felipe Manfio Somavilla, Samanta Luiza da Costa, Lucas Fillipin Osmari, Bruno Fillipin Osmari (2021). Optimal plot size in buckwheat. DOI: 10.5433/1679-0359.2021v42n2p501 https://www.uel.br/revistas/uel/index.php/semagrarias/article/view/39448/29330 No data
-Fleming, A.A., Roger, T.H. and Bancroft, T.A. (1957). Field plot technique with hybrid corn under Alabama conditions. Agronomy Journal, 49, 1-4. DOI: 10.2134/agronj1957.00021962004900010001x
-George, M. V.; M. Sannamarappa (1984). Uniformity trial: Size, Shape, and Direction of Experimental Plots for Turmeric. Proceedings of the Sixth Symposium on Plantation Crops, p. 429. https://archive.org/details/in.ernet.dli.2015.502074/page/n453 No data.
-Gopalakrishna, S. (1992). Optimum plot size and shape, block size and shape and relative efficiency of designs for field experiments in navane (Setaria italica). Thesis. https://krishikosh.egranth.ac.in/handle/1/5810120871 No data.
-Goyal, Manoj Kumar. 1998. A Study of uniformity trial in wheat (Triticum aestivum L.). College of Agriculture Chaudhary Charan Singh Haryana Agricultural University Hisar. https://krishikosh.egranth.ac.in/handle/1/5810078304 . No data.
-GuimarĂŁes, Bruno VinĂcius Castro, et al. (2020). âOptimal plot size for experimental trials with Opuntia cactus pear.â Acta Scientiarum. Technology 42 (2020): e42579-e42579. DOI: 10.5539/jas.v11n18p206 No data.
-Gupton, C.L. (1972). Estimates of Optimum Plot Size and Shape from Uniformity Data in Burley Tobacco (Nicotiana tabacum L.). Agron J, 64, 678-682. DOI: 10.2134/agronj1972.00021962006400050038x No data.
-Handa, D. P.; Sreenath, P. R., & Rajpali, S. K. (1995). Uniformity trial with lucerne grown for fodder. Grass and Forage Science, 50(3), 209â216. DOI: 10.1111/j.1365-2494.1995.tb02316.x No data.
-Hariharan, V., Jacob Thomas, M. George, K.C. (1986). Optimum size and shape of plots for field experiments in brinjal. Agricultural Research Journal of Kerala, 24(2), 189-194. https://krishikosh.egranth.ac.in/handle/1/5810100010 No data.
-Hatheway, W. H., and E. J. Williams. (1958). âEfficient estimation of the relationship between plot size and the variability of crop yields.â Biometrics, 14, 207-222. DOI: 10.2307/2527785 No data.
-Heidmann, T. 1988. Startkarakterisering af arealer til systemforskning I. Forsøgsarealer, müleprogram og metoder. Tidsskrift for Planteavls Specialserie. S 1958, 89 pp. https://dca.au.dk/publikationer/historiske/planteavlspecial/ No data. No obvious data found for a field 26x20 plots. Mentioned in Kristensen (2003).
-Heidmann, T. 1989. Startkarakterisering af arealer til systemforskning: IV Resultater fra arealet ved Jyndevad. Tidsskrift for Planteavls Specialserie. S 2021, 163 pp. https://dca.au.dk/publikationer/historiske/planteavlspecial/ No data. No obvious data found for a field 26x20 plots. Mentioned in Kristensen (2003).
-Hidalgo, Eduardo Calero Calero (1965). Estudio Del Tamano Y Forma De La Parcela Experimental Para Ensayos De Campo En Frijol (Phaseolus vulgaris L.). Instituto Interamericano de Ciencias Agricolas de la OEA. https://www.google.com/books/edition/Estudio_Del_Tamano_Y_Forma_De_La_Parcela/rNIOAQAAIAAJ No data. In Spanish.
-Hodnett, G.E. A Uniformity Trial on Groundnuts. Journal of Agricultural Science. https://www.cambridge.org/core/journals/journal-of-agricultural-science/article/uniformity-trial-on-groundnuts/0BE0B311FACEA593803F68180AF08452 No data.
-Holle, Michael. 1960. Plot technique for field evaluation of three characters in the lima bean. Masterâs Thesis, Iowa State University. No digital copy available. No data.
-Idrees, Nadia; and Muhammad Inayat Khan (2009). Design improvement using uniformity trials experimental data. Pak. J. Agri. Sci., Vol. 46(4), 2009. https://pakjas.com.pk No data.
-Johnson, I.J. & Murphy, H.C. 1943. Lattice and lattice square designs with oat uniformity data and in varietal trials. J. Agric. Sci., 22, 366-372. DOI: 10.2134/agronj1943.00021962003500040004x No data. Has a contour map of fertility.
-Jones, W.W.; T.W. Embleton; C.B. Cree. (1957). Number of Replications and Plot Sizes Required for Reliable Evaluation of Nutritional Studies and Yield Relationships with Citrus and Avocado. American Society for Horticultural Science, 69:208-216. No data. Fruit yields are much more variable than quality factors.
-Jua, Junagadh. Optimum plot size for field experiments on tomato â A statistical investigation. Thesis, Junagadh Agricultural University. https://krishikosh.egranth.ac.in/handle/1/5810006490. No data.
-Kaushik, L. S., R. P. Singh, and T. P. Yadava. âA uniformity trial with mustard [India].â Indian Journal of Agricultural Sciences (1977). No data.
-Kavitha, B. (2010). Study on optimum plot size and optimum plot shape of soybean crop. https://krishikosh.egranth.ac.in/handle/1/84302 No data.
-Keller, Kenneth R. (1949). Uniformity Trial on Hops, Humulus lupulus L., for Increasing the Precision of Field Experiments. DOI: 10.2134/agronj1949.00021962004100080011x No data.
-Khurana, Alka. 1991. A Study of Uniformity Trial in Soyabean. Thesis, M.Sc. College of Basic Sciences and Humanities Chaudhary Charan Singh Haryana Agricultural University Hisar. https://krishikosh.egranth.ac.in/handle/1/5810076525 No data. Smithâs Law.
-Kristensen, Dr. K. (2003). Incomplete split-plots in variety trials - based on a-designs. In: Biuletyn Oceny Odmian, 31, pp. 7-17. No data. Refers to other papers with uniformity trials.
-Krysczun, Dionatan Ketzer; LĂşcio, Alessandro DalâCol; Sari, Bruno Giacomini; Diel, Maria InĂŞs; Olivoto, Tiago; Santana, Cinthya Souza; Ubessi, Cassiane; Schabarum, Denison Esequiel (2018). Sample size, plot size and number of replications for trials with Solanum melongena L.. Scientia Horticulturae, 233(), 220â224. DOI: 10.1016/j.scienta.2018.01.044 No data.
-Kumar, Ajay. 1999. A study on uniformity trial in sesame (Til) Sesamum indicum. https://krishikosh.egranth.ac.in/handle/1/5810078711. No data.
-Kumar, Ajay; Kiran Kapoor; Gupta, S. C.; Hasija, R. C. Uniformity trial on sesame Sesamum indicum. https://eurekamag.com/research/017/592/017592269.php Not found, but Kumarâs thesis was found, but had no data.
-Lakhera, M.L.; M.A. Ali (1996). Optimum plot size and shape estimates for sunflower yield trials. Journal of Maharashtra Agricultural Universities 21(3): 350-353 No data. Optimum plot size was 20 units, 10 rows each 2 m long.
-Lavezo, AndrÊ; Alberto Cargnelutti Filho, Clåudia Marques de Bem, Clåudia Burin, JÊssica Andiara Kleinpaul, Rafael Vieira Pezzini. Plot size and number of replications to evaluate the grain yield in oat cultivars. Bragantia, Campinas, v. 76, n. 4, p.512-520, 2017. DOI: 10.1590/1678-4499.2016.410 No data.
-Lizy, M.J. (1986). Uniformity trials on colocasia. https://krishikosh.egranth.ac.in/handle/1/5810113181 No data.
-Lizy, M.J.; George, K.C.; Thomas, M.J. (1988). Optimum size and shape of plots under colocasia (Colocasia esculenta L.) Agricultural Research Journal of Kerala 25(2): 241-248 https://eurekamag.com/research/001/901/001901914.php Paper not found, but Lizy thesis was found, but had no data.
-Lohmor, Nishu (2015). Estimation of optimum plot size, shape and number of replications in sunflower (Helianthus annuus). Thesis. https://krishikosh.egranth.ac.in/handle/1/81261 No data.
-Lohmor, Nishu; Mujahid Khan; Kiran Kapoor; and Nitin Tanwar (2017). Study on Optimum Block Size and Shape in Uniformity Trial of Sunflower (Helianthus annuus). Advances in Research, 9, 1-8. 2017. No data.
-Lorentz, Leandro Homrich; Alexandra Augusti Boligon; Lindolfo Storck; Alessandro DalâCol LĂşcio. Plot size and experimental precision for sunflower production. Sci. Agric. (Piracicaba, Braz.), v.67, n.4, p.408-413, July/August 2010 No data.
-Meier, V. D., and K. J. Lessman. âEstimation of Optimum Field Plot Shape and Size for Testing Yield in Crambe abyssinica Hochstâ. Crop Science 11, 648-650. DOI: 10.2135/cropsci1971.0011183X001100050013x No data.
-Miller, John D., and E. James Koch. (1962) âA Plot Technique Study with Birdsfoot Trefoil 1.â Agronomy Journal, 54, 95-97. https://acsess.onlinelibrary.wiley.com/doi/abs/10.2134/agronj1962.00021962005400020001x No data.
-Miyaska, Susan C.; Charles E. McCulloch, Graham E. Fogg, James R. Hollyer. Optimum Plot Size for Field Trials of Taro (Colocasia esculenta). HortScience 48, 435-443. DOI: 10.21273/HORTSCI.48.4.435 No data. Optimum plot size was 18-21 plants (4.9 - 5.7 m^2).
-Modjeska, J. S., & Rawlings, J. O. (1983). Spatial Correlation Analysis of Uniformity Data. Biometrics, 39(2), 373. DOI: 10.2307/2531010 Used data from Batchelor & Reid.
-Muniya, Sejal ben. Plot size study through mathematical approach. https://krishikosh.egranth.ac.in/handle/1/5810115216 No data.
-Nagardas, Motaka Ganapatlal (2006). PLOT SIZE STUDY FROM UNIFORMITY TRIAL DATA IN DURUM WHEAT FOR BHAL REGION. https://krishikosh.egranth.ac.in/handle/1/5810115906 No data.
-Narayanan, R (1974). Estimation of optimum plot size for clone trials in hevea. Journal of the Rubber Research Institute of Malaysia 24(1): 54-67. https://rios.lgm.gov.my/cms/fedDigiJournalDetail.jsp?searchText=&selTab=digiCon&id=&type=JRR&issueYear=1974 No data.
-Narayanbhai, P.J. (2005). Plot size study from uniformity trial data of French bean. https://krishikosh.egranth.ac.in/handle/1/5810115923 No data.
-Oliveira, SĂŠrgio JosĂŠ Ribeiro de. DependĂŞncia entre o tamanho da unidade bĂĄsica e as estimativas das dimensĂľes da parcela experimental de batata. Diss. Universidade Federal de Santa Maria, 2005. No data.
-Omanakuttan, Chithra (2015). Plot size study from uniformity trial data of mustard (Brassica juncea L.). https://krishikosh.egranth.ac.in/handle/1/5810116905 No data.
-Onate, Burton. 1965. Size and Shape of Plot in Rice Replicated Field Experiments. Philippine Statistician. No data. Results indicate that plot of dimensions 4 rows by 12 hills (3-5 sq m) will be relatively as efficient as bigger plots. The CV observed was about 10 percent, which implies 5 replicates are needed to detect a mean difference of 10 percent.
-Paardekooper, E.G. (1966). Results of four uniformity trials to determine the influence of plot size and shape on the efficiency of field experiments in rubber. Res. At-chs Rubb. Res. Inst. Malaya, Docum. 56. No data.
-Pal, Satyabrata; Goutam Mandal; Kajal Dihidar. 2015. Determination of robust optimum plot size and shape â a model-based approach. Biometrical Letters, 52, 13-22. DOI: 10.1515/bile-2015-0002 No data.
-Patel, J.B. (2004). Estimation of Optimum Plot Size for Field Experiment on Green Gram (Phaseolus rediatus L.) https://krishikosh.egranth.ac.in/handle/1/5810072537 No data.
-Patel, Natverlal M. (1967). Plot technique in Bajri-Pennisetum typhoides. https://krishikosh.egranth.ac.in/handle/1/5810045227 No data.
-Patel, N.M. (1981). Plot size study in bidi tobacco (Nicotiana tabacum L.). Thesis. https://krishikosh.egranth.ac.in/handle/1/5810045267 No data.
-Patil, N.M. (1995). Optimum plot size and shape, block size and shape and relative efficiency of designs for field experiments in cowpea (Vigna unguiculata). https://krishikosh.egranth.ac.in/handle/1/5810119241 No data.
-Peiris, T. S. G.; and R. O. Thattil (1997). Alternative methods to determine plot sizes for three crops: A case study from coconut data. COCOS (1997), 12, 44-53 No data. References CRI (1985).
-Pimentel, Gomes; Couto, H.T.Z. (1985). O Tamanho Ătimo de Parcela Experimental Para Ensaios com Eucaliptos (The Optimum Experimental Plot Size for Essays with Eucalipt). Revista do IPEF, Pirarcicaba, 31, 75. No data.
-Plaisted, Robert LeRoy (1954). Field plot techniques for estimating onion yields. Masterâs Thesis, Iowa State University. DOI: 10.31274/rtd-20200617-42 No data.
-Prabhakaran, P.V. (1978). Optimum plot size for field trials with banana. Agricultural Research Journal of Kerala, 16(1), 33-38. https://krishikosh.egranth.ac.in/handle/1/5810115813 No data.
-Prajapati Rameshbhai, I. (2005). Optimum size and shape of plot for field experiments on potato. Thesis. https://krishikosh.egranth.ac.in/handle/1/5810115905 No data.
-Ramani, C.V. (1995). Plot technique in Lucern. https://krishikosh.egranth.ac.in/handle/1/5810046435 No data.
-Reddy, M. N., and C. K. Ramanatha Chetty Effect of Plot Shape on Variability in Smithâs Variance Law. Experimental Agriculture, 18, 333-338. DOI: 10.1017/S0014479700000752 No data.
-Reddy, S.B.S. (1992). Uniformity trial on groundnut. https://krishikosh.egranth.ac.in/handle/1/5810000021 No data for the uniformity trial? Small dataset on page 96, 20 plots with 5 plants/plot. Branches/plant, leaves/plant, height of the plant.
-Ross C. Thompson (1934). Size, Shape, and Orientation of Plots and Number of Replications Required in Sweetpotato Field-Plot Experiments. J. Agric. Rsch., 5, https://books.google.com/books?hl=en&lr=&id=9-DUAAAAMAAJ&oi=fnd&pg=PA379 No data. Interesting paper because the experiment was conducted on 4 plots of year/loc combinations.
-Rossettii, A.G.; Pimentel Gomes, F. (1983). Determinação do Tamanho Otimo de Parcelas em Ensaios Agricolas (Determination of the Optimum Plot Size in Agricultural Essays). Pesq. agropec. bras., Brasilia, 18(5), 477. No data. In Spanish.
-Rossetti, A.G.; Gomes, F.P. (1987). A method for the determination of optimum plot size in experiments with rubber trees (Hevea). J Nat Rubb Res (1987) 2(3):135-141 http://agris.upm.edu.my:8080/dspace/handle/0/15652 No data.
-Sagisi, Fancisca D.; Mariano B. de Ramos. Field Plot and Sampling Techniques on Virginia Tobacco. No data for the uniformity trial part of this report.
-Sands, Daniel E. (1954). A Determination of Optimum Plot Size for Estimating Mean Number of Bolls. USDA. https://www.nass.usda.gov/Education_and_Outreach/Reports,_Presentations_and_Conferences/Yield_Reports/A%20Determination%20of%20Optimum%20Plot%20Size%20for%20Estimating%20Mean%20Number%20of%20Bolls.pdf No data.
-Sari, Bruno Giacomini; Alessandro DalâCol Lucio. (2018). Uniformity trials size for estimating cherry tomato plot size. Revista CiĂŞncia AgronĂ´mica, v. 49, n. 4, p. 653-662, out-dez, 2018 http://ccarevista.ufc.br/seer/index.php/ccarevista/article/view/4462 No data.
-Schmildt, Edilson Romais; Adriel Lima Nascimento; Alan de Lima Nascimento; et al. Optimum plot size for experiments with papaya genotypes in field. African Journal of Agricultural Research, 13, 360-365. DOI: 10.5897/AJAR2017.12951 No data. Optimum plot size if four plants by plot, using four replications.
-Sharma, Anju (1992). Determination of optimum plot size estimation of of tomato (Lycopersicon esculentum Mill.) yield in Saproon Valley of Solan District (H.P.). https://krishikosh.egranth.ac.in/handle/1/5810067799 No data.
-Sharpe, R. H., and G. H. Blackmon, 1950 âA Study of Plot Size and Experimental Design with Pecan Yield Data.â Am. Soc. Hort. Sci. Pro. 56:236-241. No data.
-Sheela, M A (1987). Optimum size of plots in cocoa (Theobroma cacoa L.) a multivariate case. Department of Statistics, College of Veterinary and Animal Sciences, Mannuthy https://krishikosh.egranth.ac.in/handle/1/5810142527 No data.
-Shitap, Shri M.S. (2011). Plot technique in Brinjal (Solanum melongena L.) https://krishikosh.egranth.ac.in/handle/1/5810010600 No data. The table of contents suggests that the data appears in the appendix, but the pages are blank.
-Siao, F.U. 1935. Uniformity trials with cotton. J. Amer. Soc. Agron., 27, 974-979. DOI: 10.2134/agronj1935.00021962002700120004x No data.
-Sills, G. R., & Nienhuis, J. (1993). Field Plot Technique Affects Snap Bean Yield Evaluation. Journal of the American Society for Horticultural Science, 118(5), 672-674. DOI: 10.21273/JASHS.118.5.672 No data.
-Silva, Mauricio dos Santos da, et al. (2019) âOptimal size of experimental plots of papaya trees using a modified maximum curvature method.â CiĂŞncia Rural 49 (2019). https://www.scielo.br/j/cr/a/CYZsbJzSD6SWpYB9X3WscqF/?lang=en No data.
-Sokhal, Urmil (1982). College on The Efficiency of Designs for Bajra in Relation to Shape and size of Plot And Block. https://krishikosh.egranth.ac.in/handle/1/5810055172 No data.
-Soplin, H., H. D. Gross, and J. O. Rawlings. âOptimum Size of Sampling Unit to Estimate Coastal Bermudagrass Yield 1.â Agronomy Journal 67.4 (1975): 533-537. No data.
-Stadler, Lewis John. (1921). Experiments in field plot technic for the preliminary determination of comparative yields in the small grains. University Of Missouri. https://hdl.handle.net/2027/umn.319510008017444 No data. Uniformity trial discussed on page 43.
-Storck, Lindolfo; Sidinei Lopes; Alessandro DalâCol LĂşcio; Alberto âCargnelutti Filho 2011. Optimum plot size and number of replications related to selective precision. CiĂŞncia Rural 41(3):390-396. DOI: 10.1590/S0103-84782011000300005 https://www.researchgate.net/publication/270761907_Optimum_plot_size_and_number_of_replications_related_to_selective_precision No data
-Swallow, William H.; Todd C. Wehner (1986). Optimum Plot Size Determination and Its Application to Cucumber Yield Trials. Euphytica, 35, 421-432. DOI: 10.1007/BF00021850 No data. For multiple-harvest yield trials, optimum plot sizes were estimated to be 6.4 to 10.3 m^2.
-Tartaglia, FdL, LĂşcio, A, Diel, MI, et al. Experimental Plan For Tests With Pea. Agronomy Journal. 2021; 113: 1394â1406. DOI: 10.1002/agj2.20575 No data.
-Taye, Girma; Amsal Tarekegne; and D. G. Tanner. (2000). âEstimation of optimum plot dimensions and replication number for wheat experimentation in Ethiopia.â African crop science journal 8.1 (2000): 11-23. https://repository.cimmyt.org/handle/10883/2321 No data.
-Taylor, F.W. (1907-1909). The size of the experimental plot for field crops. Proceedings annual Society of agronomy 1, 56-58. https://acsess.onlinelibrary.wiley.com/doi/10.2134/agronj1907-1909.00021962000100010014x No data.
-Taylor, Howard Lewis (1951). The effect of plot shape on experimental error. Masterâs Thesis, Iowa State University. No digital copy available. No data given. Used data from a corn uniformity trial, oats uniformity, and the data of Fairfield Smith. Smaller experimental errors were found for long narrow plots.
-Tedin, Olof (1931). The Influence of Systematic Plot Arrangement upon the Estimate of Error in field Experiments. J. Agric. Science, 21, 191-208. DOI: 10.1017/S0021859600008613 No data. Uses uniformity trials from other papers.
-Toebe, Marcos, et al. (2020). âPlot size and number of replications for ryegrass experiments.â CiĂŞncia Rural 50.1. DOI: 10.1590/0103-8478cr20190195 No data.
-Westover, Kyle C. (1924). The influence of plot size and replication on experimental error in field trials with potatoes. Agricultural Experiment Station, West Virginia University, No. 189. https://babel.hathitrust.org/cgi/pt?id=uiug.30112019921359&view=1up&seq=1 No data.
-Wilson, Wendell W. (1970). Texas Vegetable Remote Sensing Study, 1969 Determination of Optimum Plot Size and Shape for Estimation of Carrot Yield. Research and Development Branch Standards and Research Division Statistical Reporting Service. https://www.nass.usda.gov/Education_and_Outreach/Reports,_Presentations_and_Conferences/Yield_Reports/Texas%20Vegetable%20Remote%20Sensing%20Study%201969.pdf No data found.
-Yadav, Raj Pal. 1991. Spatial Correlation Analysis of Uniformity Trial Data. College of Basic Sciences and Humanities Chaudhary Charan Singh Haryana Agricultural University Hisar. https://krishikosh.egranth.ac.in/handle/1/5810076755 No data.
-Vallejo, Roger L.; VHumberto A. Mendoza. (1992). Plot Technique Studies on Sweetpotato Yield Trials. J. AMER. Soc. HORT. SCI. 117(3):508-511. No data.
-Vargas-Rojas, Jorge Claudio. (2020). Size and shape of the experimental unit in yield trials of Brachiaria , hybrid CIAT 3608. https://www.semanticscholar.org/paper/Size-and-shape-of-the-experimental-unit-in-yield-of-Vargas-Rojas/e9964eca6ac42471aa44bc45e84bc376b02daf09
-Warren, J.A. and Mendez, I. (1981). Block Size and Orientation, and Allowance for Positional Effects, in Field Experiments. Experimental Agriculture, 17, 17 - 24. DOI: 10.1017/S0014479700011182 No data. Used a dozen existing datasets.
-Abraham, T.P. & Vachhani, M.V. 1964. Investigations on field experimental techniques with rice crop Indian J. Agric. Sci. 34, 152-165.
-Agarwal, K.N. (1973). Uniformity trial of Apple. Indian Journal of horticulture. 30:525-528. https://www.indianjournals.com/ijor.aspx?target=ijor:ijh&volume=30&issue=3and4&article=013 Paywall. Not available.
-Agarwal, K.N. & Deshpande, M.R. 1967. Size and shape of plots and blocks in field experiments with dibbled paddy. Indian J. Agric. Sci., 37, 445-455.
-Agarwal, K.N., Bavappa, K.V.A. and Khosla, R.K. (1968). A study of size and shape of plots and blocks an optimum number of experimental periods on arecanut. Indian Journal of Agricultural Sciences, 38, 444-460. Article not found. Journal: http://epubs.icar.org.in/ejournal/index.php/IJAgS
-Agnihotri, V. and Asrawal, M. C. 1996. Size and shape of plots and blocks for field experiments with Eucalyptus in Shivalik Hills. Indian Journal of Forestry, 19, 74-78. Not found.
-Ali, A.A.; Ammar, S.E.M.M. Optimum plot size and shape for trials of maize. Annals of Agricultural Science, Moshtohor 36(3): 1361-1372. https://eurekamag.com/research/012/808/012808132.php Not found.
-Beckett, W.H.; Fletcher, S.R.B. A uniformity trial with maize. Gold Coast Dept Agric Bull 16: 222-226. https://eurekamag.com/research/029/823/029823954.php Not found.
-Bhatnagar, S.; Srivastava, O.P. and Lather, B. P. S. Optimum size and shape of plot for mustard. Annals of Agricultural Research. Not found.
-Bischoff, K.P.; Gravois, K.A.; Schexnayder, H.P.J.; Hawkins, G.L. (2001). The effect of harvest method and plot size on the estimation of sugarcane yield. Journal American Society of Sugar Cane Technologists 21: 51-60.
-Bonazzi, A. (1933). Errors in field experimentation with ratoon cane. Asoc. de Tec. Azucareros Cuba, Proc 7: 32-40. Looked hard, but could not find. Original probably in Spanish. Full publisher: AsociaciĂłn de TĂŠcnicos Azucareros de Cuba.
-Calzada Benza, J. 1957. El error experimental y la precision en los experimentos. Lima Peru , Estac. Expt. Agr. de La Molina , Bol. 67 , 33 pp . Not found.
-Chapas, L.C. 1961. Plot size and reduction of variability in oil palm experiments. Emp Jour. Exp. Agric., 29, 212-224.
-Chaudhary, G.K.; Prajapati, B.H.; Patel, J.K.; Prajapti, R.I.; Loria, J.M. (2011) Optimum size and shape of plot for field experiments on wheat under North Gujarat Condition. J.Ind.Soci.Agril.S
-CRI (1985). Report of the Coconut Research Institute for 1985. (Ed. R Mahindapala), Lunuwila, Sri Lanka.
-Dutta, S. K., and HEATH, E. D. Size, shape, and number of plots for field experiments with tea. Not found.
-Faqir Mohammad, Tariq Mahmood Bajwa; Sohail Ahmad. (2001). Size and Shape of Plots for Wheat Yield Trials in Field Experiments. International Journal Of Agriculture & Biology, 4, 397-402.
-Fisher, Alan Charles (1973). A Technique for Designing Field Experiments Using Uniformity Trial Data. North Carolina State University at Raleigh. https://catalog.lib.ncsu.edu/catalog/NCSU508428 No electronic version.
-French, M. H. (1956). Minimum size of experimental plots for the assessment of pasture yield. East African Agr. and Forestry Res. Organ. Rpt. 1956.
-French, M. H. Errores asociados con el uso de pequeĂąas parcelas de prueba en las evaluaciones de rendimiento de pastos. Agron. Trop. 10, 71-76.
-Galal, H.E.; E.G.ttouh Abou. (1971). Estimation of optimum plot size and shape for Egyptian cotton yield trials. Alexandria Journal of Agricultural Research 19(2): 233-238
-Gopini, D.D.; Kabaria, M.M. and Vaishnani, N.L. (1970). Size and shape of plots in field experiments on groundnut. Indian Journal of agricultural science, 40, 1004-1010. Not found.
-Gosh, G.L.M. & Sanyal, A.T. 1945. Techniques of field experiments in jute. Agri. Res. Memoire 4, Indian Central Jute Comm.
-Gupta, J.P. and Raghavarao, D. (1969). A uniformity trial on onions. Journal of Indian Horticulture, 7, 184-187.
-Gupta, S. C.; Kauchik, L. S.; Yadava T. P. (1991). A study of size and shape of experimental plots with groundnut. Indian Journal of Agricultural Research, 25, 161-166. https://krishikosh.egranth.ac.in/handle/1/2040054 Restricted access.
-Hamdi, A.; Shokr, E. M. H.; Sedhom, S. A.; Hassanein, S. A. A. (2003). Estimation of optimum plot size and shape for lentil yield trials. Egyptian Journal of Agricultural Research, 81, 1723-1734.
-Handa, D.P., Sreenath, P.R., Sastry, J.A., Rajpal, S.K. and Shukla, N.P. (1982). Size and shape of plots and blocks for experiments with oats grown for fodder. Indian Journal of agricultural sciences, 52, 466-471. Not found.
-Hoshyar Chand Sharma (1991). Some observations on estimation of plot size and shape, Bartlettâs Rate Index and yield loss adjustments. Journal of Indian potato Association, 18, 9-18.
-Jayaram, K.; Venkataramu, M.N.; Sunderrajan, N.; Seetharam, A. (1981) Optimum size and shape of plots and blocks for field experiments in sunflower (Helianthus annuus Linn.) Mysore Journal of Agricultural Sciences 15(4): 512-518 https://eurekamag.com/research/001/422/001422535.php
-Joachim, A.W.R. 1935. A uniformity trial with coconuts. Trop. Agric. Mag. Ceylon. Agric. Soc. 85:198-207. https://eurekamag.com/research/013/298/013298524.php Not found. Has data! Todo.
-Jolly, A. L. Uniformity trials on estate cacao. Trop. Agriculture, 19, 167-174. https://journals.sta.uwi.edu/ta/index.asp?action=viewIssue&issueId=532 No access.
-Kaushik, L.S.; Kapoor, K.; Hasija, R.C.; Tyagi, C.S. (1989). A uniformity trial on moong (Vigna radiata (L) Wilczek) Indian Journal of Agricultural Research 23(3): 138-142 https://krishikosh.egranth.ac.in/handle/1/2040100 Restricted access.
-Khan, Mujahid. 2015. Uniformity trial in raya (Brassica juncea). M.Sc. Dissertation. https://krishikosh.egranth.ac.in/handle/1/80362 Seems like paper should be here, but download fails.
-Khurana, A., Rai, L. and Gupta, S.N. (1992). A uniformity trial on soybean (Glycine max. L.). Haryana agricultural University Journal of research, 22, 225-228.
-Kristiensen, K. and Ersboll, A.K. 1995. The use of Geostatistical methods in variety trials, where some varieties are unreplicated. Biuletyn Oceny Odmain (Cultivar Testing Bulletin), 26-27, 113-122. Not found.
-Kumar, Manoj and Hasija (2002). A study of size and shape of plots with wheat. Annals of Agriculture Bio-research 7 (1), 89-93
-Lakhera, M.L.; Singh, V.P.; Sundar, R. M. and Patel, N.M. (1995). Optimum size and shape of plot for field experiments on gram. Gujarat Agricultural University Research Journal, 21, 142-148.
-Lakshmi, K. R. and Gadewar, A.U. (1989). Optimum plot size for field trials with yams. J. of Root Crops, 15, 25-27.
-Lopes, S. J. et al. (2005). Experimental plot size in grain sorghum in different plant densities. June 2005; Pesquisa Agropecuåria Brasileira 40(6):525-530.
-Lu, ChunTang et al (1995). Estimation of optimum plot size and replicates number using data from rice uniformity trials. J. of Agricultural Research of China, 44, 229-241.
-Mahalanobis, P C; Chakravorti, S C; Banerjee, E A R. 1934. Influence of shape and size of plots on the accuracy of field experiments with rice, Chinsurah, Bengal Procedings of Indian Science Congress (Bombay) Sec Agricultural Statistics 21, 71. http://library.isical.ac.in:8080/xmlui/handle/10263/1793 Not found; pdf only contains abstract.
-Mangat, N. S. (1984). âOptimum size and shape of plot and block in cotton field experiments.â Journal of Research-Punjab Agricultural University (India).
-McHatton, T.H. 1947. The comparison of plot size in a peach experiment Proceedings American Society Hort Science 49: 18-20 https://eurekamag.com/research/013/864/013864510.php No access. Not found.
-Menon, T.C.M. and Tyagi, B.N. (1971). Optimum size and shape of plots in experiments with mandarin orange. Indian Journal of agricultural science, 41, 857-861. https://eurekamag.com/research/000/153/000153659.php Not available.
-Murray, D.B. 1950. A uniformity trial with swamp rice. Trop. Agriculture https://journals.sta.uwi.edu/ta/index.asp?action=viewIssue&issueId=406 No access.
-Pandya, H.R.; Upadhyay, S.M>; Parmar, B.A. (2006). Analysis of uniformity trial on cotton. J. Ind. Soc. Agric. Statist, 60, 175-236.
-Peiris, W. V. D. and Salgado, M. L. M. (1937). Experimental error in field experiments with coconut. Trop. Agriculture, Trinidad, 89:75-85
-Pimentel Gomes, F. (1987). Novos Aspectos do Tamanho Otimo das Parcelas em Experimentos Com Plantas Arbdreas (A New Contribution on the Problem of Plot Size in Experiments with Trees). Pesq. agropec. bras., Brasilia (in press).
-Prabhakaran, P.V. (1974). Optimum plot size for field experiments with tapioca Agricultural Research Journal of Kerala, 12(1), 19-23. https://krishikosh.egranth.ac.in/handle/1/5810114240
-Rai, Lajpat Gupta, S.N. and Rai, L. (1994). Optimum size and shape of plots in field experiments of soyabean (Glycine max. L.). Annals of biology Ludhiana, 10, 261-263.
-Rambabu; Aarwal, M.C.; Somaraj, P. and Chinnamani, S. (1980). Size and shape of plots and blocks for field trials on natural grasslands in Nilgiris hills. Indian Journal of agricultural science, 50, 598-602. https://eurekamag.com/research/006/424/006424390.php Not found
-Schuster, W; Bretschneider-Hermann, N; Zschoche, K.-H. (1984). Untersuchungen zur Feldversuchstechnik von Winterraps. Versuche zur TeilstĂźckgrĂśsse, TeilstĂźckform und zur Zahl der Wiederholungen [English: Investigations into experimental designs with winterrape experiments on plot size, plot-shape and numbers of replications]. Zeitschrift fĂźr Acker- und Pflanzenbau. [Eng: Journal of agronomy and crop science]. 1984, Vol 153, Num 6, pp 446-459.
-Sen, A.R. 1963. Some techniques of experimentation with cloval tea based on a uniformity trial. Emp. J. Exp. Agri., 31, 296-310.
-Sethi, A.S. (1985). A modified approach to determine optimum size and shape of plots in field experiments on maize grown on terraced land. Indian Journal of Agricultural Sciences, 36, 95-99.
-Shamasundaran, K.S., Singh, K.P. and Mandhar, S.C. (2002). Standardization of optimum size and shape of plots for gerbera under naturally ventilated greenhouse condition. Indian Journal of Horticulture, 59, 431-434. http://www.indianjournals.com/ijor.aspx?target=ijor:ijh&volume=59&issue=4&article=019 Paywall.
-Shu, S.C.; Park, S.H.; Yu, I.S.; Joo, Y.J.; Hong, Y.K. (1970). Studies on the optimum plot size, plot shape and number of replications in field experiments for wheat. Research Reports of the Office of Rural Development, S. Korea, Crops, 13: 95-99 https://eurekamag.com/research/014/696/014696398.php
-Singh, R.P. (1989). Optimum plot size for yield trials on chillies Indian Journal of Horticulture 46(3): 404-406 https://eurekamag.com/research/001/901/001901901.php
-Sreenath, P.R. (1973). Size and shape of plots and blocks in field trials with sorghum. Indian Journal of Agricultural Sciences, 43, 110-112. Not found.
-Srinivasan, C.S.; George, M.V.; Subbalakshmi, V.; Amarnath, C.H. (1994). Optimum plot size for field trials with Coffea arabica cv. Cauvery (Catimor) Journal of Coffee Research 24(2): 87-96.
-Upadhyay, S. M., Prajapati, B.H., Raja, K.R.V. and Darji, V.B. (1994). Optimum plot size for summer paddy in the Navsari zone of Gujarat. Gujarat Agricultural University Research Journal, 19, 92-97. Not found.
-Vaidyanathan, M. The method of covariance applicable to the utilization of the previous crop records for judging the improved precision of experiments. Ind. J. Agric. Sci., 4, 327-42. Not found. Has data. Todo.
-Weber, Charles Robert. 1941. Statistical analysis of a uniformity trial of soybeans with reference to plot size and shape and a comparison of efficiency of various experimental designs. Univ of Illinois. Thesis.
-Webster, C. 1939. A note on a uniformity trial with oil palms. Tropical Agriculture, 16, 15-19. Behind paywall.
-Yun, K.H.; Park, S.H.; Lee, Y.M. (1968). An estimation of optimum plot size, shape and number of replications for yield performance trials of rice. Res. Rep. Office rur. Dev, Suwon, 11: 1, 53-7. Bibl. 21 https://eurekamag.com/research/014/341/014341511.php
-Zuhlke, Thomas Albert (1968). Uniformity Trial in Pisum Sativum for Estimating Optimum Plot Size and Shape, Replication Number, and Relative Efficiency of Lattice Designs. https://www.google.com/books/edition/A_Uniformity_Trial_in_Pisum_Sativum_for/Ya9nAAAAMAAJ?hl=en&gbpv=0
-Homepage: https://kwstat.github.io/agridat
-Repository: https://github.com/kwstat/agridat
-The agridat
package provides an extensive collection of datasets from agricultural experiments.
The datasets come from books, papers, and websites related to agriculture. Example graphics and analyses are included. Data come from small-plot trials, multi-environment trials, uniformity trials, yield monitors, and more.
-This package tries to make data FAIR: Findable, Accessible, Interoperable, Reusable.
- -
-# Install the released version from CRAN:
-install.packages("agridat")
-
-# Install the development version from GitHub:
-install.packages("devtools")
-devtools::install_github("kwstat/agridat")
NEWS.md
- arankacami.groundnut.uniformity, barrero.maize, buntaran.wheat, gomez.heterogeneity, grover.diallel, grover.rcb.subsample, hadasch.lettuce, hadasch.lettuce.markers, jones.corn.uniformity, petersen.sorghum.cowpea, woodman.pig
-Re-named mead.cowpeamaize
to mead.cowpea.maize
.
Re-named correa.soybean.uniformity
to dasilva.soybean.uniformity
.
There are more than 200 URLs in the vignettes and these were slow to check and generated too many false warnings. Stopped the Rmd to html conversion from creating URL links.
alwan.lamb, baker.strawberry.uniformity, besag.checks, bryan.corn.uniformity, davidian.soybean, devries.pine, edwards.oats, george.wheat, hartman.tomato.uniformity, heath.raddish.uniformity, johnson.douglasfir, kayad.alfalfa, kerr.sugarcane.uniformity, laycock.tea.uniformity, lehmann.millet.uniformity, linder.wheat, loesell.bean.uniformity, miguez.biomass, obsi.potato.uniformity, paez.coffee.uniformity, pederson.lettuce.repeated, piepho.barley.uniformity, rothamsted.oats, shaw.oats, wyatt.multi.uniformity
-Examples using asreml()
now asreml version 4.
Re-named hutchinson.cotton.uniformity
to panse.cotton.uniformity
.
Added INLA example to crowder.seeds
.
Wrapped most example sections with dontrun
.
New function libs()
, which is basically the same as pacman::p_load()
, but without the dependency on pacman
.
Example sections now use library(agridat)
and then libs()
to load all other packages on the fly if needed.
Website built with pkgdown
.
broom
package.ansari.wheat.uniformity, baker.wheat.uniformity, bancroft.peanut.uniformity, bose.multi.uniformity, christidis.cotton.uniformity, dasilva.soybean.uniformity, davies.pasture.uniformity, eden.tea.uniformity, hutchinson.cotton.uniformity, igue.sugarcane.uniformity, kulkarni.sorghum.uniformity, lander.multi.uniformity, lord.rice.uniformity, magistad.pineapple.uniformity, nagai.strawberry.uniformity, narain.sorghum.uniformity, robinson.peanut.uniformity, sayer.sugarcane.uniformity, strickland.apple.uniformity, strickland.grape.uniformity, strickland.peach.uniformity, strickland.tomato.uniformity
-dasilva.maize, mead.turnip
-bradley.multi.uniformity, christidis.wheat.uniformity, day.wheat.uniformity, draper.safflower.uniformity, holtsmark.timothy.uniformity, iyer.wheat.uniformity, kadam.millet.uniformity, kalamkar.wheat.uniformity, khin.rice.uniformity, kiesselbach.oats.uniformity, kristensen.barley.uniformity, lessman.sorghum.uniformity, love.cotton.uniformity, masood.rice.uniformity, mcclelland.corn.uniformity, montgomery.wheat.uniformity, moore.polebean.uniformity, moore.bushbean.uniformity, moore.sweetcorn.uniformity, moore.carrot.uniformity, moore.springcauliflower.uniformity, moore.fallcauliflower.uniformity, nonnecke.corn.uniformity, nonnecke.peas.uniformity, parker.orange.uniformity, polson.safflower.uniformity, sawyer.multi.uniformity, smith.beans.uniformity, stickler.sorghum.uniformity, wiedemann.safflower.uniformity
-acorsi.grayleafspot, becker.chicken, chinloy.fractionalfactorial, cramer.cucumber, crampton.pig, battese.survey, christidis.competition, depalluel.sheep. eden.nonnormal, gartner.corn, giles.wheat, gomez.heteroskedastic, gomez.nonnormal1, gomez.nonnormal2, gomez.nonnormal3, gomez.wetdry, goulden.eggs, goulden.splitsplit, gregory.cotton, hanover.whitepine, harvey.lsmeans, harville.lamb, huehn.wheat, kenward.cattle, kreusler.maize, lehner.soybeanmold, lillemo.wheat, lin.superiority, lin.unbalanced, little.splitblock, mead.lambs, omer.sorghum, onofri.winterwheat, reid.grasses, silva.cotton, urquhart.feedlot, usgs.herbicides, vaneeuwijk.fusarium, vaneeuwijk.nematodes, vaneeuwijk.drymatter, wheatley.carrot
-The following data objects have been changed from lists of 2 matrices into tidy dataframes: aastveit.barley, box.cork, ortiz.tomato, talbot.potato, vargas.txe, vargas.wheat1, vargas.wheat2
Moved desplot()
function to package desplot
.
Moved gge()
function to package gge
.
Changed license to CC BY-SA 4.0, file LICENSE.note (similar to igraphdata).
Titles in Rd pages are more consistent.
Checked aspect ratio of field plot heatmaps where possible.
devtools::run_examples()
now works even without suggested packages installed.
Changed extensions in inst/files from .bug to .jag .
Added DOIs for most source references.
Changed all hyperlinks to plain text (for faster checking, avoids re-direct errors).
The nass.*
datasets now have state names with correct spaces. e.g. NewYork to New York.
Replaced use of gam
package in examples, in favor of mgcv
package.
The mead.lambs data is renamed to mead.lamb
for consistency.
Added package logo on github.
beall.webworms, besag.endive, brandt.switchback, butron.maize, carlson.germination, cochran.factorial, connolly.potato, cornelius.maize, cullis.earlygen, fisher.latin, foulley.calving, fox.wheat, gomez.splitplot.subsample, goulden.latin, gumpertz.pepper, harrison.priors, hazell.vegetables, heady.fertilizer, holland.arthropods, hunter.corn, jansen.strawberry, kalamkar.potato.uniformity, kang.maize, kang.peanut, karcher.turfgrass, keen.potatodamage, lasrosas.corn, lee.potatoblight, lonnquist.maize, lucas.switchback, maindonald.barley, mead.cauliflower, mercer.mangold.uniformity, patterson.switchback, piepho.cocksfoot, sinclair.clover, snijders.fusarium, stirret.borers, theobald.barley, turner.herbicide, vargas.txe, vold.longterm, wallace.iowaland, walsh.cottonprice, wassom.brome.uniformity, welch.bermudagrass, weiss.incblock, weiss.lattice, yang.barley
-adugna.sorghum, ars.earlywhitecorn96, besag.bayesian, box.cork, broadbalk.wheat, byers.apple, caribbean.maize, carmer.density, cate.potassium, cleveland.soil, cochran.eelworms, cochran.wireworms, fan.stability, gomez.seedrate, gotway.hessianfly, goulden.barley.uniformity, henderson.milkfat, hernandez.nitrogen, hessling.argentina, immer.sugarbeet.uniformity, ivins.herbs, jenkyn.mildew, johnson.blight, lambert.soiltemp, lavoranti.eucalyptus, lyon.potato.uniformity, lyons.wheat, mead.cowpeamaize, mead.germination, minnesota.barley.weather, minnesota.barley.yield, nebraska.farmincome, nass.barley, nass.corn, nass.cotton, nass.hay, nass.rice, nass.sorghum, nass.soybean, nass.wheat, ortiz.tomato, pacheco.soybean, senshu.rice, snedecor.asparagus, streibig.competition, zuidhof.broiler
-allcroft.lodging, australia.soybean, batchelor.apple.uniformity, batchelor.lemon.uniformity, batchelor.navel1.uniformity, batchelor.navel2.uniformity, batchelor.valencia.uniformity, batchelor.walnut.uniformity, besag.elbatan, besag.met, cochran.bib, corsten.interaction, crowder.germination, denis.missing, durban.competition, durban.rowcol, durban.splitplot, federer.tobacco, gilmour.serpentine, gomez.fractionalfactorial, gomez.groupsplit, gomez.multilocsplitplot, gomez.splitsplit, gomez.stripplot, gomez.stripsplitplot, gomez.rice.uniformity, hughes.grapes, kempton.rowcol, kempton.barley.uniformity, mead.strawberry, mercer.wheat.uniformity, rothamsted.brussels, shafii.rapeseed, smith.uniformity3, stroup.nin, stroup.splitplot, student.barley, talbot.potato, theobald.covariate, thompson.cornsoy, vargas.wheat1, vargas.wheat2, verbyla.lupin, williams.trees, wiebe.wheat.uniformity, yan.winterwheat, yates.missing, yates.oats
-% agridat notes
-Do NOT use Roxygen to document data, because it will complain about data/*.txt files with error messages like: Error: âuscrimeâ is not an exported object from ânamespace:agridatâ
-This document lists notes about data sources searched and additional sources of agricultural data. Although this is an .md file, the formatting is best viewed in plain text mode.
-Henry Wallace archive at Univ Iowa Library http://www.lib.uiowa.edu/sc/location-and-hours/ Henry Wallace research papers http://aspace.lib.uiowa.edu/repositories/2/archival_objects/400608 500 Ear experiment. Might be the data for âWhat is in the corn judgeâs mindâ paper http://aspace.lib.uiowa.edu/repositories/2/archival_objects/400615
-rpathanalysis http://cucurbitbreeding.com/todd-wehner/publications/software-sas-r-project/
-adugna.sorghum 28g,13l,5y brandle.rape 5g,9l,3y denis.missing 5g,26e digby.jointregression 10g,17l fan.stability 13g,10l,2y hildebrand.systems huehn.wheat 20g,10e lu.stability 5g,6e pieopho.cocksfoot 25g,7y williams.trees 37g,6l
-kamidi 11g,7l lin.balanced 33g,12l lin.unbalanced 33g,18l
-Jose Crossa papers http://repository.cimmyt.org/xmlui/handle/10883/1/browse?value=Crossa,%20J.&type=author Meta-r http://repository.cimmyt.org/xmlui/handle/10883/4130 Data http://repository.cimmyt.org/xmlui/handle/10883/4036 http://repository.cimmyt.org/xmlui/handle/10883/2976 http://repository.cimmyt.org/xmlui/handle/10883/1380 http://repository.cimmyt.org/xmlui/handle/10883/4128 http://repository.cimmyt.org/xmlui/handle/10883/4290
-Review of meta-analyses in agronomy http://www6.versailles-grignon.inra.fr/agronomie/Meta-analysis-in-agronomy/References
-Richard Plant http://www.plantsciences.ucdavis.edu/plant/qgislabs.htm CC-SA license
-Biplot/StdErr/ VanEeuwijk 1993 - Incorporating env info Biplot Bartkowiak GxE table GE folder: Crossa 1997
-Stability folder Fan 2007 - Yield stability of maize GxE Flores 1998 Flores 1998 - bean & pea yields, Flores 2012, Flores 2013
-F2 data. Folder: GE http://www.frontiersin.org/Plant_Physiology/10.3389/fphys.2013.00044/abstract CC license:
-https://www.g3journal.org/content/6/5/1313 http://www.g3journal.org/content/6/5/1313/suppl/DC1
-Comparison Between Linear and Non-parametric Regression Models for Genome-Enabled Prediction in Wheat https://www.scienceopen.com/document/vid/4017fb51-381c-4374-93aa-608423df4004;jsessionid=0TLjjSbaooSUk1y3JKd4nUeb.master:so-app1-prd Data: http://www.g3journal.org/content/suppl/2012/12/05/2.12.1595.DC1 All content has CC license
-Genetic Covariance of Environments in the Potato National Chip Processing Trial https://dl.sciencesocieties.org/publications/cs/articles/59/1/107
-Genetic Variance Partitioning and Genome-Wide Prediction with Allele Dosage Information in Autotetraploid Potato https://www.genetics.org/content/209/1/77
-http://articles.extension.org/plant_breeding_genomics Many interesting pages. License is not clear, but developed with help of USDA.
-Introduction to the rrBLUP Package in R for Genomewide Selection Webinar http://pbgworks.org/node/1440
-http://www.jstor.org/action/showPublication?journalCode=biometrics
-http://archive.org Vol 3-5, 23-24 26
-http://www.sciencedirect.com/science/journal/03784290/157 Vol 1-40
-Vol 1. 309
-Vol 2. 53 694
-Vol 3. 544 5 varieties, 2 blocks, 4 reps/block
-Vol 4.
-Vol 5. 579. Multi-year uniformity trial. agridat::bose.multi.uniformity
-Vol 6. Pg 85 has 4-way factorial with whole-plot date, but non-contiguous sub-plots.
-Vol 9.
-Vol 10.
-Vol 11.
-Vol 12. 240. Wheat uniformity trial. agridat::iyer.wheat.uniformity
-Vol 14. 315
-Vol 16.
-Vol 17.
-Vol 19.
-http://www.isas.org.in/jsp/onlinejournal.jsp Skimmed: Vol 50-56
-http://www.jstor.org/action/showPublication?journalCode=jroyastatsocise4 Datasets 1998-2015 http://onlinelibrary.wiley.com/journal/10.1111/(ISSN)1467-9868/homepage/seriesb_datasets.htm http://onlinelibrary.wiley.com/journal/10.1111/%28ISSN%291467-985X/homepage/datasets_all_series.htm
-http://onlinelibrary.wiley.com/journal/10.1111/%28ISSN%291467-985X/homepage/datasets_all_series.htm 1998-2015
-Vol 19-24, 1906-1911 https://books.google.com/books?id=HBlJAAAAMAAJ Vol 25, 1912 https://books.google.com/books?id=M-5BAQAAMAAJ
-Helen Elizabeth Conners (1951). Field plot techniques for sweet potatoes obtained from uniformity trial data. Masterâs Thesis. No data given.
-Robert LeRoy Plaisted (1954). Field plot techniques for estimating onion yields. Masterâs Thesis. No data given.
-Michael Holle. 1960. Plot technique for field evaluation of three characters in the lima bean. Masterâs Thesis. No data given.
-Howard Lewis Taylor (1951). The effect of plot shape on experimental error. Masterâs Thesis. No data given. Used data from a corn uniformity trial, oats uniformity, and the data of Fairfield Smith. Smaller experimental errors were found for long narrow plots.
-http://www.soils.umn.edu/academics/classes/soil4111/hw/ Available on Wayback. Yield monitor data for two fields with soils layer.
-Ecol 563 Stat Meth in Ecology http://www.unc.edu/courses/2010fall/ecol/563/001/ Env Studies 562 Stat for Envt Science http://www.unc.edu/courses/2010spring/ecol/562/001/ Ecol 145 http://www.unc.edu/courses/2006spring/ecol/145/001/docs/lectures.htm
-http://www.sciencedirect.com/science/journal/01681699/103 Vol 1-110 180-191
-https://www.cambridge.org/core/journals/journal-of-agricultural-science/all-issues 1900-2016
-https://www.cambridge.org/core/journals/experimental-agriculture 1965-2016
-http://support.sas.com/events/sasglobalforum/previous/online.html 22-31, 2007-2013
-aastveit.barley.Rd
Average height for 15 genotypes of barley in each of 9 years. - Also 19 covariates in each of the 9 years.
-data("aastveit.barley.covs") -data("aastveit.barley.height")- - -
The 'aastveit.barley.covs' dataframe has 9 observations on the following 20 variables.
year
year
R1
avg rainfall (mm/day) in period 1
R2
avg rainfall (mm/day) in period 2
R3
avg rainfall (mm/day) in period 3
R4
avg rainfall (mm/day) in period 4
R5
avg rainfall (mm/day) in period 5
R6
avg rainfall (mm/day) in period 6
S1
daily solar radiation (ca/cm^2) in period 1
S2
daily solar radiation (ca/cm^2) in period 2
S3
daily solar radiation (ca/cm^2) in period 3
S4
daily solar radiation (ca/cm^2) in period 4
S5
daily solar radiation (ca/cm^2) in period 5
S6
daily solar radiation (ca/cm^2) in period 6
ST
sowing date
T1
avg temp (deg Celsius) in period 1
T2
avg temp (deg Celsius) in period 2
T3
avg temp (deg Celsius) in period 3
T4
avg temp (deg Celsius) in period 4
T5
avg temp (deg Celsius) in period 5
T6
avg temp (deg Celsius) in period 6
value
value of the covariate
The 'aastveit.barley.height' dataframe has 135 observations on the - following 3 variables.
year
year, 9
gen
genotype, 15 levels
height
height (cm)
Experiments were conducted at As, Norway.
-The height
dataframe contains average plant height (cm) of 15 varieties
- of barley in each of 9 years.
The growth season of each year was divided into eight periods from - sowing to harvest. Because the plant stop growing about 20 days after - ear emergence, only the first 6 periods are included here.
-Used with permission of Harald Martens.
-Aastveit, A. H. and Martens, H. (1986). - ANOVA interactions interpreted by partial least squares regression. - Biometrics, 42, 829--844. - https://doi.org/10.2307/2530697
-J. Chadoeuf and J. B. Denis (1991). - Asymptotic variances for the multiplicative interaction model. - J. App. Stat., 18, 331-353. - https://doi.org/10.1080/02664769100000032
- --# \dontrun{ - -library(agridat) -data("aastveit.barley.covs") -data("aastveit.barley.height") - -libs(reshape2, pls) -#> -#>#>-#> -#>- # First, PCA of each matrix separately - - Z <- acast(aastveit.barley.height, year ~ gen, value.var="height") - Z <- sweep(Z, 1, rowMeans(Z)) - Z <- sweep(Z, 2, colMeans(Z)) # Double-centered - sum(Z^2)*4 # Total SS = 10165 -#> [1] 10165.55#> [1] 74.4 7.9 5.0 4.8 3.6 2.1 1.4 0.7 0.0# Aastveit Figure 1. PCA of height - biplot(prcomp(Z), - main="aastveit.barley - height", cex=0.5) -- U <- aastveit.barley.covs - rownames(U) <- U$year - U$year <- NULL - U <- scale(U) # Standardized covariates - sv <- svd(U)$d - # Proportion of variance on each axis - round(100 * sv^2/sum(sv^2),1) -#> [1] 33.5 18.4 16.5 13.9 8.8 4.4 2.4 2.1 0.0#> -#> Loadings: -#> Comp 1 Comp 2 Comp 3 Comp 4 Comp 5 Comp 6 Comp 7 Comp 8 -#> R1 -0.131 0.232 -0.345 0.411 0.140 -0.157 0.130 -#> R2 0.141 -0.139 0.549 -0.343 0.148 -#> R3 0.505 0.231 -0.125 -0.163 -#> R4 0.358 -0.174 0.123 0.103 -0.182 0.420 -#> R5 0.152 0.425 0.150 0.141 0.141 0.495 -0.300 -#> R6 0.230 -0.362 -0.211 0.173 0.148 -0.129 -#> S1 0.172 -0.427 0.191 0.331 0.124 -#> S2 -0.122 -0.509 0.281 -0.554 0.106 -#> S3 -0.135 -0.388 -0.226 0.230 0.297 -0.448 -#> S4 -0.284 -0.290 -0.238 -0.157 -#> S5 -0.345 -0.206 0.250 -0.320 -0.138 -#> S6 -0.349 0.249 0.138 0.132 -0.120 -#> ST 0.299 -0.117 -0.417 0.110 -0.239 -#> T1 0.243 -0.169 0.316 0.175 -0.209 0.196 0.106 -0.271 -#> T2 0.156 0.197 -0.353 -0.440 -0.261 -0.217 -#> T3 0.318 -0.144 -0.244 0.239 0.410 -#> T4 -0.110 -0.315 -0.201 -0.482 0.151 0.266 0.143 -#> T5 -0.239 -0.105 0.331 -0.105 -0.388 0.274 0.325 -#> T6 -0.267 0.170 -0.131 0.331 0.318 0.467 0.184 -#> -#> Comp 1 Comp 2 Comp 3 Comp 4 Comp 5 Comp 6 Comp 7 Comp 8 -#> SS loadings 1.025 1.024 1.020 1.230 1.013 1.055 1.000 1.000 -#> Proportion Var 0.054 0.054 0.054 0.065 0.053 0.056 0.053 0.053 -#> Cumulative Var 0.054 0.108 0.162 0.226 0.280 0.335 0.388 0.440- # Adapted from section 7.4 of Turner & Firth, - # "Generalized nonlinear models in R: An overview of the gnm package" - # who in turn reproduce the analysis of Chadoeuf & Denis (1991), - # "Asymptotic variances for the multiplicative interaction model" - - libs(gnm) -dath <- aastveit.barley.height - dath$year = factor(dath$year) - - set.seed(42) - m2 <- gnm(height ~ year + gen + Mult(year, gen), data = dath) -#> Initialising -#> Running start-up iterations.. -#> Running main iterations........ -#> Done# Turner: "To obtain parameterization of equation 1, in which sig_k is the - # singular value for component k, the row and column scores must be constrained - # so that the scores sum to zero and the squared scores sum to one. - # These contrasts can be obtained using getContrasts" - gamma <- getContrasts(m2, pickCoef(m2, "[.]y"), - ref = "mean", scaleWeights = "unit") - delta <- getContrasts(m2, pickCoef(m2, "[.]g"), - ref = "mean", scaleWeights = "unit") - # estimate & std err - gamma <- gamma$qvframe - delta <- delta$qvframe - # change sign of estimate - gamma[,1] <- -1 * gamma[,1] - delta[,1] <- -1 * delta[,1] - # conf limits based on asymptotic normality, Chadoeuf table 8, p. 350, - round(cbind(gamma[,1], gamma[, 1] + - outer(gamma[, 2], c(-1.96, 1.96))) ,3) -#> [,1] [,2] [,3] -#> [1,] -0.227 -0.337 -0.116 -#> [2,] -0.514 -0.609 -0.418 -#> [3,] -0.439 -0.539 -0.339 -#> [4,] 0.200 0.090 0.311 -#> [5,] 0.533 0.440 0.627 -#> [6,] -0.142 -0.254 -0.030 -#> [7,] 0.332 0.226 0.439 -#> [8,] 0.176 0.064 0.287 -#> [9,] 0.079 -0.034 0.192#> [,1] [,2] [,3] -#> [1,] -0.079 -0.195 0.037 -#> [2,] -0.008 -0.124 0.109 -#> [3,] -0.170 -0.284 -0.055 -#> [4,] 0.047 -0.069 0.163 -#> [5,] -0.181 -0.296 -0.067 -#> [6,] -0.129 -0.245 -0.014 -#> [7,] -0.014 -0.130 0.103 -#> [8,] 0.422 0.318 0.527 -#> [9,] 0.271 0.159 0.382 -#> [10,] 0.335 0.226 0.444 -#> [11,] 0.376 0.269 0.483 -#> [12,] -0.285 -0.396 -0.174 -#> [13,] 0.168 0.054 0.283 -#> [14,] -0.293 -0.404 -0.182 -#> [15,] -0.460 -0.563 -0.358# } -
acorsi.grayleafspot.Rd
Multi-environment trial evaluating 36 maize genotypes in 9 locations
-data("acorsi.grayleafspot")
A data frame with 324 observations on the following 3 variables.
gen
genotype, 36 levels
env
environment, 9 levels
rep
replicate, 2 levels
y
grey leaf spot severity
Experiments conducted in 9 environments in Brazil in 2010-11. Each - location had an RCB with 2 reps.
-The response variable is the percentage of leaf area affected by gray - leaf spot within each experimental unit (plot).
-Acorsi et al. use this data to illustrate the fitting of a generalized - AMMI model with non-normal data.
-C. R. L. Acorsi, T. A. Guedes, M. M. D. Coan, R. J. B. Pinto, - C. A. Scapim, C. A. P. Pacheco, P. E. O. Guimaraes, C. R. Casela. (2016). - Applying the generalized additive main effects and multiplicative - interaction model to analysis of maize genotypes resistant to grey leaf spot. - Journal of Agricultural Science. - https://doi.org/10.1017/S0021859616001015
-Electronic data and R code kindly provided by Marlon Coan.
-None
-# \dontrun{
-
- library(agridat)
- data(acorsi.grayleafspot)
- dat <- acorsi.grayleafspot
-
- # Acorsi figure 2. Note: Acorsi used cell means
- op <- par(mfrow=c(2,1), mar=c(5,4,3,2))
- libs(lattice)
- boxplot(y ~ env, dat, las=2,
- xlab="environment", ylab="GLS severity")
- title("acorsi.grayleafspot")
- boxplot(y ~ gen, dat, las=2,
- xlab="genotype", ylab="GLS severity")
-
- par(op)
-
- # GLM models
-
- # glm main-effects model with logit u(1-u) and wedderburn u^2(1-u)^2
- # variance functions
- # glm1 <- glm(y~ env/rep + gen + env, data=dat, family=quasibinomial)
- # glm2 <- glm(y~ env/rep + gen + env, data=dat, family=wedderburn)
- # plot(glm2, which=1); plot(glm2, which=2)
-
- # GAMMI models of Acorsi. See also section 7.4 of Turner
- # "Generalized nonlinear models in R: An overview of the gnm package"
-
- # full gnm model with wedderburn, seems to work
- libs(gnm)
-#>
-#> Attaching package: 'gnm'
-#> The following object is masked from 'package:lattice':
-#>
-#> barley
- set.seed(1)
- gnm1 <- gnm(y ~ env/rep + env + gen + instances(Mult(env,gen),2),
- data=dat,
- family=wedderburn, iterMax =800)
-#> Initialising
-#> Running start-up iterations..
-#> Running main iterations.........................................................
-#> ................................................................................
-#> ................................................................................
-#> ................
-#> Done
- deviance(gnm1) # 433.8548
-#> [1] 433.8548
- # summary(gnm1)
- # anova(gnm1, test ="F") # anodev, Acorsi table 4
- ## Df Deviance Resid. Df Resid. Dev F Pr(>F)
- ## NULL 647 3355.5
- ## env 8 1045.09 639 2310.4 68.4696 < 2.2e-16 ***
- ## env:rep 9 12.33 630 2298.1 0.7183 0.6923
- ## gen 35 1176.23 595 1121.9 17.6142 < 2.2e-16 ***
- ## Mult(env, gen, inst = 1) 42 375.94 553 745.9 4.6915 < 2.2e-16 ***
- ## Mult(env, gen, inst = 2) 40 312.06 513 433.9 4.0889 3.712e-14 ***
-
-
- # maybe better, start simple and build up the model
- gnm2a <- gnm(y ~ env/rep + env + gen,
- data=dat,
- family=wedderburn, iterMax =800)
-
- # add first interaction term
- res2a <- residSVD(gnm2a, env, gen, 2)
- gnm2b <- update(gnm2a, . ~ . + Mult(env,gen,inst=1),
- start = c(coef(gnm2a), res2a[, 1]))
-#> Running main iterations.........................................................
-#> ................................................................................
-#> .................................................................
-#> Done
- deviance(gnm2b) # 692.19
-#> [1] 692.1921
-
- # add second interaction term
- res2b <- residSVD(gnm2b, env, gen, 2)
- gnm2c <- update(gnm2b, . ~ . + Mult(env,gen,inst=1) + Mult(env,gen,inst=2),
- start = c(coef(gnm2a), res2a[, 1], res2b[,1]))
-#> Running main iterations.........................................................
-#> ................................................................................
-#> ................................................................................
-#> ................................................................................
-#> ................................................................................
-#> ....................
-#> Done
- deviance(gnm2c) # 433.8548
-#> [1] 433.8548
- # anova(gnm2c) # weird error message
-
- # note, to build the ammi biplot, use the first column of res2a to get
- # axis 1, and the FIRST column of res2b to get axis 2. Slightly confusing
- emat <- cbind(res2a[1:9, 1], res2b[1:9, 1])
- rownames(emat) <- gsub("fac1.", "", rownames(emat))
-
- gmat <- cbind(res2a[10:45, 1], res2b[10:45, 1])
- rownames(gmat) <- gsub("fac2.", "", rownames(gmat))
-
- # match Acorsi figure 4
- biplot(gmat, emat, xlim=c(-2.2, 2.2), ylim=c(-2.2, 2.2), expand=2, cex=0.5,
- xlab="Axis 1", ylab="Axis 2",
- main="acorsi.grayleafspot - GAMMI biplot")
-
-# }
-
-
adugna.sorghum.Rd
Multi-environment trial of sorghum at 3 locations across 5 years
-A data frame with 289 observations on the following 6 variables.
gen
genotype, 28 levels
trial
trial, 2 levels
env
environment, 13 levels
yield
yield kg/ha
year
year, 2001-2005
loc
location, 3 levels
Sorghum yields at 3 locations across 5 years. - The trials were carried out at three locations in dry, hot lowlands of - Ethiopia:
-Melkassa (39 deg 21 min E, 8 deg 24 min N)
-Mieso (39 deg 22 min E, 8 deg 41 min N)
-Kobo (39 deg 37 min E, 12 deg 09 min N)
-Trial 1 was 14 hybrids and one open-pollinated variety.
-Trial 2 was 12 experimental lines.
-Used with permission of Asfaw Adugna.
-Asfaw Adugna (2008). - Assessment of yield stability in sorghum using - univariate and multivariate statistical approaches. - Hereditas, 145, 28--37. - https://doi.org/10.1111/j.0018-0661.2008.2023.x
- --# \dontrun{ - -library(agridat) -data(adugna.sorghum) -dat <- adugna.sorghum - -libs(lattice) -redblue <- colorRampPalette(c("firebrick", "lightgray", "#375997")) -levelplot(yield ~ env*gen, data=dat, main="adugna.sorghum gxe heatmap", - col.regions=redblue) -#> G01 G02 G03 G04 G05 G06 G07 G08 -#> 5080.125 4672.875 5043.500 4842.000 4704.250 4769.500 4523.625 4142.625 -#> G09 G10 G11 G12 G13 G14 G15 G16 -#> 4443.500 4377.250 4950.125 4306.625 4390.625 4635.625 4285.000 3396.692 -#> G17 G18 G19 G20 G21 G22 G23 G24 -#> 3392.154 3279.231 3833.154 3569.769 3968.538 3556.308 3758.538 3421.077 -#> G25 G26 G27 G28 -#> 3383.308 3323.077 3171.000 3312.154-# CV for each genotype. G1..G15 match, except for G2. -# The table in Adugna scrambles the means for G16..G28 -libs(reshape2) -mat <- acast(dat, gen~env, value.var='yield') -round(sqrt(apply(mat, 1, var, na.rm=TRUE)) / apply(mat, 1, mean, na.rm=TRUE) * 100,2) -#> G01 G02 G03 G04 G05 G06 G07 G08 G09 G10 G11 G12 G13 -#> 26.45 24.89 18.68 36.45 22.18 30.47 43.32 21.42 26.02 21.38 13.36 15.44 23.54 -#> G14 G15 G16 G17 G18 G19 G20 G21 G22 G23 G24 G25 G26 -#> 18.05 26.87 43.77 40.23 42.02 51.50 43.33 40.99 42.73 36.48 54.29 39.62 39.96 -#> G27 G28 -#> 39.51 42.60-# Shukla stability. G1..G15 match Adugna. Can't match G16..G28. -dat1 <- droplevels(subset(dat, trial=="T1")) -mat1 <- acast(dat1, gen~env, value.var='yield') -w <- mat1; k=15; n=8 # k=p gen, n=q env -w <- sweep(w, 1, rowMeans(mat1, na.rm=TRUE)) -w <- sweep(w, 2, colMeans(mat1, na.rm=TRUE)) -w <- w + mean(mat1, na.rm=TRUE) -w <- rowSums(w^2, na.rm=TRUE) -sig2 <- k*w/((k-2)*(n-1)) - sum(w)/((k-1)*(k-2)*(n-1)) -round(sig2/10000,1) # Genotypes in T1 are divided by 10000 -#> G01 G02 G03 G04 G05 G06 G07 G08 G09 G10 G11 G12 G13 -#> 15.6 7.0 9.2 74.2 3.6 28.3 133.5 9.6 14.2 9.7 44.9 67.9 23.0 -#> G14 G15 -#> 28.3 20.2# } - -
agridat.Rd
This package contains datasets from publications relating to agriculture, - including field crops, tree crops, animal studies, and a few others.
-If you use these data, please cite both the agridat package and the - original source of the data.
-Abbreviations in the 'other' column include: - xy = coordinates, - pls = partial least squares, - rsm = response surface methodology, - row-col = row-column design, - ts = time series,
-Uniformity trials with a single genotype
-Yield monitor
name | reps | years | trt | other | model |
gartner.corn | xy,ym | ||||
lasrosas.corn | 3 | 2 | 6 | xy,ym | lm |
kayad.alfalfa | 4 | xy,ym |
Animals
-name | gen | years | trt | other | model |
alwan.lamb | 34 | 2 | ordinal | clmm | |
becker.chicken | 5,12 | heritability | lmer | ||
crampton.pig | 5 | 2 cov | lm | ||
brandt.switchback | 10 | 2 | aov | ||
depalluel.sheep | 4 | 4 | latin | ||
diggle.cow | 4 | ts | |||
foulley.calving | ordinal | polr | |||
goulden.eggs | controlchart | ||||
harvey.lsmeans | 3,3 | lm | |||
harville.lamb | 5 | lmer | |||
henderson.milkfat | nls,lm,glm,gam | ||||
holland.arthropods | 5 | ||||
ilri.sheep | 4 | 6 | diallel | lmer, asreml | |
kenward.cattle | 2 | asreml | |||
lucas.switchback | 12 | 3 | aov | ||
mead.lamb | 3 | 3 | glm | ||
patterson.switchback | 12 | 4 | aov | ||
urquhart.feedlot | 11 | 3 | lm | ||
woodman.pig | 3 | cov | lm | ||
zuidhof.broiler | ts |
Trees
-name | gen | loc | reps | years | trt | other | model |
box.cork | repeated | radial, asreml | |||||
devries.pine | 4 | 3,3 | xy,graeco | aov | |||
harris.wateruse | 2 | 2 | repeated | asreml,lme | |||
hanover.whitepine | 7*4 | 4 | heritability | lmer | |||
johnson.douglasfir | xy | ||||||
lavoranti.eucalyptus | 70 | 7 | svd | ||||
pearce.apple | 4 | 6 | cov | lm,lmer | |||
williams.trees | 37 | 6 | 2 |
Field and horticulture crops
-Time series
name | years | trt | other | model |
byers.apple | lme | |||
broadbalk.wheat | 74 | 17 | ||
hessling.argentina | 30 | temp,precip | ||
kreusler.maize | 4 | 5 | plant growth | |
lambert.soiltemp | 1 | 7 | ||
nass.barley | 146 | |||
nass.corn | 146 | |||
nass.cotton | 146 | |||
nass.hay | 104 | |||
nass.sorghum | 93 | |||
nass.wheat | 146 | |||
nass.rice | 117 | |||
nass.soybean | 88 | |||
walsh.cottonprice | 34 | cor |
Other
-name | model |
cate.potassium | cate-nelson |
cleveland.soil | loess 2D |
harrison.priors | nls, prior |
nebraska.farmincome | choropleth |
pearl.kernels | chisq |
stirret.borers | lm, 4 trt |
turner.herbicide | glm, 4 trt |
usgs.herbicides | non-detect |
wallace.iowaland | lm, choropleth |
waynick.soil | spatial, nitro/carbon |
Summaries:
-Multi-environment trials with multi-genotype,loc,rep,year:
name | gen | loc | reps | years | trt | other | model |
barrero.maize | 847 | 16 | 4 | 11 | 6 | asreml | |
edwards.oats | 80 | 5 | 3 | 7 | |||
gauch.soy | 7 | 7 | 4 | 12 | ammi | ||
george.wheat | 211 | 9 | 4 | 15 | |||
shafii.rapeseed | 6 | 14 | 3 | 3 | biplot | ||
shaw.oats | 13 | 2 | 5 | 3 | aov | ||
verbyla.lupin | 9 | 8 | 3 | 2 | 7 | rsm1, xy, density | asreml |
Data with markers: -hadasch.lettuce.markers, -steptoe.morex.geno
-Data with pedigree: -butron.maize
-J. White and Frits van Evert. (2008). - Publishing Agronomic Data. - Agron J. 100, 1396-1400. - https://doi.org/10.2134/agronj2008.0080F
-allcroft.lodging.Rd
Percent lodging is given for 32 genotypes at 7 environments.
-A data frame with 224 observations on the following 3 variables.
env
environment, 1-7
gen
genotype, 1-32
y
percent lodged
This data is for the first year of a three-year study.
-Used with permission of Chris Glasbey.
-D. J. Allcroft and C. A. Glasbey, 2003. - Analysis of crop lodging using a latent variable model. - Journal of Agricultural Science, 140, 383--393. - https://doi.org/10.1017/S0021859603003332
- --# \dontrun{ - -library(agridat) -data(allcroft.lodging) -dat <- allcroft.lodging - -# Transformation -dat$sy <- sqrt(dat$y) -# Variety 4 has no lodging anywhere, so add a small amount -dat[dat$env=='E5' & dat$gen=='G04',]$sy <- .01 - -libs(lattice) -dotplot(env~y|gen, dat, as.table=TRUE, - xlab="Percent lodged (by genotype)", ylab="Variety", - main="allcroft.lodging") -#>#>#>#>#> -#>#>-#> -#>#>#>m3 <- tobit(sy ~ 1 + gen + env, left=0, right=100, data=dat) - -# Table 2 trial/variety means -preds <- expand.grid(gen=levels(dat$gen), env=levels(dat$env)) -preds$pred <- predict(m3, newdata=preds) -round(tapply(preds$pred, preds$gen, mean),2) -#> G01 G02 G03 G04 G05 G06 G07 G08 G09 G10 G11 G12 G13 -#> -0.52 -2.77 1.68 -3.63 -2.57 -0.32 -2.27 0.94 -0.82 -2.95 -2.35 -2.95 -0.48 -#> G14 G15 G16 G17 G18 G19 G20 G21 G22 G23 G24 G25 G26 -#> -1.45 0.72 0.35 -0.48 -2.29 0.08 -2.70 -1.31 -1.47 1.23 -0.66 -0.32 -2.08 -#> G27 G28 G29 G30 G31 G32 -#> -1.66 0.19 -0.92 0.86 0.16 0.87#> E1 E2 E3 E4 E5 E6 E7 -#> -0.03 -2.48 -2.37 -0.60 2.47 -1.73 -1.79-# } -
alwan.lamb.Rd
For the 34 sheep sires, the number of lambs in each of 5 foot shape classes.
-data("alwan.lamb")- - -
A data frame with 340 observations on the following 11 variables.
year
numeric 1980/1981
breed
breed PP, BRP, BR
sex
sex of lamb M/F
sire0
sire ID according to Alwan
shape
sire ID according to Gilmour
count
number of lambs
sire
shape of foot
yr
numeric contrast for year
b1
numeric contrast for breeds
b2
numeric contrast for breeds
b3
numeric contrast for breeds
There were 2513 lambs classified on the presence of deformities in - their feet. The lambs represent the offspring of 34 sires, 5 strains, - 2 years.
-The variables yr, b1, b2, b3 are numeric contrasts for the fixed - effects as defined in the paper by Gilmour (1987) and used in the SAS - example. Gilmour does not explain the reason for the particular - contrasts. The counts for classes LF1, LF2, LF3 were combined.
-Mohammed Alwan (1983). - Studies of the flock mating performance of Booroola merino crossbred ram lambs, and the foot conditions in Booroola merino crossbreds and Perendale sheep grazed on hill country. - Thesis, Massey University. https://hdl.handle.net/10179/5900 - Appendix I, II.
-Gilmour, Anderson, and Rae (1987). - Variance components on an underlying scale for ordered multiple threshold categorical data using a generalized linear mixed model. - Journal of Animal Breeding and Genetics, 104, 149-155. - https://doi.org/10.1111/j.1439-0388.1987.tb00117.x
-SAS/STAT(R) 9.2 Users Guide, Second Edition - Example 38.11 Maximum Likelihood in Proportional Odds Model with Random Effects - https://support.sas.com/documentation/cdl/en/statug/63033/HTML/default/viewer.htm
- --# \dontrun{ - - library(agridat) - data(alwan.lamb) - dat <- alwan.lamb - - # merge LF1 LF2 LF3 class counts, and combine M/F - dat$shape <- as.character(dat$shape) - dat$shape <- ifelse(dat$shape=="LF2", "LF3", dat$shape) - dat$shape <- ifelse(dat$shape=="LF1", "LF3", dat$shape) - dat <- aggregate(count ~ year+breed+sire0+sire+shape+yr+b1+b2+b3, - dat, FUN=sum) - - dat <- transform(dat, - year=factor(year), breed=factor(breed), - sire0=factor(sire0), sire=factor(sire)) - # LF5 or LF3 first is a bit arbitary...affects the sign of the coefficients - dat <- transform(dat, shape=ordered(shape, levels=c("LF5","LF4","LF3"))) - - # View counts by year and breed - libs(latticeExtra) - dat2 <- aggregate(count ~ year+breed+shape, dat, FUN=sum) - useOuterStrips(barchart(count ~ shape|year*breed, data=dat2, - main="alwan.lamb")) -- # Model used by Gilmour and SAS - dat <- subset(dat, count > 0) - libs(ordinal) - m1 <- clmm(shape ~ yr + b1 + b2 + b3 + (1|sire), data=dat, - weights=count, link="probit", Hess=TRUE) - summary(m1) # Very similar to Gilmour results -#> Cumulative Link Mixed Model fitted with the Laplace approximation -#> -#> formula: shape ~ yr + b1 + b2 + b3 + (1 | sire) -#> data: dat -#> -#> link threshold nobs logLik AIC niter max.grad cond.H -#> probit flexible 2513 -1935.06 3884.12 477(1435) 3.26e-03 3.7e+01 -#> -#> Random effects: -#> Groups Name Variance Std.Dev. -#> sire (Intercept) 0.04849 0.2202 -#> Number of groups: sire 34 -#> -#> Coefficients: -#> Estimate Std. Error z value Pr(>|z|) -#> yr -0.14222 0.04834 -2.942 0.00326 ** -#> b1 -0.37808 0.07154 -5.285 1.26e-07 *** -#> b2 -0.31570 0.09709 -3.252 0.00115 ** -#> b3 0.09887 0.06508 1.519 0.12872 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 -#> -#> Threshold coefficients: -#> Estimate Std. Error z value -#> LF5|LF4 0.37814 0.04907 7.707 -#> LF4|LF3 1.64351 0.05930 27.717#> $sire -#> (Intercept) -#> S01 0.254544356 -#> S02 0.163964153 -#> S03 0.069022446 -#> S04 -0.035227884 -#> S05 -0.062963869 -#> S06 -0.142210089 -#> S07 -0.228308187 -#> S08 0.362315018 -#> S09 0.092873448 -#> S10 0.062107084 -#> S11 0.049561258 -#> S12 -0.265957083 -#> S13 -0.293272810 -#> S14 0.104669108 -#> S15 0.041998914 -#> S16 -0.145156128 -#> S17 0.441200144 -#> S18 0.061379717 -#> S19 0.009783405 -#> S20 -0.136898196 -#> S21 -0.145735910 -#> S22 -0.224834944 -#> S23 0.271311572 -#> S24 0.220700448 -#> S25 0.118450870 -#> S26 0.082118202 -#> S27 0.029036648 -#> S28 0.027969069 -#> S29 0.027125179 -#> S30 -0.009727541 -#> S31 -0.095941137 -#> S32 -0.143177140 -#> S33 -0.196628516 -#> S34 -0.315856884 -#>- ## SAS var of sires .04849 - ## Effect Shape Estimate Standard Error DF t Value Pr > |t| - ## Intercept 1 0.3781 0.04907 29 7.71 <.0001 - ## Intercept 2 1.6435 0.05930 29 27.72 <.0001 - ## yr 0.1422 0.04834 2478 2.94 0.0033 - ## b1 0.3781 0.07154 2478 5.28 <.0001 - ## b2 0.3157 0.09709 2478 3.25 0.0012 - ## b3 -0.09887 0.06508 2478 -1.52 0.1289 - - ## Gilmour results for probit analysis - ## Int1 .370 +/- .052 - ## Int2 1.603 +/- .061 - ## Year -.139 +/- .052 - ## B1 -.370 +/- .076 - ## B2 -.304 +/- .103 - ## B3 .098 +/- .070 - - # Plot random sire effects with intervals, similar to SAS example - plot.random <- function(model, random.effect, ylim=NULL, xlab="", main="") { - tab <- ordinal::ranef(model)[[random.effect]] - tab <- data.frame(lab=rownames(tab), est=tab$"(Intercept)") - tab <- transform(tab, - lo = est - 1.96 * sqrt(model$condVar), - hi = est + 1.96 * sqrt(model$condVar)) - # sort by est, and return index - ix <- order(tab$est) - tab <- tab[ix,] - - if(is.null(ylim)) ylim <- range(c(tab$lo, tab$hi)) - n <- nrow(tab) - plot(1:n, tab$est, axes=FALSE, ylim=ylim, xlab=xlab, - ylab="effect", main=main, type="n") - text(1:n, tab$est, labels=substring(tab$lab,2) , cex=.75) - axis(1) - axis(2) - segments(1:n, tab$lo, 1:n, tab$hi, col="gray30") - abline(h=c(-.5, -.25, 0, .25, .5), col="gray") - return(ix) - } - ix <- plot.random(m1, "sire") -- # foot-shape proportions for each sire, sorted by estimated sire effects - # positive sire effects tend to have lower proportion of lambs in LF4 and LF5 - tab <- prop.table(xtabs(count ~ sire+shape, dat), margin=1) - tab <- tab[ix,] - tab <- tab[nrow(tab):1,] # reverse the order - lattice::barchart(tab, - horizontal=FALSE, auto.key=TRUE, - main="alwan.lamb", xlab="Sire", ylab="Proportion of lambs", - scales=list(x=list(rot=70)), - par.settings = simpleTheme(col=c("yellow","orange","red")) ) -
ansari.wheat.uniformity.Rd
Uniformity trial of wheat in India in 1940.
-data("ansari.wheat.uniformity")- - -
A data frame with 768 observations on the following 3 variables.
row
row
col
column
yield
yield of grain per plot, in half-ounces
An experiment was conducted at the Government Research Farm, Raya - (Muttra District), during the rainy season of 1939-40.
-"Wheat was sown over an area of 180 ft. x 243 ft. with 324 rows on a - field of average fertility. It had wheat during 1938-39 rabi and was - fallow during 1939-40 kharif. The seed was sown behind desi plough in - rows 9 in. apart, the length of each row being 180 ft".
-"At the time of harvest, 18 rows on both sides and 10 ft. at the end of - the field were discarded to eliminate border effects and an area of - 160 ft. x 216 ft. with 288 rows was harvested in small units, each - being 2 ft. 3 in. broad with three rows 20 ft. long. There were 96 - units across the rows and eight units along the rows. The total number - of unit plots thus obtained was 768. The yield of grain for each unit - plot was weighed and recorded separately and is given in the appendix."
-Field width: 96 plots * 2.25 feet = 216 feet.
-Field length: 8 plots * 20 feet = 160 feet.
-Comment: There seems to be a strong cyclical patern to the fertility gradient. - "History of the field reveals no explanation for this phenomenon, as an average - field usually found on the farm was selected for the trial."
-Ansari, M. A. A., and G. K. Sant (1943). - A Study of Soil Heterogeneity in Relation to Size and Shape of Plots in a Wheat Field at Raya (Muhra District). - Ind. J. Agr. Sci, 13, 652-658. - https://archive.org/details/in.ernet.dli.2015.271748
-None
- --# \dontrun{ - - library(agridat) - data(ansari.wheat.uniformity) - dat <- ansari.wheat.uniformity - - # match Ansari figure 3 - libs(desplot) - desplot(dat, yield ~ col*row, - flip=TRUE, aspect=216/160, # true aspect - main="ansari.wheat.uniformity")-# } -
arankacami.groundnut.uniformity.Rd
Uniformity trial of groundnut
-data("arankacami.groundnut.uniformity")
A data frame with 96 observations on the following 3 variables.
row
row
col
column
yield
yield, kg/plot
Basic plot size is 0.75 m (rows) x 4 m (columns).
-Ira Arankacami, R. Rangaswamy. (1995). - A Text Book of Agricultural Statistics. New Age International Publishers. - Table 19.1.
-None
-# \dontrun{
-library(agridat)
-data(arankacami.groundnut.uniformity)
-dat <- arankacami.groundnut.uniformity
-
-require(desplot)
-#> Loading required package: desplot
-desplot(yield ~ col*row, dat,
- flip=TRUE, aspect=(12*.75)/(8*1),
- main="arankacami.groundnut.uniformity")
-#> Please use desplot(data,form) instead of desplot(form,data)
-
-
-# }
-
archbold.apple.Rd
Split-split plot experiment of apple trees with different spacing, - root stock, and cultivars.
-A data frame with 120 observations on the following 10 variables.
rep
block, 5 levels
row
row
pos
position within each row
spacing
spacing between trees, 6,10,14 feet
stock
rootstock, 4 levels
gen
genotype, 2 levels
yield
yield total, kg/tree from 1975-1979
trt
treatment code
In rep 1, the 10-foot-spacing main plot was split into two - non-contiguous pieces. This also happened in rep 4. In the analysis - of Cornelius and Archbold, they consider each row x within-row-spacing - to be a distinct main plot. (Also true for the 14-foot row-spacing, - even though the 14-foot spacing plots were contiguous.)
-The treatment code is defined as 100 * spacing + 10 * stock + gen, - where stock=0,1,6,7 for Seedling,MM111,MM106,M0007 and gen=1,2 for - Redspur,Golden, respectively.
-D Archbold and G. R. Brown and P. L. Cornelius. (1987). - Rootstock and in-row spacing effects on growth and yield of spur-type - delicious and Golden delicious apple. - Journal of the American Society for Horticultural Science, 112, 219-222.
-Cornelius, PL and Archbold, DD, 1989. - Analysis of a split-split plot experiment with missing data using - mixed model equations. - Applications of Mixed Models in Agriculture and Related - Disciplines. Pages 55-79.
- --# \dontrun{ - -library(agridat) -data(archbold.apple) -dat <- archbold.apple - -# Define main plot and subplot -dat <- transform(dat, rep=factor(rep), spacing=factor(spacing), trt=factor(trt), - mp = factor(paste(row,spacing,sep="")), - sp = factor(paste(row,spacing,stock,sep=""))) - -# Due to 'spacing', the plots are different sizes, but the following layout -# shows the relative position of the plots and treatments. Note that the -# 'spacing' treatments are not contiguous in some reps. -libs(desplot) -desplot(dat, spacing~row*pos, - col=stock, cex=1, num=gen, # aspect unknown - main="archbold.apple")#>m1 <- lmer(yield ~ -1 + trt + (1|rep/mp/sp), dat) - -vc(m1) # Variances/means on Cornelius, page 59#> grp var1 var2 vcov sdcor -#> sp:(mp:rep) (Intercept) <NA> 193.3 13.9 -#> mp:rep (Intercept) <NA> 203.8 14.27 -#> rep (Intercept) <NA> 197.3 14.05 -#> Residual <NA> <NA> 1015 31.86## grp var1 var2 vcov sdcor -## sp:(mp:rep) (Intercept) <NA> 193.3 13.9 -## mp:rep (Intercept) <NA> 203.8 14.28 -## rep (Intercept) <NA> 197.3 14.05 -## Residual <NA> <NA> 1015 31.86 - -# } -
ars.earlywhitecorn96.Rd
Multi-environment trial of early white food corn for 60 white hybrids.
-A data frame with 540 observations on the following 9 variables.
loc
location, 9 levels
gen
gen, 60 levels
yield
yield, bu/ac
stand
stand, percent
rootlodge
root lodging, percent
stalklodge
stalk lodging, percent
earht
ear height, inches
flower
days to flower
moisture
moisture, percent
Data are the average of 3 replications.
-Yields were measured for each plot and converted to bushels / acre and - adjusted to 15.5 percent moisture.
-Stand is expressed as a percentage of the optimum plant stand.
-Lodging is expressed as a percentage of the total plants for each hybrid.
-Ear height was measured from soil level to the top ear leaf collar. - Heights are expressed in inches.
-Days to flowering is the number of days from planting to mid-tassel or mid-silk.
-Moisture of the grain was measured at harvest.
-L. Darrah, R. Lundquist, D. West, C. Poneleit, B. Barry, B. Zehr, - A. Bockholt, L. Maddux, K. Ziegler, and P. Martin. (1996). - White Food Corn 1996 Performance Tests. - Agricultural Research Service Special Report 502.
- --# \dontrun{ - - library(agridat) - - data(ars.earlywhitecorn96) - dat <- ars.earlywhitecorn96 - - libs(lattice) - # These views emphasize differences between locations - dotplot(gen~yield, dat, group=loc, auto.key=list(columns=3), - main="ars.earlywhitecorn96") -## dotplot(gen~stalklodge, dat, group=loc, auto.key=list(columns=3), - ## main="ars.earlywhitecorn96") - splom(~dat[,3:9], group=dat$loc, auto.key=list(columns=3), - main="ars.earlywhitecorn96") -#> Call: -#> manova(cbind(yield, earht, moisture) ~ gen + loc, dat) -#> -#> Terms: -#> gen loc Residuals -#> yield 19200.2 378467.7 51875.0 -#> earht 4782.2 4750.6 1652.1 -#> moisture 446.1 6430.5 258.5 -#> Deg. of Freedom 59 4 236 -#> -#> Residual standard errors: 14.82596 2.645798 1.046639 -#> Estimated effects may be unbalanced -#> 240 observations deleted due to missingness#> Df Pillai approx F num Df den Df Pr(>F) -#> gen 59 1.6158 4.669 177 708 < 2.2e-16 *** -#> loc 4 2.1686 153.898 12 708 < 2.2e-16 *** -#> Residuals 236 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1-# } -
australia.soybean.Rd
Yield and other traits of 58 varieties of soybeans, grown in four - locations across two years in Australia. This is four-way data of - Year x Loc x Gen x Trait.
-A data frame with 464 observations on the following 10 variables.
env
environment, 8 levels, first character of location - and last two characters of year
loc
location
year
year
gen
genotype of soybeans, 1-58
yield
yield, metric tons / hectare
height
height (meters)
lodging
lodging
size
seed size, (millimeters)
protein
protein (percentage)
oil
oil (percentage)
Measurement are available from four locations in Queensland, Australia in two - consecutive years 1970, 1971.
-The 58 different genotypes of soybeans consisted of 43 lines (40 local - Australian selections from a cross, their two parents, and one other - which was used a parent in earlier trials) and 15 other lines of which - 12 were from the US.
-Lines 1-40 were local Australian selections from Mamloxi (CPI 172) and - Avoyelles (CPI 15939).
-No. | Line |
1-40 | Local selections |
41 | Avoyelles (CPI 15939) Tanzania |
42 | Hernon 49 (CPI 15948) Tanzania |
43 | Mamloxi (CPI 172) Nigeria |
44 | Dorman USA |
45 | Hampton USA |
46 | Hill USA |
47 | Jackson USA |
48 | Leslie USA |
49 | Semstar Australia |
50 | Wills USA |
51 | C26673 Morocco |
52 | C26671 Morocco |
53 | Bragg USA |
54 | Delmar USA |
55 | Lee USA |
56 | Hood USA |
57 | Ogden USA |
58 | Wayne USA |
Note on the data in Basford and Tukey book. The values for line 58 for -Nambour 1970 and Redland Bay 1971 are incorrectly listed on page 477 as -20.490 and 15.070. They should be 17.350 and 13.000, respectively. In -the data set made available here, these values have been corrected.
-Used with permission of Kaye Basford, Pieter Kroonenberg.
-Basford, K. E., and Tukey, J. W. (1999). - Graphical analysis of multiresponse data illustrated with a plant breeding trial. - Chapman and Hall/CRC.
-Retrieved from: - https://three-mode.leidenuniv.nl/data/soybeaninf.htm
-K E Basford (1982). The Use of Multidimensional Scaling in Analysing - Multi-Attribute Genotype Response Across Environments, - Aust J Agric Res, 33, 473--480.
-Kroonenberg, P. M., & Basford, K. E. B. (1989). An investigation of - multi-attribute genotype response across environments using three-mode - principal component analysis. - Euphytica, 44, 109--123.
-Marcin Kozak (2010). - Use of parallel coordinate plots in multi-response selection of - interesting genotypes. - Communications in Biometry and Crop Science, 5, 83-95.
- --# \dontrun{ - -library(agridat) - -data(australia.soybean) -dat <- australia.soybean - -libs(reshape2) -dm <- melt(dat, id.var=c('env', 'year','loc','gen')) - -# Joint plot of genotypes & traits. Similar to Figure 1 of Kroonenberg 1989 -dmat <- acast(dm, gen~variable, fun=mean) -dmat <- scale(dmat) -biplot(princomp(dmat), main="australia.soybean trait x gen biplot", cex=.75) -- -# Figure 1 of Kozak 2010, lines 44-58 - libs(reshape2, lattice, latticeExtra) - data(australia.soybean) - dat <- australia.soybean - dat <- melt(dat, id.var=c('env', 'year','loc','gen')) - dat <- acast(dat, gen~variable, fun=mean) - dat <- scale(dat) - dat <- as.data.frame(dat)[,c(2:6,1)] - dat$gen <- rownames(dat) - # data for the graphic by Kozak - dat2 <- dat[44:58,] - dat3 <- subset(dat2, is.element(gen, c("G48","G49","G50","G51"))) - - parallelplot( ~ dat3[,1:6]|dat3$gen, main="australia.soybean", - as.table=TRUE, horiz=FALSE) + - parallelplot( ~ dat2[,1:6], horiz=FALSE, col="gray80") + - parallelplot( ~ dat3[,1:6]|dat3$gen, - as.table=TRUE, horiz=FALSE, lwd=2) --# } -
baker.barley.uniformity.Rd
Uniformity trials of barley at Davis, California, 1925-1935, 10 years on same ground.
-A data frame with 570 observations on the following 4 variables.
row
row
col
column
year
year
yield
yield, pounds/acre
Ten years of uniformity trials were sown on the same ground. Baker - (1952) shows a map of the field, which gravel subsoil extended from - the upper right corner diagonally lower-left. This results in lower - yields as seen on the 10-year average map.
-Field width: 19 plots = 827 ft
-Field length: 3 plots * 161 ft + 2 alleys * 15 feet = 513 ft
-Baker, GA and Huberty, MR and Veihmeyer, FJ. (1952) - A uniformity trial on unirrigated barley of ten years' duration. - Agronomy Journal, 44, 267-270. - https://doi.org/10.2134/agronj1952.00021962004400050011x
- --# \dontrun{ - -library(agridat) - -data(baker.barley.uniformity) -dat <- baker.barley.uniformity - -# Ten-year average -dat2 <- aggregate(yield ~ row*col, data=dat, FUN=mean, na.rm=TRUE) - -libs(desplot) -desplot(dat, yield~col*row|year, - aspect = 513/827, # true aspect - main="baker.barley.uniformity - heatmaps by year") --desplot(dat2, yield~col*row, - aspect = 513/827, # true aspect - main="baker.barley.uniformity - heatmap of 10-year average") -# Note low yield in upper right, slanting to left a bit due to sandy soil -# as shown in Baker figure 1. - - -# Baker fig 2, stdev vs mean -dat3 <- aggregate(yield ~ row*col, data=dat, FUN=sd, na.rm=TRUE) -plot(dat2$yield, dat3$yield, xlab="Mean yield", ylab="Std Dev yield", - main="baker.barley.uniformity") --# Baker table 4, correlation of plots across years -# libs(reshape2) -# mat <- acast(dat, row+col~year) -# round(cor(mat, use='pair'),2) - -# } -
baker.strawberry.uniformity.Rd
Uniformity trial of strawberry
-data("baker.strawberry.uniformity")- - -
A data frame with 700 observations on the following 4 variables.
trial
a factor with levels T1
T2
row
a numeric vector
col
a numeric vector
yield
a numeric vector
In trial T1, 200 plants were grown in two double-row beds at Davis, - CA, in 1946. The rows were 1 foot apart. The beds were 42 inches - apart. The plants were 10 inches apart within a row, each row - consisting of 50 plants.
-Field length: 50 plants * 10 inches = 500 inches.
-Field width: 12 in + 42 in + 12 in =
-In trial T2, 500 plants were grown in single beds. The beds were 30 - inches apart. Each bed was 50 plants long with 10 inches between - plants.
-Field length: 50 plants * 10 in = 500 in.
-Field width: 10 beds * 30 in = 300 in.
-G. A. Baker and R. E. Baker (1953). - Strawberry Uniformity Yield Trials. - Biometrics, 9, 412-421. - https://doi.org/10.2307/3001713
-None
- --# \dontrun{ - -library(agridat) - -data(baker.strawberry.uniformity) -dat <- baker.strawberry.uniformity - -# Match mean and cv of Baker p 414. -libs(dplyr) -#> -#>#>-#> -#>#>-#> -#>#>-#> -#>#>#> # A tibble: 2 x 3 -#> trial mn cv -#> <fct> <dbl> <dbl> -#> 1 T1 209. 0.263 -#> 2 T2 173. 0.394-dat <- mutate(dat, col = ifelse(trial=="T1" & col==4, 7, col), - col = ifelse(trial=="T1" & col==3, 6, col)) - -libs(desplot) -desplot(dat, yield ~ col*row, subset=trial=="T1", - flip=TRUE, aspect=500/(5*12), - main="baker.strawberry.uniformity - trial T1") -desplot(dat, yield ~ col*row, subset=trial=="T2", - flip=TRUE, aspect=500/300, - main="baker.strawberry.uniformity - trial T2") --# } -
baker.wheat.uniformity.Rd
Uniformity trial of wheat
-data("baker.wheat.uniformity")- - -
A data frame with 225 observations on the following 3 variables.
row
row
col
col
yield
yield
Data was collected in 1939-1940. The trial consists of sixteen 40 ft. x -40 ft. blocks subdivided into nine plots each. The data were secured in -1939-1940 from White Federation wheat. The design of the experiment was -square with alleys 20 feet wide between blocks. The plots were 10 feet -long with two guard rows on each side.
-Morning glories infested the middle two columns of blocks, uniformly -over the blocks affected.
-The data here include missing values for the alleys so that the field -map is approximately correct.
-Field width: 4 blocks of 40 feet + 3 alleys of 20 feet = 220 feet.
-Field length: 4 blocks of 40 feet + 3 alleys of 20 feet = 220 feet.
-G. A. Baker, E. B. Roessler (1957). - Implications of a uniformity trial with small plots of wheat. - Hilgardia, 27, 183-188. - https://hilgardia.ucanr.edu/Abstract/?a=hilg.v27n05p183
-None
- --# \dontrun{ - - library(agridat) - data(baker.wheat.uniformity) - dat <- baker.wheat.uniformity - - libs(desplot) - desplot(dat, yield ~ col*row, - flip=TRUE, aspect=1, - main="baker.wheat.uniformity") --# } -
bancroft.peanut.uniformity.Rd
Uniformity trial of peanuts in Alabama, 1946.
-data("bancroft.peanut.uniformity")- - -
A data frame with 216 observations on the following 5 variables.
row
row
col
column
yield
yield, pounds
block
block
The data are obtained from two parts of the same field, located at - Wiregrass Substation, Headland, Alabama, USA. Each part had 18 rows, - 3 feet wide, 100 feet long. Plots were harvested in 1946. Green - weights in pounds were recorded.
-Each plot was 16.66 linear feet of row and 3 feet in width, 50 sq feet.
-Field width: 6 plots * 16.66 feet = 100 feet
-Field length: 18 plots * 3 feet = 54 feet
-Conclusions: - Based on the relative efficiencies, increasing the size of the plot - along the row is better than across the row. Narrow, rectangular - plots are more efficient.
-Bancroft, T. A. et a1., (1948). - Size and Shape of Plots and Distribution of Plot Yield for Field Experiments with Peanuts. - Alabama Agricultural Experiment Station Progress Report, sec. 39. - Table 4, page 6. - https://aurora.auburn.edu/bitstream/handle/11200/1345/0477PROG.pdf;sequence=1
-None
- --# \dontrun{ - -library(agridat) -data(bancroft.peanut.uniformity) -dat <- bancroft.peanut.uniformity - -# match means Bancroft page 3 -## dat -## # A tibble: 2 x 2 -## block mn -## <chr> <dbl> -## 1 B1 2.46 -## 2 B2 2.05 - -libs(desplot) -desplot(dat, yield ~ col*row|block, - flip=TRUE, aspect=(18*3)/(6*16.66), # true aspect - main="bancroft.peanut.uniformity")-# } -
barrero.maize.Rd
Multi-environment trial of maize in Texas.
-data("barrero.maize")
A data frame with 14568 observations on the following 15 variables.
year
year of testing, 2000-2010
yor
year of release, 2000-2010
loc
location, 16 places in Texas
env
environment (year+loc), 107 levels
rep
replicate, 1-4
gen
genotype, 847 levels
daystoflower
numeric
plantheight
plant height, cm
earheight
ear height, cm
population
plants per hectare
lodged
percent of plants lodged
moisture
moisture percent
testweight
test weight kg/ha
yield
yield, kg/ha
This is a large (14500 records), multi-year, multi-location, 10-trait - dataset from the Texas AgriLife Corn Performance Trials.
-These data are from 2-row plots approximately 36in wide by 25 feet long.
-Barrero et al. used this data to estimate the genetic gain in maize - hybrids over a 10-year period of time.
-Used with permission of Seth Meyers.
-Barrero, Ivan D. et al. (2013). - A multi-environment trial analysis shows slight grain yield improvement in Texas commercial maize. - Field Crops Research, 149, Pages 167-176. - https://doi.org/10.1016/j.fcr.2013.04.017
-None.
-# \dontrun{
- library(agridat)
- dat <- barrero.maize
-#> Error in eval(expr, envir, enclos): object 'barrero.maize' not found
-
- library(lattice)
- bwplot(yield ~ factor(year)|loc, dat,
- main="barrero.maize - Yield trends by loc",
- scales=list(x=list(rot=90)))
-#> Error in eval(substitute(groups), data, environment(formula)): object 'dat' not found
-
- # Table 6 of Barrero. Model equation 1.
- pacman::p_load(dplyr, asreml, lucid)
-#> Offline License checked out Fri Dec 17 15:16:49 2021
- dat <- arrange(dat, env)
-#> Error in arrange(dat, env): object 'dat' not found
- dat <- mutate(dat,
- yearf=factor(year), env=factor(env),
- loc=factor(loc), gen=factor(gen), rep=factor(rep))
-#> Error in mutate(dat, yearf = factor(year), env = factor(env), loc = factor(loc), gen = factor(gen), rep = factor(rep)): object 'dat' not found
-
- m1 <- asreml(yield ~ loc + yearf + loc:yearf, data=dat,
- random = ~ gen + rep:loc:yearf +
- gen:yearf + gen:loc +
- gen:loc:yearf,
- residual = ~ dsum( ~ units|env) )
-#> Error in asreml(yield ~ loc + yearf + loc:yearf, data = dat, random = ~gen + rep:loc:yearf + gen:yearf + gen:loc + gen:loc:yearf, residual = ~dsum(~units | env)): object 'dat' not found
-
- # Variance components for yield match Barrero table 6.
- lucid::vc(m1)[1:5,]
-#> Error in lucid::vc(m1): object 'm1' not found
- ## effect component std.error z.ratio bound
- ## rep:loc:yearf 0.111 0.01092 10 P 0
- ## gen 0.505 0.03988 13 P 0
- ## gen:yearf 0.05157 0.01472 3.5 P 0
- ## gen:loc 0.02283 0.0152 1.5 P 0.2
- ## gen:loc:yearf 0.2068 0.01806 11 P 0
-
- summary(vc(m1)[6:112,"component"]) # Means match last row of table 6
-#> Error in h(simpleError(msg, call)): error in evaluating the argument 'object' in selecting a method for function 'summary': object 'm1' not found
- ## Min. 1st Qu. Median Mean 3rd Qu. Max.
- ## 0.1286 0.3577 0.5571 0.8330 1.0322 2.9867
-
-# }
-
batchelor.uniformity.Rd
Uniformity trials of apples, lemons, oranges, and walnuts, in - California & Utah, 1915-1918.
-Each dataset has the following format
row
row
col
column
yield
yield per tree (pounds)
A few of the trees affected by disease were eliminated and the yield - was replaced by the average of the eight surrounding trees.
-The following details are from Batchelor (1918).
-Jonathan Apples
-"The apple records were obtained from a 10-year old - Jonathan apple orchard located at Providence, Utah. The surface soil - of this orchard is very uniform to all appearances except on the - extreme eastern edge, where the percentage of gravel increases - slightly. The trees are planted 16 feet apart, east and west, and 30 - feet apart north and south."
-Note: The orientation of the field is not given in the paper, but all other - fields in the paper have north at the top, so that is assumed to be - true for this field as well. Yields may be from 1916.
-Field width: 8 trees * 16 feet = 128 feet
-Field length: 28 rows * 30 feet = 840 feet
- -Eureka Lemon
-The lemon (Citrus limonia) tree yields were obtained from a grove of - 364 23-year-old trees, located at Upland, California. The records - extend from October 1, 1915, to October 1, 1916. The grove consists of - 14 rows of 23-year-old trees, extending north and south, with 26 trees - in a row, planted 24 by 24 feet apart. This grove presents the most - uniform appearance of any under consideration [in this paper]. The - land is practically level, and the soil is apparently uniform in - texture. The records show a grouping of several low-yielding trees; - yet a field observation gives one the impression that the grove as a - whole is remarkably uniform.
-Field width: 14 trees * 24 feet = 336 feet
-Field length: 26 trees * 24 feet = 624 feet
-Navel 1 at Arlington
-These records were of the 1915-16 yields of one thousand 24-year-old - navel-orange trees near Arlington station, Riverside, California. The - grove consists of 20 rows of trees from north to south, with 50 trees - in a row, planted 22 by 22 feet. A study of the records shows certain - distinct high- and low-yielding areas. The northeast corner and the - south end contain notably high-yielding trees. The north two-thirds of - the west side contains a large number of low-yielding trees. These - areas are apparently correlated with soil variation. Variations from - tree to tree also occur, the cause of which is not evident. These - variations, which are present in every orchard, bring uncertainty into - the results offield experiments.
-Field width: 20 trees * 22 feet = 440 feet
-Field length: 50 trees * 22 feet = 1100 feet
-Navel 2 at Antelope
-The navel-orange grove later referred to as the Antelope Heights - navels is a plantation of 480 ten-yearold trees planted 22 by 22 feet, - located at Naranjo, California. The yields are from 1916. The general - appearance of the trees gives a visual impression of uniformity - greater than a comparison of the individual tree production - substantiates.
-Field width: 15 trees * 22 feet = 330 feet
-Field length: 33 trees * 22 feet = 726 feet
-Valencia Orange
-The Valencia orange grove is composed of 240 15-year-old trees, - planted 21 feet 6 inches by 22 feet 6 inches, located at Villa Park, - California. The yields were obtained in 1916.
-Field width: 12 rows * 22 feet = 264 feet
-Field length: 20 rows * 22 feet = 440 feet
-Walnut
-The walnut (Juglans regia) yields were obtained during the seasons of - 1915 and 1916 from a 24-year-old Santa Barbara softshell seedling - grove, located at Whittier, California. - [Note, The yields here appear to be the 1915 yields.] - The planting is laid out 10 trees wide and 32 trees long, entirely - surrounded by additional walnut plantings, except on a part of one - side which is adjacent to an orange grove. The trees are planted on - the square system, 50 feet apart.
-Field width: 10 trees * 50 feet = 500 feet
-Field length: 32 trees * 50 feet = 1600 feet
-L. D. Batchelor and H. S. Reed. (1918). - Relation of the variability of yields of fruit trees to the accuracy - of field trials. J. Agric. Res, 12, 245--283. - https://books.google.com/books?id=Lil6AAAAMAAJ&lr&pg=PA245
-McCullagh, P. and Clifford, D., (2006). - Evidence for conformal invariance of crop yields, - Proceedings of the Royal Society A: Mathematical, Physical and - Engineering Science, 462, 2119--2143. - https://doi.org/10.1098/rspa.2006.1667
- --# \dontrun{ - -library(agridat) -libs(desplot) - - # Apple - data(batchelor.apple.uniformity) - desplot(batchelor.apple.uniformity, yield~col*row, - aspect=840/128, tick=TRUE, # true aspect - main="batchelor.apple.uniformity") -- # Lemon - data(batchelor.lemon.uniformity) - desplot(batchelor.lemon.uniformity, yield~col*row, - aspect=624/336, # true aspect - main="batchelor.lemon.uniformity") -- # Navel1 (Arlington) - data(batchelor.navel1.uniformity) - desplot(batchelor.navel1.uniformity, yield~col*row, - aspect=1100/440, # true aspect - main="batchelor.navel1.uniformity - Arlington") -- # Navel2 (Antelope) - data(batchelor.navel2.uniformity) - desplot(batchelor.navel2.uniformity, yield~col*row, - aspect=726/330, # true aspect - main="batchelor.navel2.uniformity - Antelope") -- # Valencia - data(batchelor.valencia.uniformity) - desplot(batchelor.valencia.uniformity, yield~col*row, - aspect=440/264, # true aspect - main="batchelor.valencia.uniformity") -- # Walnut - data(batchelor.walnut.uniformity) - desplot(batchelor.walnut.uniformity, yield~col*row, - aspect=1600/500, # true aspect - main="batchelor.walnut.uniformity") --# } -
battese.survey.Rd
Survey and satellite data for corn and soy areas in Iowa
-data("battese.survey")- - -
A data frame with 37 observations on the following 9 variables.
county
county name
segment
sample segment number (within county)
countysegs
number of segments in county
cornhect
hectares of corn in segment
soyhect
hectares of soy
cornpix
pixels of corn in segment
soypix
pixels of soy
cornmean
county mean of corn pixels per segment
soymean
county mean of soy pixels per segment
The data are for 12 counties in north-central Iowa in 1978.
-The USDA determined the area of soybeans in 37 area sampling units - (called 'segments'). Each segment is about one square mile (about 259 - hectares). The number of pixels of that were classified as corn and - soybeans came from Landsat images obtained in Aug/Sep 1978. Each pixel - represents approximately 0.45 hectares.
-Data originally compiled by USDA.
-This data is also available in R packages: 'rsae::landsat' and 'JoSAE::landsat'.
-Battese, George E and Harter, Rachel M and Fuller, Wayne A. (1988). - An error-components model for prediction of county crop areas using - survey and satellite data. - emphJournal of the American Statistical Association, 83, 28-36. - https://doi.org/10.2307/2288915
-Battese (1982) preprint version. - https://www.une.edu.au/__data/assets/pdf_file/0017/15542/emetwp15.pdf
-Pushpal K Mukhopadhyay and Allen McDowell. (2011). - Small Area Estimation for Survey Data Analysis Using SAS Software - SAS Global Forum 2011.
- --# \dontrun{ - -library(agridat) -data(battese.survey) -dat <- battese.survey - -# Battese fig 1 & 2. Corn plot shows outlier in Hardin county -libs(lattice) -dat <- dat[order(dat$cornpix),] -xyplot(cornhect ~ cornpix, data=dat, group=county, type=c('p','l'), - main="battese.survey", xlab="Pixels of corn", ylab="Hectares of corn", - auto.key=list(columns=3)) --dat <- dat[order(dat$soypix),] -xyplot(soyhect ~ soypix, data=dat, group=county, type=c('p','l'), - main="battese.survey", xlab="Pixels of soy", ylab="Hectares of soy", - auto.key=list(columns=3)) -#>#>-#> -#> -#> -#> -#>-# Fit the models of Battese 1982, p.18. Results match -m1 <- lmer(cornhect ~ 1 + cornpix + (1|county), data=dat) -fixef(m1) -#> (Intercept) cornpix -#> 5.4661899 0.3878358## (Intercept) cornpix -## 5.4661899 0.3878358 -vc(m1) -#> grp var1 var2 vcov sdcor -#> county (Intercept) <NA> 62.83 7.926 -#> Residual <NA> <NA> 290.4 17.04## grp var1 var2 vcov sdcor -## county (Intercept) <NA> 62.83 7.926 -## Residual <NA> <NA> 290.4 17.04 -m2 <- lmer(soyhect ~ 1 + soypix + (1|county), data=dat) -fixef(m2) -#> (Intercept) soypix -#> -3.8223566 0.4756781## (Intercept) soypix -## -3.8223566 0.4756781 -vc(m2) -#> grp var1 var2 vcov sdcor -#> county (Intercept) <NA> 239.2 15.47 -#> Residual <NA> <NA> 180 13.42## grp var1 var2 vcov sdcor -## county (Intercept) <NA> 239.2 15.47 -## Residual <NA> <NA> 180 13.42 - -# Predict for Humboldt county as in Battese 1982 table 2 -5.4662+.3878*290.74 -#> [1] 118.2152# 118.2152 # mu_i^0 -5.4662+.3878*290.74+ -2.8744 -#> [1] 115.3408# 115.3408 # mu_i^gamma -(185.35+116.43)/2 -#> [1] 150.89# 150.89 # y_i bar - -# Survey regression estimator of Battese 1988 - -# Delete the outlier -dat2 <- subset(dat, !(county=="Hardin" & soyhect < 30)) - -# Results match top-right of Battese 1988, p. 33 -m3 <- lmer(cornhect ~ cornpix + soypix + (1|county), data=dat2) -fixef(m3) -#> (Intercept) cornpix soypix -#> 51.0703979 0.3287217 -0.1345684## (Intercept) cornpix soypix -## 51.0703979 0.3287217 -0.1345684 -vc(m3) -#> grp var1 var2 vcov sdcor -#> county (Intercept) <NA> 140 11.83 -#> Residual <NA> <NA> 147.3 12.14## grp var1 var2 vcov sdcor -## county (Intercept) <NA> 140 11.83 -## Residual <NA> <NA> 147.3 12.14 -m4 <- lmer(soyhect ~ cornpix + soypix + (1|county), data=dat2) -fixef(m4) -#> (Intercept) cornpix soypix -#> -15.59027112 0.02717639 0.49439320## (Intercept) cornpix soypix -## -15.59027098 0.02717639 0.49439320 -vc(m4) -#> grp var1 var2 vcov sdcor -#> county (Intercept) <NA> 247.5 15.73 -#> Residual <NA> <NA> 190.5 13.8## grp var1 var2 vcov sdcor -## county (Intercept) <NA> 247.5 15.73 -## Residual <NA> <NA> 190.5 13.8 - -# } -
beall.webworms.Rd
Counts of webworms in a beet field, with insecticide treatments.
-data("beall.webworms")- - -
A data frame with 1300 observations on the following 7 variables.
row
row
col
column
y
count of webworms
block
block
trt
treatment
spray
spray treatment yes/no
lead
lead treatment yes/no
The beet webworm lays egg masses as small as 1 egg, seldom exceeding 5 - eggs. The larvae can move freely, but usually mature on the plant on - which they hatch.
-Each plot contained 25 unit areas, each 1 row by 3 feet long. The row - width is 22 inches. The arrangement of plots within the blocks seems - certain, but the arrangement of the blocks/treatments is not certain, - since the authors say "since the plots were 5 units long and 5 wide - it is only practicable to combine them into groups of 5 in one - direction or the other".
-Treatment 1 = None. Treatment 2 = Contact spray. Treatment 3 = Lead - arsenate. Treatment 4 = Both spray, lead arsenate.
-Beall, Geoffrey (1940). - The fit and significance of contagious distributions when applied to - observations on larval insects. - Ecology, 21, 460-474. Table 6. - https://doi.org/10.2307/1930285
-Michal Kosma et al. (2019). - Over-dispersed count data in crop and agronomy research. - Journal of Agronomy and Crop Science. - https://doi.org/10.1111/jac.12333
- --# \dontrun{ - -library(agridat) -data(beall.webworms) -dat <- beall.webworms - -# Match Beall table 1 -# with(dat, table(y,trt)) - -libs(lattice) -histogram(~y|trt, data=dat, layout=c(1,4), as.table=TRUE, - main="beall.webworms") --# Visualize Beall table 6. Block effects may exist, but barely. -libs(desplot) -grays <- colorRampPalette(c("white","#252525")) -desplot(dat, y ~ col*row, - col.regions=grays(10), - at=0:10-0.5, - out1=block, out2=trt, num=trt, flip=TRUE, # aspect unknown - main="beall.webworms (count of worms)") --# Following plot suggests interaction is needed -# with(dat, interaction.plot(spray, lead, y)) - -# Try the models of Kosma et al, Table 1. - -# Poisson model -m1 <- glm(y ~ block + spray*lead, data=dat, family="poisson") -logLik(m1) # -1497.719 (df=16) -#> 'log Lik.' -1497.719 (df=16)-# Negative binomial model -# libs(MASS) -# m2 <- glm.nb(y ~ block + spray*lead, data=dat) -# logLik(m2) # -1478.341 (df=17) - -# # Conway=Maxwell-Poisson model (takes several minutes) -# libs(spaMM) -# # estimate nu parameter -# m3 <- fitme(y ~ block + spray*lead, data=dat, family = COMPoisson()) -# logLik(m3) # -1475.999 -# # Kosma logLik(m3)=-1717 seems too big. Typo? Different model? - -# } -
beaven.barley.Rd
Yields of 8 barley varieties in 1913.
-data("beaven.barley")- - -
A data frame with 160 observations on the following 4 variables.
row
row
col
column
gen
genotype
yield
yield (grams)
Eight races of barley were grown on a regular pattern of plots.
-These data were prepared from Richey (1926) because the text was - cleaner.
-Each plot was planted 40 inches on a side, but only the middle square - 36 inches on a side was harvested.
-Field width: 32 plots * 3 feet = 96 feet
-Field length: 5 plots * 3 feet = 15 feet
-Student. (1923). - On testing varieties of cereals. - Biometrika, 271-293.
-https://doi.org/10.1093/biomet/15.3-4.271
-Frederick D. Richey (1926). - The moving average as a basis for measuring correlated - variation in agronomic experiments. - Jour. Agr. Research, 32, 1161-1175.
- --# \dontrun{ - -library(agridat) - -data(beaven.barley) -dat <- beaven.barley - -# Match the means shown in Richey table IV -tapply(dat$yield, dat$gen, mean) -#> a b c d e f g h -#> 298.080 300.710 318.685 295.260 306.410 276.475 304.605 271.820## a b c d e f g h -## 298.080 300.710 318.685 295.260 306.410 276.475 304.605 271.820 - -# Compare to Student 1923, diagram I,II -libs(desplot) -desplot(dat, yield ~ col*row, - aspect=15/96, # true aspect - main="beaven.barley - variety trial", text=gen) -# } -
becker.chicken.Rd
Mating crosses of chickens
-data("becker.chicken")- - -
A data frame with 45 observations on the following 3 variables.
male
male parent
female
female parent
weight
weight (g) at 8 weeks
From a large flock White Rock chickens, five male sires were chosen - and mated to each of three female dams, producing 3 female progeny. - The data are body weights at eight weeks of age.
-Becker (1984) used these data to demonstrate the calculation of - heritability.
-Walter A. Becker (1984). - Manual of Quantitative Genetics, 4th ed. Page 83.
-None
- --# \dontrun{ - - library(agridat) - data(becker.chicken) - dat <- becker.chicken - - libs(lattice) - dotplot(weight ~ female, data=dat, group=male, - main="becker.chicken - progeny weight by M*F", - xlab="female parent",ylab="progeny weight", - auto.key=list(columns=5))- # Sums match Becker - # sum(dat$weight) - # aggregate(weight ~ male + female, dat, FUN=sum) - - # Variance components - libs(lme4,lucid) - m1 <- lmer(weight ~ (1|male) + (1|female), data=dat) - # vc(m1) - ## grp var1 var2 vcov sdcor - ## 1 female (Intercept) <NA> 1096 33.1 - ## 2 male (Intercept) <NA> 776.8 27.87 - ## 3 Residual <NA> <NA> 5524 74.32 - - # Calculate heritabilities - # s2m <- 776 # variability for males - # s2f <- 1095 # variability for females - # s2w <- 5524 # variability within crosses - # vp <- s2m + s2f + s2w # 7395 - # 4*s2m/vp # .42 male heritability - #4*s2f/vp # .59 female heritability - -# }
besag.bayesian.Rd
RCB experiment of spring barley in United Kingdom
-A data frame with 225 observations on the following 4 variables.
col
column (also blocking factor)
row
row
yield
yield
gen
variety/genotype
RCB design, each column is one rep.
-Used with permission of David Higdon.
-Besag, J. E., Green, P. J., Higdon, D. and Mengersen, K. (1995). - Bayesian computation and stochastic systems. - Statistical Science, 10, 3-66. - https://www.jstor.org/stable/2246224
-Davison, A. C. 2003. - Statistical Models. - Cambridge University Press. Pages 534-535.
- --# \dontrun{ - - library(agridat) - data(besag.bayesian) - dat <- besag.bayesian - - # Yield values were scaled to unit variance - # var(dat$yield, na.rm=TRUE) - # .999 - - # Besag Fig 2. Reverse row numbers to match Besag, Davison - dat$rrow <- 76 - dat$row - libs(lattice) - xyplot(yield ~ rrow|col, dat, layout=c(1,3), type='s', - xlab="row", ylab="yield", main="besag.bayesian") -#>#> Offline License checked out Mon Jan 11 17:07:42 2021- # Use asreml to fit a model with AR1 gradient in rows - dat <- transform(dat, cf=factor(col), rf=factor(rrow)) - m1 <- asreml(yield ~ -1 + gen, data=dat, random= ~ ar1v(rf)) -#> Offline License checked out Mon Jan 11 17:07:43 2021 -#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:07:43 2021 -#> LogLik Sigma2 DF wall cpu -#> 1 -94.4798 0.689559 149 17:07:43 0.0 (2 restrained) -#> 2 -95.8277 0.763261 149 17:07:43 0.0 (2 restrained) -#> 3 -96.2472 0.772025 149 17:07:43 0.0 (2 restrained) -#> 4 -95.2684 0.758604 149 17:07:43 0.0 (1 restrained) -#> 5 -88.7865 0.645542 149 17:07:43 0.0 (2 restrained) -#> 6 -95.1889 0.757622 149 17:07:43 0.0 (1 restrained) -#> 7 -90.7329 0.677440 149 17:07:43 0.0 (2 restrained)#> Warning: Oscillating parameter(s) reset to average value (iteration 7).#> 8 -95.6188 0.762867 149 17:07:43 0.0 (1 restrained) -#> 9 -91.3575 0.705741 149 17:07:43 0.0 -#> 10 -87.7909 0.644795 149 17:07:43 0.0 (1 restrained) -#> 11 -83.9513 0.601796 149 17:07:43 0.0 -#> 12 -81.8901 0.548584 149 17:07:43 0.0 (1 restrained) -#> 13 -82.1499 0.568466 149 17:07:43 0.0#> Warning: Log-likelihood not converged#> Warning: Some components changed by more than 1% on the last iteration.#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:07:43 2021 -#> LogLik Sigma2 DF wall cpu -#> 1 -82.2785 0.567157 149 17:07:43 0.0 -#> 2 -81.8595 0.561558 149 17:07:43 0.0 -#> 3 -81.3047 0.543601 149 17:07:43 0.0 -#> 4 -81.2374 0.541386 149 17:07:43 0.0 -#> 5 -81.1807 0.538231 149 17:07:43 0.0 -#> 6 -81.1162 0.532665 149 17:07:43 0.0 -#> 7 -81.1079 0.528363 149 17:07:43 0.0 -#> 8 -81.1147 0.531189 149 17:07:43 0.0 -#> 9 -81.1090 0.530548 149 17:07:43 0.0 -#> 10 -81.1089 0.530215 149 17:07:43 0.0 -#> 11 -81.1068 0.529576 149 17:07:43 0.0 -#> 12 -81.1077 0.529867 149 17:07:43 0.0 -#> 13 -81.1065 0.529367 149 17:07:43 0.0#> Warning: Log-likelihood not converged#> Warning: Some components changed by more than 1% on the last iteration.#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:07:43 2021 -#> LogLik Sigma2 DF wall cpu -#> 1 -81.1071 0.529705 149 17:07:43 0.0 -#> 2 -81.1062 0.529401 149 17:07:43 0.0#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:07:43 2021 -#> LogLik Sigma2 DF wall cpu -#> 1 -81.1063 0.529138 149 17:07:43 0.0 -#> 2 -81.1062 0.529216 149 17:07:43 0.0- # Visualize trends, similar to Besag figure 2. - # Need 'as.vector' because asreml4 uses a named vector - dat$res <- unname(m1$resid) - dat$geneff <- coef(m1)$fixed[as.numeric(dat$gen)] - dat <- transform(dat, fert=yield-geneff-res) - libs(lattice) - xyplot(geneff ~ rrow|col, dat, layout=c(1,3), type='s', - main="besag.bayesian - Variety effects", ylim=c(5,15 )) -xyplot(fert ~ rrow|col, dat, layout=c(1,3), type='s', - main="besag.bayesian - Fertility", ylim=c(-2,2)) -xyplot(res ~ rrow|col, dat, layout=c(1,3), type='s', - main="besag.bayesian - Residuals", ylim=c(-4,4)) --# } -
besag.beans.Rd
Competition experiment in beans with height measurements
-data("besag.beans")- - -
A data frame with 152 observations on the following 6 variables.
gen
genotype / variety
height
plot height, cm
yield
plot yield, g
row
row / block
rep
replicate factor
col
column
Field beans of regular height were grown beside shorter varieties. - In each block, each variety occurred once as a left-side neighbor and - once as a right-side neighbor of every variety (including itself). - Border plots were placed at the ends of each block. - Each block with 38 adjacent plots. - Each plot was one row, 3 meters long with 50 cm spacing between rows. - No gaps between plots. Spacing between plants was 6.7 cm. - Four blocks (rows) were used, each with six replicates.
-Plot yield and height was recorded.
-Kempton and Lockwood used models that adjusted yield according to the - difference in height of neighboring plots.
-Field length: 4 plots * 3m = 12m
-Field width: 38 plots * 0.5 m = 19m
-Julian Besag and Rob Kempton (1986). - Statistical Analysis of Field Experiments Using Neighbouring Plots. - Biometrics, 42, 231-251. Table 6. - https://doi.org/10.2307/2531047
-Kempton, RA and Lockwood, G. (1984). - Inter-plot competition in variety trials of field beans (Vicia faba L.). - The Journal of Agricultural Science, 103, 293--302.
- --# \dontrun{ - -library(agridat) - -data(besag.beans) -dat = besag.beans - -libs(desplot) -desplot(dat, yield ~ col*row, - aspect=12/19, out1=row, out2=rep, num=gen, cex=1, # true aspect - main="besag.beans") -- -libs(reshape2) -# Add a covariate = excess height of neighbors -mat <- acast(dat, row~col, value.var='height') -mat2 <- matrix(NA, nrow=4, ncol=38) -mat2[,2:37] <- (mat[,1:36] + mat[,3:38] - 2*mat[,2:37]) -dat2 <- melt(mat2) -colnames(dat2) <- c('row','col','cov') -dat <- merge(dat, dat2) - -# Drop border plots -dat <- subset(dat, rep != 'R0') - -libs(lattice) -# Plot yield vs neighbors height advantage -xyplot(yield~cov, data=dat, group=gen, - main="besag.beans", - xlab="Mean excess heights of neighbor plots", - auto.key=list(columns=3)) -#> [1] 390.9722-# Mean excess height of neighbors for each genotype -# tapply(dat$cov, dat$gen, mean)/2 # Matches Kempton table 4 - -# Variety means, matches Kempton table 4 mean yield -m1 <- lm(yield ~ -1 + gen, dat) -coef(m1) -#> genDwarf genMaris genMetissa genMinica genStella genTopless -#> 318.7500 434.1667 387.7083 456.2500 469.5833 279.3750-# Full model used by Kempton, eqn 5. Not perfectly clear. -# Appears to include rep term, perhaps within block -dat$blk <- factor(dat$row) -dat$blkrep <- factor(paste(dat$blk, dat$rep)) -m2 <- lm(yield ~ -1 + gen + blkrep + cov, data=dat) -coef(m2) # slope 'cov' = -.72, while Kempton says -.79 -#> genDwarf genMaris genMetissa genMinica genStella genTopless -#> 271.9249148 304.9869194 314.3474168 362.8740025 331.7998182 186.9650396 -#> blkrep1 R2 blkrep1 R3 blkrep1 R4 blkrep1 R5 blkrep1 R6 blkrep2 R1 -#> 9.6257870 90.1207546 130.3503148 153.5628935 133.5867917 74.2635231 -#> blkrep2 R2 blkrep2 R3 blkrep2 R4 blkrep2 R5 blkrep2 R6 blkrep3 R1 -#> 61.9201251 92.8503148 134.6257870 188.8163519 98.6716990 44.1666667 -#> blkrep3 R2 blkrep3 R3 blkrep3 R4 blkrep3 R5 blkrep3 R6 blkrep4 R1 -#> 69.0339629 119.5169815 94.8792454 165.7974860 89.6616343 74.3962268 -#> blkrep4 R2 blkrep4 R3 blkrep4 R4 blkrep4 R5 blkrep4 R6 cov -#> 53.5509444 71.5578612 96.0150970 152.1855326 93.3094351 -0.7245278-# } -
besag.checks.Rd
Check variety yields in winter wheat.
-data("besag.checks")- - -
A data frame with 364 observations on the following 4 variables.
yield
yield, units of 10g
row
row
col
column
gen
genotype/variety
This data was used by Besag to show the spatial variation in a field - experiment, but Besag did not use the data for any analysis.
-Yields of winter wheat varieties (Bounty and Huntsman) at the Plant - Breeding Institute, Cambridge, in 1980. These data are the 'checks' - genotypes in a larger variety trial.
-There is a column of checks, then five columns of new varieties. Repeat.
-Plot dimensions approx 1.5 by 4.5 metres
-Field length: 52 rows * 4.5 m = 234 m
-Field width: 31 columns * 1.5 m = 46.5
-Electronic version of data supplied by David Clifford.
-Besag, J.E. & Kempton R.A. (1986). - Statistical analysis of field experiments using neighbouring plots. - Biometrics, 42, 231-251. - https://doi.org/10.2307/2531047
-Kempton, Statistical Methods for Plant Variety Evaluation, page 91--92
- --library(agridat) -data(besag.checks) -dat <- besag.checks -# \dontrun{ - libs(desplot) - desplot(dat, yield~col*row, - num=gen, aspect=234/46.5, # true aspect - main="besag.checks") -# } -
besag.elbatan.Rd
RCB experiment of wheat, 50 varieties in 3 blocks with strong - spatial trend.
-A data frame with 150 observations on the following 4 variables.
yield
yield of wheat
gen
genotype, factor with 50 levels
col
column/block
row
row
RCB experiment on wheat at El Batan, Mexico. There are three - single-column replicates with 50 varieties in each replicate.
-Plot dimensions are not given by Besag.
-Data retrieved from - https://web.archive.org/web/19991008143232/www.stat.duke.edu/~higdon/trials/elbatan.dat
-Used with permission of David Higdon.
-Julian Besag and D Higdon, 1999. - Bayesian Analysis of Agricultural Field Experiments, - Journal of the Royal Statistical Society: Series B,61, 691--746. - Table 1. - https://doi.org/10.1111/1467-9868.00201
-Wilkinson 1984.
-Besag & Seheult 1989.
- --# \dontrun{ - -library(agridat) -data(besag.elbatan) -dat <- besag.elbatan - -libs(desplot) -desplot(dat, yield~col*row, - num=gen, # aspect unknown - main="besag.elbatan - wheat yields") -- -# Besag figure 1 -library(lattice) -xyplot(yield~row|col, dat, type=c('l'), - layout=c(1,3), main="besag.elbatan wheat yields") -- -# RCB -m1 <- lm(yield ~ 0 + gen + factor(col), dat) -p1 <- coef(m1)[1:50] - -# Formerly used gam package, but as of R 3.1, Rcmd check --as-cran -# is complaining -# Calls: plot.gam ... model.matrix.gam -> predict -> predict.gam -> array -# but it works perfectly in interactive mode !!! -# Remove the FALSE to run the code below -if(is.element("gam", search())) detach(package:gam) -libs(mgcv) -#>#> -#>#>-#> -#>#>-#> -#>#>m2 <- mgcv::gam(yield ~ -1 + gen + factor(col) + s(row), data=dat) -plot(m2, residuals=TRUE, main="besag.elbatan") -pred <- cbind(dat, predict(m2, dat, type="terms")) -# Need to correct for the average loess effect, which is like -# an overall intercept term. -adjlo <- mean(pred$"s(row)") -p2 <- coef(m2)[1:50] + adjlo - -# Compare estimates -lims <- range(c(p1,p2)) -plot(p1, p2, xlab="RCB prediction", - ylab="RCB with smooth trend (predicted)", - type='n', xlim=lims, ylim=lims, - main="besag.elbatan") --# } -
besag.endive.Rd
Presence of footroot disease in an endive field
-A data frame with 2506 observations on the following 3 variables.
col
column
row
row
disease
plant is diseased, Y=yes,N=no
In a field of endives, does each plant have footrot, or not? Data are - binary on a lattice of 14 x 179 plants.
-Modeled as an autologistic distribution.
-We assume the endives are a single genotype.
-Besag (1978) may have had data taken at 4 time points. This data - was extracted from Friel and Pettitt. It is not clear what, if any, - time point was used.
-Friel does not give the dimensions. Besag is not available.
-J Besag (1978). - Some Methods of Statistical Analysis for Spatial Data. - Bulletin of the International Statistical Institute, 47, 77-92.
-N Friel & A. N Pettitt (2004). Likelihood Estimation and Inference - for the Autologistic Model. - Journal of Computational and Graphical Statistics, 13:1, 232-246. - https://doi.org/10.1198/1061860043029
- --# \dontrun{ - - library(agridat) - data(besag.endive) - dat <- besag.endive - - # Incidence map. Figure 2 of Friel and Pettitt - libs(desplot) - grays <- colorRampPalette(c("#d9d9d9","#252525")) - desplot(dat, disease~col*row, - col.regions=grays(2), - aspect = 0.5, # aspect unknown - main="besag.endive - Disease incidence") -- - # Besag (2000) "An Introduction to Markov Chain Monte Carlo" suggested - # that the autologistic model is not a very good fit for this data. - # We try it anyway. No idea if this is correct or how to interpret... - - libs(ngspatial) -#>#>#>-#> -#> -#> -#> -#>#>-#> -#> -#> -#> -#>A = adjacency.matrix(179,14) - X = cbind(x=dat$col, y=dat$row) - Z = as.numeric(dat$disease=="Y") - m1 <- autologistic(Z ~ 0+X, A=A, control=list(confint="none")) - - summary(m1) -#> -#> Call: -#> -#> autologistic(formula = Z ~ 0 + X, A = A, control = list(confint = "none")) -#> -#> Control parameters: -#> -#> confint none -#> -#> Coefficients: -#> -#> Estimate Lower Upper MCSE -#> Xx -0.007824 NA NA NA -#> Xy -0.144800 NA NA NA -#> eta 0.806200 NA NA NA -#> -#> Number of iterations: 0 -#>## Coefficients: - ## Estimate Lower Upper MCSE - ## Xx -0.007824 NA NA NA - ## Xy -0.144800 NA NA NA - ## eta 0.806200 NA NA NA - - - libs(asreml) - - # Now try an AR1xAR1 model. - dat2 <- transform(dat, xf=factor(col), yf=factor(row), - pres=as.numeric(disease=="Y")) - - m2 <- asreml(pres ~ 1, data=dat2, - resid = ~ar1(xf):ar1(yf)) -#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:07:46 2021 -#> LogLik Sigma2 DF wall cpu -#> 1 1340.117 0.128274 2505 17:07:46 0.0 -#> 2 1343.298 0.128543 2505 17:07:46 0.0 -#> 3 1345.676 0.129204 2505 17:07:46 0.0 -#> 4 1346.278 0.129798 2505 17:07:46 0.0 -#> 5 1346.331 0.130062 2505 17:07:46 0.0 -#> 6 1346.331 0.130074 2505 17:07:46 0.0# The 0/1 response is arbitrary, but there is some suggestion - # of auto-correlation in the x (.17) and y (.10) directions, - # suggesting the pattern is more 'patchy' than just random noise, - # but is it meaningful? - - libs(lucid) - vc(m2) -#> effect component std.error z.ratio bound %ch -#> xf:yf!R 0.1301 0.003798 34 P 0 -#> xf:yf!xf!cor 0.1699 0.01942 8.7 U 0 -#> xf:yf!yf!cor 0.09842 0.02038 4.8 U 0## effect component std.error z.ratio bound - ## xf:yf(R) 0.1301 0.003798 34 P 0 - ## xf:yf!xf!cor 0.1699 0.01942 8.7 U 0 - ## xf:yf!yf!cor 0.09842 0.02038 4.8 U 0 - - -# } -
besag.met.Rd
Multi-environment trial of corn, incomplete-block designlocation.
-A data frame with 1152 observations on the following 7 variables.
county
county
row
row
col
column
rep
rep
block
incomplete block
yield
yield
gen
genotype, 1-64
Multi-environment trial of 64 corn hybrids in six counties in North - Carolina. Each location had 3 replicates in in incomplete-block - design with an 18x11 lattice of plots whose length-to-width ratio was - about 2:1.
-Note: In the original data, each county had 6 missing plots. This - data has rows for each missing plot that uses the same - county/block/rep to fill-out the row, sets the genotype to G01, and - sets the yield to missing. These missing values were added to the - data so that asreml could more easily do AR1xAR1 analysis using - rectangular regions.
-Each location/panel is:
-Field length: 18 rows * 2 units = 36 units.
-Field width: 11 plots * 1 unit = 11 units.
- -Retrieved from - https://web.archive.org/web/19990505223413/www.stat.duke.edu/~higdon/trials/nc.dat
-Used with permission of David Higdon.
-Julian Besag and D Higdon, 1999. - Bayesian Analysis of Agricultural Field Experiments, - Journal of the Royal Statistical Society: Series B, 61, 691--746. - Table 1. - https://doi.org/10.1111/1467-9868.00201
- --# \dontrun{ - - library(agridat) - data(besag.met) - dat <- besag.met - - libs(desplot) - desplot(dat, yield ~ col*row|county, - aspect=36/11, # true aspect - out1=rep, out2=block, - main="besag.met") -- - # Average reps - datm <- aggregate(yield ~ county + gen, data=dat, FUN=mean) - - # Sections below fit heteroskedastic variance models (variance for each variety) - # asreml takes 1 second, lme 73 seconds, SAS PROC MIXED 30 minutes - - - - # lme - # libs(nlme) - # m1l <- lme(yield ~ -1 + gen, data=datm, random=~1|county, - # weights = varIdent(form=~ 1|gen)) - # m1l$sigma^2 * c(1, coef(m1l$modelStruct$varStruct, unc = FALSE))^2 - ## G02 G03 G04 G05 G06 G07 G08 - ## 91.90 210.75 63.03 112.05 28.39 237.36 72.72 42.97 - ## ... etc ... - - - # Note, the FA biplots from asreml3 and asreml4 are surprisingly - # different from each other. The predicted-value biplots are - # almost identical. - - libs(asreml) - # asreml4 - - # Average reps - datm <- aggregate(yield ~ county + gen, data=dat, FUN=mean) - # asreml Using 'rcov' ALWAYS requires sorting the data - datm <- datm[order(datm$gen),] - - m1 <- asreml(yield ~ gen, data=datm, - random = ~ county, - residual = ~ dsum( ~ units|gen)) -#> Multi-section model using the sigma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:07:47 2021 -#> LogLik Sigma2 DF wall cpu -#> 1 -1172.163 1.0 320 17:07:47 0.0 (60 restrained) -#> 2 -1011.805 1.0 320 17:07:47 0.0 (1 restrained) -#> 3 -970.591 1.0 320 17:07:47 0.0 -#> 4 -940.691 1.0 320 17:07:47 0.0 -#> 5 -927.170 1.0 320 17:07:47 0.0 -#> 6 -923.727 1.0 320 17:07:47 0.0 -#> 7 -923.239 1.0 320 17:07:47 0.0 -#> 8 -922.976 1.0 320 17:07:47 0.0 -#> 9 -922.903 1.0 320 17:07:47 0.0 -#> 10 -922.899 1.0 320 17:07:47 0.0#> effect component std.error z.ratio bound %ch -#> county 1324 836.1 1.6 P 0.2 -#> gen_G01!R 91.98 58.91 1.6 P 0.1 -#> gen_G02!R 210.6 133.6 1.6 P 0.1 -#> gen_G03!R 63.06 40.58 1.6 P 0.1 -#> gen_G04!R 112.1 71.59 1.6 P 0.1 -#> gen_G05!R 28.35 18.57 1.5 P 0.2 -#> gen_G06!R 237.4 150.8 1.6 P 0## effect component std.error z.ratio bound - ## county 1324 836.1 1.6 P 0.2 - ## gen_G01!R 91.98 58.91 1.6 P 0.1 - ## gen_G02!R 210.6 133.6 1.6 P 0.1 - ## gen_G03!R 63.06 40.58 1.6 P 0.1 - ## gen_G04!R 112.1 71.59 1.6 P 0.1 - ## gen_G05!R 28.35 18.57 1.5 P 0.2 - ## gen_G06!R 237.4 150.8 1.6 P 0 - - # We get the same results from asreml & lme - # plot(m1$vparameters[-1], - # m1l$sigma^2 * c(1, coef(m1l$modelStruct$varStruct, unc = FALSE))^2) - - # The following example shows how to construct a GxE biplot - # from the FA2 model. - - - dat <- besag.met - dat <- transform(dat, xf=factor(col), yf=factor(row)) - dat <- dat[order(dat$county, dat$xf, dat$yf), ] - - # First, AR1xAR1 - m1 <- asreml(yield ~ county, data=dat, - random = ~ gen:county, - residual = ~ dsum( ~ ar1(xf):ar1(yf)|county)) -#> Multi-section model using the sigma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:07:47 2021 -#> LogLik Sigma2 DF wall cpu -#> 1 -3931.453 1.0 1146 17:07:47 0.0 -#> 2 -3846.882 1.0 1146 17:07:47 0.0 -#> 3 -3765.127 1.0 1146 17:07:47 0.0 -#> 4 -3724.260 1.0 1146 17:07:47 0.0 -#> 5 -3710.877 1.0 1146 17:07:47 0.0 -#> 6 -3709.388 1.0 1146 17:07:47 0.0 -#> 7 -3709.308 1.0 1146 17:07:47 0.0 -#> 8 -3709.304 1.0 1146 17:07:47 0.0#> Multi-section model using the sigma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:07:47 2021 -#> LogLik Sigma2 DF wall cpu -#> 1 -3960.869 1.0 1146 17:07:47 0.0 (1 restrained) -#> 2 -3838.939 1.0 1146 17:07:47 0.0 -#> 3 -3738.501 1.0 1146 17:07:48 0.0 -#> 4 -3685.886 1.0 1146 17:07:48 0.0 -#> 5 -3667.580 1.0 1146 17:07:48 0.0 -#> 6 -3665.255 1.0 1146 17:07:48 0.0 -#> 7 -3665.089 1.0 1146 17:07:48 0.0 -#> 8 -3665.077 1.0 1146 17:07:48 0.0 -#> 9 -3665.076 1.0 1146 17:07:48 0.0#> Multi-section model using the sigma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:07:48 2021 -#> LogLik Sigma2 DF wall cpu -#> 1 -3960.862 1.0 1146 17:07:48 0.0 (1 restrained) -#> 2 -3926.560 1.0 1146 17:07:48 0.0 (1 restrained) -#> 3 -3833.085 1.0 1146 17:07:48 0.0 (1 restrained) -#> 4 -3735.147 1.0 1146 17:07:48 0.0 (1 restrained) -#> 5 -3683.543 1.0 1146 17:07:48 0.0 (1 restrained) -#> 6 -3665.368 1.0 1146 17:07:48 0.0 -#> 7 -3662.711 1.0 1146 17:07:48 0.0 -#> 8 -3662.471 1.0 1146 17:07:48 0.0 -#> 9 -3662.452 1.0 1146 17:07:48 0.0 -#> 10 -3662.449 1.0 1146 17:07:48 0.0 -#> 11 -3662.449 1.0 1146 17:07:48 0.0#> Warning: Some components changed by more than 1% on the last iteration.#> Multi-section model using the sigma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:07:48 2021 -#> LogLik Sigma2 DF wall cpu -#> 1 -3662.448 1.0 1146 17:07:48 0.0 -#> 2 -3662.448 1.0 1146 17:07:48 0.0 -#> 3 -3662.448 1.0 1146 17:07:48 0.0 -#> 4 -3662.448 1.0 1146 17:07:48 0.0 -#> 5 -3662.448 1.0 1146 17:07:49 0.0 -#> 6 -3662.448 1.0 1146 17:07:49 0.0 -#> 7 -3662.448 1.0 1146 17:07:49 0.0 -#> 8 -3662.448 1.0 1146 17:07:49 0.0 -#> 9 -3662.448 1.0 1146 17:07:49 0.0 -#> 10 -3662.448 1.0 1146 17:07:49 0.0 -#> 11 -3662.448 1.0 1146 17:07:49 0.0 -#> 12 -3662.448 1.0 1146 17:07:49 0.0 -#> 13 -3662.448 1.0 1146 17:07:49 0.0 -#> 14 -3662.448 1.0 1146 17:07:49 0.0 -#> 15 -3662.448 1.0 1146 17:07:49 0.0 -#> 16 -3662.448 1.0 1146 17:07:49 0.0 -#> 17 -3662.448 1.0 1146 17:07:49 0.0 -#> 18 -3662.448 1.0 1146 17:07:49 0.0 -#> 19 -3662.448 1.0 1146 17:07:49 0.0 -#> 20 -3662.448 1.0 1146 17:07:49 0.0 -#> 21 -3662.448 1.0 1146 17:07:49 0.0 -#> 22 -3662.448 1.0 1146 17:07:49 0.0 -#> 23 -3662.447 1.0 1146 17:07:49 0.0 -#> 24 -3662.447 1.0 1146 17:07:49 0.0 -#> 25 -3662.447 1.0 1146 17:07:49 0.0 -#> 26 -3662.447 1.0 1146 17:07:49 0.0 -#> 27 -3662.447 1.0 1146 17:07:49 0.0 -#> 28 -3662.447 1.0 1146 17:07:49 0.0 -#> 29 -3662.447 1.0 1146 17:07:49 0.0 -#> 30 -3662.447 1.0 1146 17:07:49 0.0 -#> 31 -3662.447 1.0 1146 17:07:49 0.0 -#> 32 -3662.447 1.0 1146 17:07:49 0.0 -#> 33 -3662.447 1.0 1146 17:07:49 0.0 -#> 34 -3662.447 1.0 1146 17:07:49 0.0 -#> 35 -3662.447 1.0 1146 17:07:49 0.0 -#> 36 -3662.447 1.0 1146 17:07:50 0.0 -#> 37 -3662.447 1.0 1146 17:07:50 0.0 -#> 38 -3662.447 1.0 1146 17:07:50 0.0 -#> 39 -3662.447 1.0 1146 17:07:50 0.0 -#> 40 -3662.447 1.0 1146 17:07:50 0.0 -#> 41 -3662.447 1.0 1146 17:07:50 0.0 -#> 42 -3662.447 1.0 1146 17:07:50 0.0 -#> 43 -3662.447 1.0 1146 17:07:50 0.0 -#> 44 -3662.447 1.0 1146 17:07:50 0.0 -#> 45 -3662.447 1.0 1146 17:07:50 0.0 -#> 46 -3662.447 1.0 1146 17:07:50 0.0 -#> 47 -3662.447 1.0 1146 17:07:50 0.0 -#> 48 -3662.446 1.0 1146 17:07:50 0.0 -#> 49 -3662.446 1.0 1146 17:07:50 0.0 -#> 50 -3662.446 1.0 1146 17:07:50 0.0#> Warning: Some components changed by more than 1% on the last iteration.asreml.options(extra=0) - - # Use the loadings to make a biplot - vars <- vc(m3) - psi <- vars[grepl("!var$", vars$effect), "component"] - la1 <- vars[grepl("!fa1$", vars$effect), "component"] - la2 <- vars[grepl("!fa2$", vars$effect), "component"] - mat <- as.matrix(data.frame(psi, la1, la2)) - # I tried using rotate.fa=FALSE, but it did not seem to - # give orthogonal vectors. Rotate by hand. - rot <- svd(mat[,-1])$v # rotation matrix - lam <- mat[,-1] - colnames(lam) <- c("load1", "load2") - - co3 <- coef(m3)$random # Scores are the GxE coefficients - ix1 <- grepl("_Comp1$", rownames(co3)) - ix2 <- grepl("_Comp2$", rownames(co3)) - sco <- matrix(c(co3[ix1], co3[ix2]), ncol=2, byrow=FALSE) - sco <- sco - dimnames(sco) <- list(levels(dat$gen) , c('load1','load2')) - rownames(lam) <- levels(dat$county) - sco[,1:2] <- -1 * sco[,1:2] - lam[,1:2] <- -1 * lam[,1:2] - biplot(sco, lam, cex=.5, main="FA2 coefficient biplot (asreml4)") -# G variance matrix - gvar <- lam - - # Now get predictions and make an ordinary biplot - p3 <- predict(m3, data=dat, classify="county:gen") -#> Multi-section model using the sigma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:07:50 2021 -#> LogLik Sigma2 DF wall cpu -#> 1 -3662.446 1.0 1146 17:07:50 0.1 -#> 2 -3662.446 1.0 1146 17:07:50 0.0 -#> 3 -3662.446 1.0 1146 17:07:50 0.1#> Warning: Some components changed by more than 1% on the last iteration.#> -#>#>-#> -#>bi3 <- gge(p3, predicted.value ~ gen*county, scale=FALSE) - if(interactive()) dev.new() - # Very similar to the coefficient biplot - biplot(bi3, stand=FALSE, main="SVD biplot of FA2 predictions") --# } -
besag.triticale.Rd
Four-way factorial agronomic experiment in triticale
-data("besag.triticale")- - -
A data frame with 54 observations on the following 7 variables.
yield
yield, g/m^2
row
row
col
column
gen
genotype / variety, 3 levels
rate
seeding rate, kg/ha
nitro
nitrogen rate, kw/ha
regulator
growth regulator, 3 levels
Experiment conducted as a factorial on the yields of triticale. Fully - randomized. Plots were 1.5m x 5.5m, but the orientation is not clear.
-Besag and Kempton show how accounting for neighbors changes - non-significant genotype differences into significant differences.
-Julian Besag and Rob Kempton (1986). - Statistical Analysis of Field Experiments Using Neighbouring Plots. - Biometrics, 42, 231-251. Table 2. - https://doi.org/10.2307/2531047
-None.
- --# \dontrun{ - - library(agridat) - data(besag.triticale) - dat <- besag.triticale - dat <- transform(dat, rate=factor(rate), nitro=factor(nitro)) - dat <- transform(dat, xf=factor(col), yf=factor(row)) - - libs(desplot) - desplot(dat, yield ~ col*row, - # aspect unknown - main="besag.triticale") -- # Besag & Kempton are not perfectly clear on the model, but - # indicate that there was no evidence of any two-way interactions. - # A reduced, main-effect model had genotype effects that were - # "close to significant" at the five percent level. - # The model below has p-value of gen at .04, so must be slightly - # different than their model. - m2 <- lm(yield ~ gen + rate + nitro + regulator + yf, data=dat) - anova(m2) -#> Analysis of Variance Table -#> -#> Response: yield -#> Df Sum Sq Mean Sq F value Pr(>F) -#> gen 2 68245 34123 3.4115 0.04174 * -#> rate 1 31344 31344 3.1338 0.08346 . -#> nitro 1 5547 5547 0.5546 0.46032 -#> regulator 2 36612 18306 1.8302 0.17212 -#> yf 2 34756 17378 1.7374 0.18757 -#> Residuals 45 450098 10002 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1- # Similar, but not exact, to Besag figure 5 - dat$res <- resid(m2) - libs(lattice) - xyplot(res ~ col|as.character(row), data=dat, - as.table=TRUE, type="s", layout=c(1,3), - main="besag.triticale") -- libs(asreml) # asreml4 - - # Besag uses an adjustment based on neighboring plots. - # This analysis fits the standard AR1xAR1 residual model - - dat <- dat[order(dat$xf, dat$yf), ] - m3 <- asreml(yield ~ gen + rate + nitro + regulator + - gen:rate + gen:nitro + gen:regulator + - rate:nitro + rate:regulator + - nitro:regulator + yf, data=dat, - resid = ~ ar1(xf):ar1(yf)) -#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:07:52 2021 -#> LogLik Sigma2 DF wall cpu -#> 1 -177.197 8485.373 32 17:07:52 0.0 (1 restrained) -#> 2 -170.008 6592.311 32 17:07:52 0.0 (1 restrained) -#> 3 -165.648 8290.072 32 17:07:52 0.0 -#> 4 -165.203 13100.375 32 17:07:52 0.0 -#> 5 -165.198 12237.087 32 17:07:52 0.0 -#> 6 -165.198 12425.594 32 17:07:52 0.0wald(m3) # Strongly significant gen, rate, regulator -#> Wald tests for fixed effects. -#> Response: yield -#> Terms added sequentially; adjusted for those above. -#> -#> Df Sum of Sq Wald statistic Pr(Chisq) -#> (Intercept) 1 1283427 103.289 < 2.2e-16 *** -#> gen 2 908222 36.546 1.159e-08 *** -#> rate 1 105412 8.483 0.003584 ** -#> nitro 1 275 0.022 0.881825 -#> regulator 2 232696 9.364 0.009262 ** -#> yf 2 3787 0.152 0.926634 -#> gen:rate 2 1383 0.056 0.972564 -#> gen:nitro 2 30994 1.247 0.536019 -#> gen:regulator 4 37599 0.756 0.944186 -#> rate:nitro 1 1484 0.119 0.729610 -#> rate:regulator 2 49772 2.003 0.367366 -#> nitro:regulator 2 41220 1.659 0.436342 -#> residual (MS) 12426 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1## Df Sum of Sq Wald statistic Pr(Chisq) - ## (Intercept) 1 1288255 103.971 < 2.2e-16 *** - ## gen 2 903262 72.899 < 2.2e-16 *** - ## rate 1 104774 8.456 0.003638 ** - ## nitro 1 282 0.023 0.880139 - ## regulator 2 231403 18.676 8.802e-05 *** - ## yf 2 3788 0.306 0.858263 - ## gen:rate 2 1364 0.110 0.946461 - ## gen:nitro 2 30822 2.488 0.288289 - ## gen:regulator 4 37269 3.008 0.556507 - ## rate:nitro 1 1488 0.120 0.728954 - ## rate:regulator 2 49296 3.979 0.136795 - ## nitro:regulator 2 41019 3.311 0.191042 - ## residual (MS) 12391 - -# } -
blackman.wheat.Rd
Multi-environment trial of wheat, conventional and semi-dwarf - varieties, 7 locs with low/high fertilizer levels.
-A data frame with 168 observations on the following 5 variables.
gen
genotype
loc
location
nitro
nitrogen fertilizer, low/high
yield
yield (g/m^2)
type
type factor, conventional/semi-dwarf
Conducted in U.K. in 1975. Each loc had three reps, two nitrogen - treatments.
-Locations were Begbroke, Boxworth, Crafts Hill, Earith, Edinburgh, - Fowlmere, Trumpington.
-At the two highest-yielding locations, Earith and Edinburgh, yield was - _lower_ for the high-nitrogen treatment. Blackman et al. say "it - seems probable that effects on development and structure of the crop - were responsible for the reductions in yield at high nitrogen".
-Blackman, JA and Bingham, J. and Davidson, JL (1978). - Response of semi-dwarf and conventional winter wheat varieties to the - application of nitrogen fertilizer. - The Journal of Agricultural Science, 90, 543--550. - https://doi.org/10.1017/S0021859600056070
-Gower, J. and Lubbe, S.G. and Gardner, S. and Le Roux, N. (2011). - Understanding Biplots, Wiley.
- --# \dontrun{ - -library(agridat) -data(blackman.wheat) -dat <- blackman.wheat - -libs(lattice) - -# Semi-dwarf generally higher yielding than conventional -# bwplot(yield~type|loc,dat, main="blackman.wheat") - -# Peculiar interaction--Ear/Edn locs have reverse nitro response -dotplot(gen~yield|loc, dat, group=nitro, auto.key=TRUE, - main="blackman.wheat: yield for low/high nitrogen") --# Height data from table 6 of Blackman. Height at Trumpington loc. -# Shorter varieties have higher yields, greater response to nitro. -heights <- data.frame(gen=c("Cap", "Dur", "Fun", "Hob", "Hun", "Kin", - "Ran", "Spo", "T64", "T68","T95", "Tem"), - ht=c(101,76,76,80,98,88,98,81,86,73,78,93)) -dat$height <- heights$ht[match(dat$gen, heights$gen)] -xyplot(yield~height|loc,dat,group=nitro,type=c('p','r'), - main="blackman.wheat", - subset=loc=="Tru", auto.key=TRUE) -- -libs(reshape2) -# AMMI-style biplot Fig 6.4 of Gower 2011 -dat$env <- factor(paste(dat$loc,dat$nitro,sep="-")) -datm <- acast(dat, gen~env, value.var='yield') -datm <- sweep(datm, 1, rowMeans(datm)) -datm <- sweep(datm, 2, colMeans(datm)) -biplot(prcomp(datm), main="blackman.wheat AMMI-style biplot") -- -# } -
bliss.borers.Rd
Corn borer infestation under four treatments
-A data frame with 48 observations on the following 3 variables.
borers
number of borers per hill
treat
treatment factor
freq
frequency of the borer count
Four treatments to control corn borers. Treatment 1 is the control.
-In 15 blocks, for each treatment, 8 hills of plants were examined, and the - number of corn borers present was recorded. The data here are - aggregated across blocks.
-Bliss mentions that the level of infestation varied significantly - between the blocks.
-C. Bliss and R. A. Fisher. (1953). - Fitting the Negative Binomial Distribution to Biological Data. - Biometrics, 9, 176--200. Table 3. - https://doi.org/10.2307/3001850
-Geoffrey Beall. 1940. The Fit and Significance of Contagious - Distributions when Applied to Observations on Larval Insects. - Ecology, 21, 460-474. Page 463. - https://doi.org/10.2307/1930285
- --# \dontrun{ - -library(agridat) -data(bliss.borers) -dat <- bliss.borers - -# Add 0 frequencies -dat0 <- expand.grid(borers=0:26, treat=c('T1','T2','T3','T4')) -dat0 <- merge(dat0,dat, all=TRUE) -dat0$freq[is.na(dat0$freq)] <- 0 - -# Expand to individual (non-aggregated) counts for each hill -dd <- data.frame(borers = rep(dat0$borers, times=dat0$freq), - treat = rep(dat0$treat, times=dat0$freq)) - -libs(lattice) -histogram(~borers|treat, dd, type='count', breaks=0:27-.5, - layout=c(1,4), main="bliss.borers", xlab="Borers per hill") -#> -#>#>-#> -#>#>-#> -#>m1 <- glm.nb(borers~0+treat, data=dd) - # Bliss, table 3, presents treatment means, which are matched by: - exp(coef(m1)) # 4.033333 3.166667 1.483333 1.508333 -#> treatT1 treatT2 treatT3 treatT4 -#> 4.033333 3.166667 1.483333 1.508333# Bliss gives treatment values k = c(1.532,1.764,1.333,1.190). - # The mean of these is 1.45, similar to this across-treatment estimate - m1$theta # 1.47 -#> [1] 1.47145- -# Plot observed and expected distributions for treatment 2 -libs(latticeExtra) - xx <- 0:26 - yy <- dnbinom(0:26, mu=3.17, size=1.47)*120 # estimates are from glm.nb - histogram(~borers, dd, type='count', subset=treat=='T2', - main="bliss.borers - trt T2 observed and expected", - breaks=0:27-.5) + - xyplot(yy~xx, col='navy', type='b') -#>#> -#>#>-#> -#>dat2 <- droplevels(subset(dat, treat=='T2')) - vcd::distplot(dat2$borers, type = "nbinomial", - main="bliss.borers neg binomialness plot") -# Better way is a rootogram - g1 <- vcd::goodfit(dat2$borers, "nbinomial") - plot(g1, main="bliss.borers - Treatment 2") --# } -
bond.diallel.Rd
Diallel cross of winter beans
-A data frame with 36 observations on the following 3 variables.
female
female parent
male
male parent
yield
yield, grams/plot
stems
stems per plot
nodes
podded nodes per stem
pods
pods per podded node
seeds
seeds per pod
weight
weight (g) per 100 seeds
height
height (cm) in April
width
width (cm) in April
flower
mean flowering date in May
Yield in grams/plot for full diallel cross between 6 inbred lines - of winter beans. Values are means over two years.
-D. A. Bond (1966). Yield and components of yield in diallel crosses - between inbred lines of winter beans (Viciafaba). - The Journal of Agricultural Science, 67, 325--336. - https://doi.org/10.1017/S0021859600017329
-Peter John, Statistical Design and Analysis of Experiments, p. 85.
-# \dontrun{
-
- library(agridat)
- data(bond.diallel)
- dat <- bond.diallel
-
- # Because these data are means, we will not be able to reproduce
- # the anova table in Bond. More useful as a multivariate example.
-
- libs(corrgram)
-#>
-#> Attaching package: 'corrgram'
-#> The following object is masked from 'package:lattice':
-#>
-#> panel.fill
- corrgram(dat[ , 3:11], main="bond.diallel",
- lower=panel.pts)
-
-
- # Multivariate example from sommer package
- corrgram(dat[,c("stems","pods","seeds")],
- lower=panel.pts, upper=panel.conf, main="bond.diallel")
-
-
- libs(sommer)
-#> Loading required package: MASS
-#>
-#> Attaching package: 'MASS'
-#> The following object is masked from 'package:asreml':
-#>
-#> oats
-#> The following object is masked from 'package:dplyr':
-#>
-#> select
-#> Loading required package: crayon
-#>
-#> Attaching package: 'sommer'
-#> The following object is masked from 'package:asreml':
-#>
-#> vpredict
- m1 <- mmer(cbind(stems,pods,seeds) ~ 1,
- random= ~ vs(female)+vs(male),
- rcov= ~ vs(units),
- dat)
-#> Version out of date. Please update sommer to the newest version using:
-#> install.packages('sommer') in a new session
-#> Use the 'date.warning' argument to disable the warning message.iteration LogLik wall cpu(sec) restrained
-#> 1 -63.6729 15:16:51 0 0
-#> 2 -40.8016 15:16:51 0 0
-#> 3 -27.2147 15:16:51 0 0
-#> 4 -24.2403 15:16:51 0 0
-#> 5 -24.1945 15:16:51 0 0
-#> 6 -24.194 15:16:51 0 0
-
- #### genetic variance covariance
- cov2cor(m1$sigma$`u:female`)
-#> stems pods seeds
-#> stems 1.0000000 0.5745963 -0.8714338
-#> pods 0.5745963 1.0000000 -0.7946327
-#> seeds -0.8714338 -0.7946327 1.0000000
- cov2cor(m1$sigma$`u:male`)
-#> stems pods seeds
-#> stems 1.0000000 0.3173646 -0.6610472
-#> pods 0.3173646 1.0000000 -0.4276277
-#> seeds -0.6610472 -0.4276277 1.0000000
- cov2cor(m1$sigma$`u:units`)
-#> stems pods seeds
-#> stems 1.0000000 -0.3354943 0.2294149
-#> pods -0.3354943 1.0000000 0.1294200
-#> seeds 0.2294149 0.1294200 1.0000000
-
-# }
-
bose.multi.uniformity.Rd
Uniformity trials of barley, wheat, lentils in India 1930-1932.
-data("bose.multi.uniformity")- - -
A data frame with 1170 observations on the following 5 variables.
year
year
crop
crop
row
row ordinate
col
column ordinate
yield
plot yield, grams
A field about 1/4 acre was sown in three consecutive years (beginning - in 1929-1930) with barley, wheat, and lentil.
-At harvest, borders 3 feet on east and west and 6 feet on north and - south were removed. The field was divided into plots four feet square, - which were harvested separately, measured in grams.
-Fertility contours of the field were somewhat similar across years, - with correlation values across years 0.45, 0.48, 0.21.
-Field width: 15 plots * 4 feet = 60 feet.
-Field length: 26 plots * 4 feet = 104 feet.
-Conclusions:
-"An experimental field which may be sensibly uniform for one crop or - for one season may not be so for another crop or in a different - season" p. 592.
-Bose, R. D. (1935). - Some soil heterogeneity trials at Pusa and the size and shape of experimental plots. - Ind. J. Agric. Sci., 5, 579-608. Table 1 (p. 585), Table 4 (p. 589), Table 5 (p. 590). - https://archive.org/details/in.ernet.dli.2015.271739
-Shaw (1935). - Handbook of Statistics for Use in Plant-Breeding and Agricultural Problems, p. 149-170. - https://krishikosh.egranth.ac.in/handle/1/21153
- --# \dontrun{ - - library(agridat) - data(bose.multi.uniformity) - dat <- bose.multi.uniformity - - # match sum at bottom of Bose tables 1, 4, 5 - # library(dplyr) - # dat - - libs(desplot, dplyr) - # Calculate percent of mean yield for each year - dat <- group_by(dat, year) - dat <- mutate(dat, pctyld = (yield-mean(yield))/mean(yield)) - - dat <- ungroup(dat) - dat <- mutate(dat, year=as.character(year)) - # Bose smoothed the data by averaging 2x3 plots together before drawing - # contour maps. Heatmaps of raw data have similar structure to Bose Fig 1. - desplot(dat, pctyld ~ col*row|year, - tick=TRUE, flip=TRUE, aspect=(26)/(15), - main="bose.multi.* - Percent of mean yield") -- # contourplot() results need to be mentally flipped upside down - # contourplot(pctyld ~ col*row|year, dat, - # region=TRUE, as.table=TRUE, aspect=26/15) - -# } -
box.cork.Rd
The cork data gives the weights of cork borings of the trunk for 28 trees - on the north (N), east (E), south (S) and west (W) directions.
-Data frame with 28 observations on the following 5 variables.
tree
tree number
dir
direction N,E,S,W
y
weight of cork deposit (centigrams), north direction
C.R. Rao (1948). - Tests of significance in multivariate analysis. - Biometrika, 35, 58-79. - https://doi.org/10.2307/2332629
-K.V. Mardia, J.T. Kent and J.M. Bibby (1979) Multivariate Analysis, - Academic Press.
-Russell D Wolfinger, (1996). - Heterogeneous Variance: Covariance Structures for Repeated Measures. - Journal of Agricultural, Biological, and Environmental - Statistics, 1, 205-230.
- --# \dontrun{ - - library(agridat) - data(box.cork) - dat <- box.cork - - libs(reshape2, lattice) - dat2 <- acast(dat, tree ~ dir, value.var='y') - splom(dat2, pscales=3, - prepanel.limits = function(x) c(25,100), - main="box.cork", xlab="Cork yield on side of tree", - panel=function(x,y,...){ - panel.splom(x,y,...) - panel.abline(0,1,col="gray80") - }) -- - ## Radial star plot, each tree is one line - libs(plotrix) - libs(reshape2) - dat2 <- acast(dat, tree ~ dir, value.var='y') - radial.plot(dat2, start=pi/2, rp.type='p', clockwise=TRUE, - radial.lim=c(0,100), main="box.cork", - lwd=2, labels=c('North','East','South','West'), - line.col=rep(c("royalblue","red","#009900","dark orange", - "#999999","#a6761d","deep pink"), - length=nrow(dat2))) -- # asreml 4 - libs(asreml) - - # Unstructured covariance - dat$dir <- factor(dat$dir) - dat$tree <- factor(dat$tree) - dat <- dat[order(dat$tree, dat$dir), ] - - # Unstructured covariance matrix - m1 <- asreml(y~dir, data=dat, residual = ~ tree:us(dir)) -#> Model fitted using the sigma parameterization. -#> ASReml 4.1.0 Fri Dec 11 17:31:56 2020 -#> LogLik Sigma2 DF wall cpu -#> 1 -307.529 1.0 108 17:31:56 0.0 -#> 2 -300.714 1.0 108 17:31:56 0.0 -#> 3 -294.337 1.0 108 17:31:56 0.0 -#> 4 -291.522 1.0 108 17:31:56 0.0 -#> 5 -290.967 1.0 108 17:31:56 0.0 -#> 6 -290.959 1.0 108 17:31:56 0.0#> effect component std.error z.ratio bound %ch -#> tree:dir!R 1 NA NA F 0 -#> tree:dir!dir_E:E 219.9 59.83 3.7 P 0 -#> tree:dir!dir_N:E 223.8 64.93 3.4 P 0 -#> tree:dir!dir_N:N 290.4 79 3.7 P 0 -#> tree:dir!dir_S:E 229.1 69.21 3.3 P 0 -#> tree:dir!dir_S:N 288.4 82.7 3.5 P 0 -#> tree:dir!dir_S:S 350 95.22 3.7 P 0 -#> tree:dir!dir_W:E 171.4 54.09 3.2 P 0 -#> tree:dir!dir_W:N 226.3 65.75 3.4 P 0 -#> tree:dir!dir_W:S 259.5 73.62 3.5 P 0 -#> tree:dir!dir_W:W 226 61.48 3.7 P 0- # Note: 'rcor' is a personal function to extract the correlations - # into a matrix format - # round(kw::rcor(m1)$dir, 2) - # E N S W - # E 219.93 223.75 229.06 171.37 - # N 223.75 290.41 288.44 226.27 - # S 229.06 288.44 350.00 259.54 - # W 171.37 226.27 259.54 226.00 - - # Note: Wolfinger used a common diagonal variance - - # Factor Analytic with different specific variances - # fixme: does not work with asreml4 - # m2 <- update(m1, residual = ~tree:facv(dir,1)) - # round(kw::rcor(m2)$dir, 2) - # E N S W - # E 219.94 209.46 232.85 182.27 - # N 209.46 290.41 291.82 228.43 - # S 232.85 291.82 349.99 253.94 - # W 182.27 228.43 253.94 225.99 - -# } -
bradley.multi.uniformity.Rd
Uniformity trial of 4 crops on the same land in Trinidad.
-data("bradley.multi.uniformity")- - -
A data frame with 440 observations on the following 5 variables.
row
row
col
column
yield
yield, pounds per plot
season
season
crop
crop
Experiments conducted in Trinidad.
-Plots were marked in May 1939 in Fields 1, 2, and 3. Prior to 1939 it - was difficult to obtain significant results on this land.
-Plots were 1/40 acre each, 33 feet square. Discard between blocks (the - rows) was 7 feet and between plots (the columns) was 4 feet. For - roadways, a gap of 14 feet is between blocks 10 and 11 and a gap of 10 - feet between plots E/F (which we call columns 5/6).
-Data was collected for 4 crops. Two other crops had poor germination - and were omitted.
-Field width: 10 plots * 33 feet + 8 gaps * 4 feet + 1 gap * 10 = 372 feet
-Field length: 11 blocks (plots) * 33 feet + 9 gaps * 7 feet + 1 gap * 14 feet = 440 feet
- -Crop 1. Woolly Pyrol. Crop cut at flowering and weighed in pounds. - Note, woolly pyrol appears to be a bean also called black gram, - phaseolus mungo.
-Crop 2. Woolly Pyrol. Crop cut at flowering and weighed in pounds.
-Crop 3. Maize. Net weight of cobs in pounds. Source document also has - number of cobs.
-Crop 4. Yams. Weights in pounds. Source document has weight to 1/4 - pound, which has here been rounded to the nearest pound. (Half pounds - were rounded to nearest even pound.) Source document also has number - of yams.
-Notes by Bradley.
-The edges of the field tended to be slightly higher yielding. Thought - to be due to the heavier cultivation which the edges recieve (p. 18).
-The plot in row 9, col 7 (9G in Bradley) is higher yielding than its - neighbors, thought to be the site of a saman tree dug up and burned - when the field was plotted. Bits of charcoal were still in the soil.
-Bradley also examined soil samples on selected plots and looked at - nutrients, moisture, texture, etc. The selected plots were 4 - high-yielding plots and 4 low-yielding plots. Little difference was - observed. Unexpectedly, yams gave higher yield on plots with more - compaction.
-P. L. Bradley (1941). - A study of the variation in productivity over a number of fixed plots in field 2. - Dissertation: The University of the West Indies. Appendix 1a, 1b, 1c, 1d. - https://hdl.handle.net/2139/41264
-The data are repeated in: - C. E. Wilson. - Study of the plots laid out on field II with a view to obtaining - plot-fertility data for use in future experiments on these plots, - season 1940-41. - Dissertation: The University of the West Indies. Page 36-39. - https://uwispace.sta.uwi.edu/dspace/handle/2139/43658
-None
- --# \dontrun{ - -library(agridat) -data(bradley.multi.uniformity) -dat <- bradley.multi.uniformity - -# figures similar to Bradley, pages 11-15 -libs(desplot) -desplot(dat, yield ~ col*row, subset=season==1, - flip=TRUE, aspect=433/366, # true aspect (omits roadways) - main="bradley.multi.uniformity - season 1, woolly pyrol") --desplot(dat, yield ~ col*row, subset=season==2, - flip=TRUE, aspect=433/366, # true aspect (omits roadways) - main="bradley.multi.uniformity - season 2, woolly pyrol") --desplot(dat, yield ~ col*row, subset=season==3, - flip=TRUE, aspect=433/366, # true aspect (omits roadways) - main="bradley.multi.uniformity - season 3, maize") -- -desplot(dat, yield ~ col*row, subset=season==4, - flip=TRUE, aspect=433/366, # true aspect (omits roadways) - main="bradley.multi.uniformity - season 4, yams") --dat1 <- subset(bradley.multi.uniformity, season==1) -dat2 <- subset(bradley.multi.uniformity, season==2) -dat3 <- subset(bradley.multi.uniformity, season==3) -dat4 <- subset(bradley.multi.uniformity, season==4) - # to combine plots across seasons, each yield value was converted to percent - # of maximum yield in that season. Same as Bradley, page 17. - dat1$percent <- dat1$yield / max(dat1$yield) * 100 - dat2$percent <- dat2$yield / max(dat2$yield) * 100 - dat3$percent <- dat3$yield / max(dat3$yield) * 100 - dat4$percent <- dat4$yield / max(dat4$yield) * 100 - # make sure data is in same order, then combine - dat1 <- dat1[order(dat1$col, dat1$row),] - dat2 <- dat2[order(dat2$col, dat2$row),] - dat3 <- dat3[order(dat3$col, dat3$row),] - dat4 <- dat4[order(dat4$col, dat4$row),] - dat14 <- dat1[,c('row','col')] - dat14$fertility <- dat1$percent + dat2$percent + dat3$percent + dat4$percent - - libs(desplot) - desplot(dat14, fertility ~ col*row, - tick=TRUE, flip=TRUE, aspect=433/366, # true aspect (omits roadways) - main="bradley.multi.uniformity - fertility") --# } -
brandle.rape.Rd
Rape seed yields for 5 genotypes, 3 years, 9 locations.
- -A data frame with 135 observations on the following 4 variables.
gen
genotype
year
year, numeric
loc
location, 9 levels
yield
yield, kg/ha
The yields are the mean of 4 reps.
-Note, in table 2 of Brandle, the value of Triton in 1985 at Bagot is - shown as 2355, but should be 2555 to match the means reported - in the paper.
- -Brandle, JE and McVetty, PBE. (1988). - Genotype x environment interaction and stability analysis of seed - yield of oilseed rape grown in Manitoba. - Canadian Journal of Plant Science, 68, 381--388.
-Used with permission of P. McVetty.
- - ---library(agridat) -data(brandle.rape) -dat <- brandle.rape - -libs(lattice) -dotplot(gen~yield|loc, dat, group=year, auto.key=list(columns=3), - main="brandle.rape, yields per location", ylab="Genotype")-# Matches table 4 of Brandle -# round(tapply(dat$yield, dat$gen, mean),0) - -# Brandle reports variance components: -# sigma^2_gl: 9369 gy: 14027 g: 72632 resid: 150000 -# Brandle analyzed rep-level data, so the residual variance is different. -# The other components are matched by the following analysis. - -libs(lme4) -libs(lucid) -dat$year <- factor(dat$year) -m1 <- lmer(yield ~ year + loc + year:loc + (1|gen) + - (1|gen:loc) + (1|gen:year), data=dat) -vc(m1)#> grp var1 var2 vcov sdcor -#> gen:loc (Intercept) <NA> 9361 96.75 -#> gen:year (Intercept) <NA> 14030 118.4 -#> gen (Intercept) <NA> 72590 269.4 -#> Residual <NA> <NA> 75010 273.9## grp var1 var2 vcov sdcor -## gen:loc (Intercept)9363 96.76 -## gen:year (Intercept) 14030 118.4 -## gen (Intercept) 72630 269.5 -## Residual 75010 273.9 - -
brandt.switchback.Rd
Switchback experiment on dairy cattle, milk yield for two treatments
-data("brandt.switchback")- - -
A data frame with 30 observations on the following 5 variables.
group
group: A,B
cow
cow, 10 levels
trt
treatment, 2 levels
period
period, 3 levels
yield
milk yield, pounds
In this experiment, 10 cows were selected from the Iowa State College - Holstein-Friesian herd and divided into two equal groups. Care was - taken to have the groups as nearly equal as possible with regard to - milk production, stage of gestation, body weight, condition and - age. These cows were each given 10 pounds of timothy hay and 30 pounds - of corn silage daily but were fed different grain mixtures. Treatment - T1, then, consisted of feeding a grain mixture of 1 part of corn and - cob meal to 1 part of ground oats, while treatment T2 consisted of - feeding a grain mixture of 4 parts corn and cob meal, 4 parts of - ground oats and 3 parts of gluten feed. The three treatment periods - covered 105 days -- three periods of 35 days each. The yields for the - first 7 days of each period were not considered because of the - possible effect of the transition from one treatment to the other. The - data, together with sums and differences which aid in the calculations - incidental to testing, are given in table 2.
-It seems safe to conclude that the inclusion of gluten feed in the - grain mixture fed in a timothy hay ration to Holstein-Friesian cows - increased the production of milk. The average increase was 21.7 pounds - per cow for a 28-day period.
-A.E. Brandt (1938). Tests of Significance in Reversal or Switchback Trials - Iowa State College, Agricultural Research Bulletins. Bulletin 234. Book 22. - https://lib.dr.iastate.edu/ag_researchbulletins/22/
- --# \dontrun{ - -library(agridat) - -data(brandt.switchback) -dat <- brandt.switchback - -# In each period, treatment 2 is slightly higher -# bwplot(yield~trt|period,dat, layout=c(3,1), main="brandt.switchback", -# xlab="Treatment", ylab="Milk yield") - -# Yield at period 2 (trt T2) is above the trend in group A, -# below the trend (trt T1) in group B. -# Equivalently, treatment T2 is above the trend line -libs(lattice) -xyplot(yield~period|group, data=dat, group=cow, type=c('l','r'), - auto.key=list(columns=5), main="brandt.switchback", - xlab="Period. Group A: T1,T2,T1. Group B: T2,T1,T2", - ylab="Milk yield (observed and trend) per cow") --# Similar to Brandt Table 10 -m1 <- aov(yield~period+group+cow:group+period:group, data=dat) -anova(m1) -#> Analysis of Variance Table -#> -#> Response: yield -#> Df Sum Sq Mean Sq F value Pr(>F) -#> period 2 34979 17489 10.0589 0.001483 ** -#> group 1 3874 3874 2.2280 0.154985 -#> group:cow 8 950792 118849 68.3560 6.516e-11 *** -#> period:group 2 4282 2141 1.2315 0.318096 -#> Residuals 16 27819 1739 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1-# } -
bridges.cucumber.Rd
Cucumber yields in latin square design at two locs.
-A data frame with 32 observations on the following 5 variables.
loc
location
gen
genotype/cultivar
row
row
col
column
yield
weight of marketable fruit per plot
Conducted at Clemson University in 1985. four cucumber cultivars - were grown in a latin square design at Clemson, SC, and Tifton, GA.
-Separate variances are modeled each location.
-Plot dimensions are not given.
-Bridges (1989) used this data to illustrate fitting a heterogeneous - mixed model.
-Used with permission of William Bridges.
-William Bridges (1989). - Analysis of a plant breeding experiment with - heterogeneous variances using mixed model equations. - Applications of mixed models in agriculture and related - disciplines, S. Coop. Ser. Bull, 45--51.
- --# \dontrun{ - - library(agridat) - data(bridges.cucumber) - dat <- bridges.cucumber - dat <- transform(dat, rowf=factor(row), colf=factor(col)) - - libs(desplot) - desplot(dat, yield~col*row|loc, - # aspect unknown - text=gen, cex=1, - main="bridges.cucumber") -- # Graphical inference test for heterogenous variances - libs(nullabor) - # Create a lineup of datasets - fun <- null_permute("loc") - dat20 <- lineup(fun, dat, n=20, pos=9) - - # Now plot - libs(lattice) - bwplot(yield ~ loc|factor(.sample), dat20, - main="bridges.cucumber - graphical inference") -- libs(asreml) # asreml4 - - ## Random row/col/resid. Same as Bridges 1989, p. 147 - m1 <- asreml(yield ~ 1 + gen + loc + loc:gen, - random = ~ rowf:loc + colf:loc, data=dat) -#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:07:53 2021 -#> LogLik Sigma2 DF wall cpu -#> 1 -69.1828 62.4832 24 17:07:53 0.0 -#> 2 -68.2565 48.7835 24 17:07:53 0.0 -#> 3 -67.6053 38.4916 24 17:07:53 0.0 -#> 4 -67.3668 32.3653 24 17:07:53 0.0 -#> 5 -67.3559 31.5313 24 17:07:53 0.0 -#> 6 -67.3558 31.4799 24 17:07:53 0.0#> effect component std.error z.ratio bound %ch -#> rowf:loc 31.62 23.02 1.4 P 0 -#> colf:loc 18.08 15.33 1.2 P 0 -#> units!R 31.48 12.85 2.4 P 0## effect component std.error z.ratio bound - ## rowf:loc 31.62 23.02 1.4 P 0 - ## colf:loc 18.08 15.32 1.2 P 0 - ## units(R) 31.48 12.85 2.4 P 0 - - ## Random row/col/resid at each loc. Matches p. 147 - m2 <- asreml(yield ~ 1 + gen + loc + loc:gen, - random = ~ at(loc):rowf + at(loc):colf, data=dat, - resid = ~ dsum( ~ units|loc)) -#> Multi-section model using the sigma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:07:54 2021 -#> LogLik Sigma2 DF wall cpu -#> 1 -68.5253 1.0 24 17:07:54 0.0 -#> 2 -66.8318 1.0 24 17:07:54 0.0 -#> 3 -66.4698 1.0 24 17:07:54 0.0 -#> 4 -66.3601 1.0 24 17:07:54 0.0 -#> 5 -66.3562 1.0 24 17:07:54 0.0#> effect component std.error z.ratio bound %ch -#> at(loc, Clemson):rowf 32.32 36.54 0.88 P 0.1 -#> at(loc, Tifton):rowf 30.92 28.46 1.1 P 0.4 -#> at(loc, Clemson):colf 22.55 28.78 0.78 P 0 -#> at(loc, Tifton):colf 13.62 14.59 0.93 P 0 -#> loc_Clemson!R 46.85 27.05 1.7 P 0 -#> loc_Tifton!R 16.11 9.298 1.7 P 0## effect component std.error z.ratio bound - ## at(loc, Clemson):rowf 32.32 36.58 0.88 P 0 - ## at(loc, Tifton):rowf 30.92 28.63 1.1 P 0 - ## at(loc, Clemson):colf 22.55 28.78 0.78 P 0 - ## at(loc, Tifton):colf 13.62 14.59 0.93 P 0 - ## loc_Clemson(R) 46.85 27.05 1.7 P 0 - ## loc_Tifton(R) 16.11 9.299 1.7 P 0 - - predict(m2, data=dat, classify='loc:gen')$pvals -#> Multi-section model using the sigma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:07:54 2021 -#> LogLik Sigma2 DF wall cpu -#> 1 -66.3562 1.0 24 17:07:54 0.0 -#> 2 -66.3562 1.0 24 17:07:54 0.0 -#> 3 -66.3562 1.0 24 17:07:54 0.0#> -#> Notes: -#> - The predictions are obtained by averaging across the hypertable -#> calculated from model terms constructed solely from factors in -#> the averaging and classify sets. -#> - Use 'average' to move ignored factors into the averaging set. -#> - The ignored set: rowf,colf -#> -#> -#> loc gen predicted.value std.error status -#> 1 Clemson Dasher 45.55000 5.042806 Estimable -#> 2 Clemson Guardian 31.62500 5.042806 Estimable -#> 3 Clemson Poinsett 21.42500 5.042806 Estimable -#> 4 Clemson Sprint 25.95000 5.042806 Estimable -#> 5 Tifton Dasher 50.48460 3.893635 Estimable -#> 6 Tifton Guardian 38.71697 3.893635 Estimable -#> 7 Tifton Poinsett 33.01487 3.893635 Estimable -#> 8 Tifton Sprint 39.17952 3.893635 Estimable## loc gen predicted.value std.error status - ## 1 Clemson Dasher 45.6 5.04 Estimable - ## 2 Clemson Guardian 31.6 5.04 Estimable - ## 3 Clemson Poinsett 21.4 5.04 Estimable - ## 4 Clemson Sprint 26 5.04 Estimable - ## 5 Tifton Dasher 50.5 3.89 Estimable - ## 6 Tifton Guardian 38.7 3.89 Estimable - ## 7 Tifton Poinsett 33 3.89 Estimable - ## 8 Tifton Sprint 39.2 3.89 Estimable - - # Is a heterogeneous model justified? Maybe not. - # m1$loglik - ## -67.35585 - # m2$loglik - ## -66.35621 - -# } -
broadbalk.wheat.Rd
Long term wheat yields on Broadbalk fields at Rothamsted.
-A data frame with 1258 observations on the following 4 variables.
year
year
plot
plot
grain
grain yield, tonnes
straw
straw yield, tonnes
Note: This data is only 1852-1925. You can find recent data for these - experiments at the Electronic Rothamsted Archive: - https://www.era.rothamsted.ac.uk/
- -Rothamsted Experiment station conducted wheat experiments on the - Broadbalk Fields beginning in 1844 with data for yields of grain and - straw collected from 1852 to 1925. - Ronald Fisher was hired to analyze data from the agricultural trials. - Organic manures and inorganic fertilizer treatments were applied in - various combinations to the plots.
-N1 is 48kg, N1.5 is 72kg, N2 is 96kg, N4 is 192kg nitrogen.
-Plot | Treatment |
2b | manure |
3 | No fertilizer or manure |
5 | P K Na Mg (No N) |
6 | N1 P K Na Mg |
7 | N2 P K Na Mg |
8 | N3 P K Na Mg |
9 | N1* P K Na Mg since 1894; 9A and 9B received different treatments 1852-93 |
10 | N2 |
11 | N2 P |
12 | N2 P Na* |
13 | N2 P K |
14 | N2 P Mg* |
15 | N2 P K Na Mg (timing of N application different to other plots, see below) |
16 | N4 P K Na Mg 1852-64; unmanured 1865-83; N2*P K Na Mg since 1884 |
17 | N2 applied in even years; P K Na Mg applied in odd years |
18 | N2 applied in odd years; P K Na Mg applied in even years |
19 | N1.5 P and rape cake 1852-78, 1879-1925 rape cake only |
D.F. Andrews and A.M. Herzberg. 1985. - Data: A Collection of Problems from Many Fields for the Student - and Research Worker. Springer.
-Retrieved from https://lib.stat.cmu.edu/datasets/Andrews/
-Broadbalk Winter Wheat Experiment. - https://www.era.rothamsted.ac.uk/index.php?area=home&page=index&dataset=4
- --# \dontrun{ - -library(agridat) -data(broadbalk.wheat) -dat <- broadbalk.wheat - -libs(lattice) -## xyplot(grain~straw|plot, dat, type=c('p','smooth'), as.table=TRUE, -## main="broadbalk.wheat") -xyplot(grain~year|plot, dat, type=c('p','smooth'), as.table=TRUE, - main="broadbalk.wheat") # yields are decreasing --# See the treatment descriptions to understand the patterns -redblue <- colorRampPalette(c("firebrick", "lightgray", "#375997")) -levelplot(grain~year*plot, dat, main="broadbalk.wheat: Grain", col.regions=redblue) --# } -
bryan.corn.uniformity.Rd
Uniformity trial of corn at 3 locations in Iowa.
-data("bryan.corn.uniformity")- - -
A data frame with 1728 observations on the following 4 variables.
expt
experiment (variety/orientation)
row
row
col
column
yield
yield, pounds per plot
Three varieties of corn were planted. - Each experiment was 48 rows, each row 48 hills long, .65 acres. (A - "hill" is a single hole with possibly multiple seeds). - Spacing between the hills would be sqrt(43560 sq ft * .64) / 48 = 3.5 feet.
-In the experiment code, K=Krug, I=Iodent, M=McCulloch (varieties of - corn), 23=1923, 25=1925, E=East/West, N=North/South.
-Each experiment was aggregated into experimental units by combining 8 - hills, both in East/West direction and also in North/South direction. - Thus, each field is represented twice in the data.
-Arthur Bryan (1933). - Factors Affecting Experimental Error in Field Plot Tests With Corn. - Agricultural Experiment Station, Iowa State College. Tables 22-27. - https://hdl.handle.net/2027/uiug.30112019568168
-None
- --# \dontrun{ - library(agridat) - data(bryan.corn.uniformity) - dat <- bryan.corn.uniformity - - libs(desplot) - desplot(dat, yield ~ col*row|expt, - main="bryan.corn.uniformity", - aspect=(48*3.5/(6*8*3.5)), # true aspect - flip=TRUE, tick=TRUE)- # CVs in Table 5, column 8 hills - # libs(dplyr) - # dat - # summarize(cv=sd(yield)/mean(yield)*100) - ## expt cv - ## 1 K23E 10.9 - ## 2 K23N 10.9 - ## 3 I25E 16.3 - ## 4 I25N 17.0 - ## 5 M25E 16.2 - ## 6 M25N 17.2 - -# } -
buntaran.wheat.Rd
Multi-environment trial of wheat in Sweden in 2016.
-data("buntaran.wheat")
A data frame with 1069 observations on the following 7 variables.
zone
Geographic zone: south, middle, north
loc
Location
rep
Block replicate (up to 4)
alpha
Incomplete-block in the alpha design
gen
Genotype (cultivar)
yield
Dry matter yield, kg/ha
Dry matter yield from wheat trials in Sweden in 2016. The experiments - in each location were multi-rep with incomplete blocks in an alpha - design.
-Electronic data are from the online supplement of Buntaran (2020) and also from the "init" package at https://github.com/Flavjack/inti.
-Buntaran, Harimurti et al. (2020). - Cross-validation of stagewise mixed-model analysis of Swedish variety trials with winter wheat and spring barley. - Crop Science, 60, 2221-2240. - http://doi.org/10.1002/csc2.20177
-None.
-burgueno.alpha.Rd
Incomplete block alpha design
-data("burgueno.alpha")- - -
A data frame with 48 observations on the following 6 variables.
rep
rep, 3 levels
block
block, 12 levels
row
row
col
column
gen
genotype, 16 levels
yield
yield
A field experiment with 3 reps, 4 blocks per rep, laid out as an alpha - design.
-The plot size is not given.
-Electronic version of the data obtained from CropStat software.
-Used with permission of Juan Burgueno.
-J Burgueno, A Cadena, J Crossa, M Banziger, A Gilmour, B Cullis. 2000. - User's guide for spatial analysis of field variety trials using ASREML. - CIMMYT. - https://books.google.com/books?id=PR_tYCFyLCYC&pg=PA1
- --# \dontrun{ - - library(agridat) - data(burgueno.alpha) - dat <- burgueno.alpha - - libs(desplot) - desplot(dat, yield~col*row, - out1=rep, out2=block, # aspect unknown - text=gen, cex=1,shorten="none", - main='burgueno.alpha') -- - libs(lme4,lucid) - # Inc block model - m0 <- lmer(yield ~ gen + (1|rep/block), data=dat) - vc(m0) # Matches Burgueno p. 26 -#> grp var1 var2 vcov sdcor -#> block:rep (Intercept) <NA> 86900 294.8 -#> rep (Intercept) <NA> 200900 448.2 -#> Residual <NA> <NA> 133200 365## grp var1 var2 vcov sdcor - ## block:rep (Intercept) <NA> 86900 294.8 - ## rep (Intercept) <NA> 200900 448.2 - ## Residual <NA> <NA> 133200 365 - - - libs(asreml) # asreml4 - - dat <- transform(dat, xf=factor(col), yf=factor(row)) - dat <- dat[order(dat$xf, dat$yf),] - - # Sequence of models on page 36 - - m1 <- asreml(yield ~ gen, data=dat) -#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:07:56 2021 -#> LogLik Sigma2 DF wall cpu -#> 1 -232.128 424504.3 32 17:07:56 0.0m1$loglik # -232.13 -#> [1] -232.1277- m2 <- asreml(yield ~ gen, data=dat, - random = ~ rep) -#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:07:56 2021 -#> LogLik Sigma2 DF wall cpu -#> 1 -226.562 282408.0 32 17:07:56 0.0 -#> 2 -225.458 258453.6 32 17:07:56 0.0 -#> 3 -224.388 235077.8 32 17:07:56 0.0 -#> 4 -223.676 216846.8 32 17:07:56 0.0 -#> 5 -223.503 209444.3 32 17:07:56 0.0 -#> 6 -223.483 206934.7 32 17:07:56 0.0 -#> 7 -223.482 206516.9 32 17:07:56 0.0m2$loglik # -223.48 -#> [1] -223.4824- # Inc Block model - m3 <- asreml(yield ~ gen, data=dat, - random = ~ rep/block) -#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:07:56 2021 -#> LogLik Sigma2 DF wall cpu -#> 1 -225.610 246800.7 32 17:07:56 0.0 -#> 2 -223.872 199712.8 32 17:07:56 0.0 -#> 3 -222.453 162923.0 32 17:07:56 0.0 -#> 4 -221.644 140326.6 32 17:07:56 0.0 -#> 5 -221.443 135401.9 32 17:07:56 0.0 -#> 6 -221.417 133560.7 32 17:07:56 0.0 -#> 7 -221.417 133229.8 32 17:07:56 0.0m3$loglik # -221.42 -#> [1] -221.4167m3$coef$fixed # Matches solution on p. 27 -#> bu -#> gen_G01 0.00000 -#> gen_G02 -284.28340 -#> gen_G03 493.85828 -#> gen_G04 699.29379 -#> gen_G05 863.39910 -#> gen_G06 30.97441 -#> gen_G07 -115.81504 -#> gen_G08 157.76411 -#> gen_G09 407.24195 -#> gen_G10 777.17723 -#> gen_G11 1038.46296 -#> gen_G12 648.02712 -#> gen_G13 248.18656 -#> gen_G14 405.45778 -#> gen_G15 942.48436 -#> gen_G16 453.78449 -#> (Intercept) 907.97831 -#> attr(,"terms") -#> tname n -#> gen gen 16 -#> (Intercept) (Intercept) 1- # AR1xAR1 model - m4 <- asreml(yield ~ 1 + gen, data=dat, - resid = ~ar1(xf):ar1(yf)) -#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:07:56 2021 -#> LogLik Sigma2 DF wall cpu -#> 1 -229.632 369295.0 32 17:07:56 0.0 -#> 2 -225.313 310549.6 32 17:07:56 0.0 -#> 3 -222.576 315026.1 32 17:07:56 0.0 -#> 4 -221.714 350768.1 32 17:07:56 0.0 -#> 5 -221.498 390126.2 32 17:07:56 0.0 -#> 6 -221.475 406435.9 32 17:07:56 0.0 -#> 7 -221.473 412526.0 32 17:07:56 0.0 -#> 8 -221.472 414688.0 32 17:07:56 0.0m4$loglik # -221.47 -#> [1] -221.4725- m5 <- asreml(yield ~ 1 + gen, data=dat, - random= ~ yf, resid = ~ar1(xf):ar1(yf)) -#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:07:56 2021 -#> LogLik Sigma2 DF wall cpu -#> 1 -226.301 279679.7 32 17:07:56 0.0 -#> 2 -223.503 233517.8 32 17:07:56 0.0 -#> 3 -221.336 202245.4 32 17:07:56 0.0 -#> 4 -220.254 181270.7 32 17:07:56 0.0 -#> 5 -220.081 172053.0 32 17:07:56 0.0 -#> 6 -220.068 170878.3 32 17:07:56 0.0 -#> 7 -220.068 170961.0 32 17:07:56 0.0#> Warning: Some components changed by more than 1% on the last iteration.m5$loglik # -220.07 -#> [1] -220.0677- m6 <- asreml(yield ~ 1 + gen + pol(yf,-2), data=dat, - resid = ~ar1(xf):ar1(yf)) -#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:07:56 2021 -#> LogLik Sigma2 DF wall cpu -#> 1 -205.690 156958.0 30 17:07:56 0.0 -#> 2 -205.189 156511.0 30 17:07:56 0.0 -#> 3 -204.651 170349.2 30 17:07:56 0.0 -#> 4 -204.640 171539.3 30 17:07:56 0.0 -#> 5 -204.639 171955.1 30 17:07:56 0.0#> Warning: Some components changed by more than 1% on the last iteration.m6$loglik # -204.64 -#> [1] -204.6394- m7 <- asreml(yield ~ 1 + gen + lin(yf), data=dat, - random= ~ spl(yf), resid = ~ar1(xf):ar1(yf)) -#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:07:56 2021 -#> Spline: design points closer than 0.0005 have been merged. -#> LogLik Sigma2 DF wall cpu -#> 1 -213.764 161236.1 31 17:07:57 0.0 -#> 2 -213.161 158001.3 31 17:07:57 0.0 -#> 3 -212.686 158486.3 31 17:07:57 0.0 -#> 4 -212.518 161586.3 31 17:07:57 0.0 -#> 5 -212.512 160691.0 31 17:07:57 0.0#> Warning: Some components changed by more than 1% on the last iteration.m7$loglik # -212.51 -#> [1] -212.5125- m8 <- asreml(yield ~ 1 + gen + lin(yf), data=dat, - random= ~ spl(yf)) -#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:07:57 2021 -#> Spline: design points closer than 0.0005 have been merged. -#> LogLik Sigma2 DF wall cpu -#> 1 -214.401 162571.5 31 17:07:57 0.0 -#> 2 -214.190 158323.8 31 17:07:57 0.0 -#> 3 -214.000 153413.7 31 17:07:57 0.0 -#> 4 -213.916 149071.2 31 17:07:57 0.0 -#> 5 -213.914 148249.7 31 17:07:57 0.0m8$loglik # -213.91 -#> [1] -213.9141- # Polynomial model with predictions - m9 <- asreml(yield ~ 1 + gen + pol(yf,-2) + pol(xf,-2), data=dat, - random= ~ spl(yf), - resid = ~ar1(xf):ar1(yf)) -#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:07:57 2021 -#> Spline: design points closer than 0.0005 have been merged. -#> LogLik Sigma2 DF wall cpu -#> 1 -192.357 124656.6 28 17:07:57 0.0 (1 restrained) -#> 2 -191.606 114513.8 28 17:07:57 0.0 -#> 3 -191.493 114311.7 28 17:07:57 0.0 -#> 4 -191.452 115391.7 28 17:07:57 0.0 -#> 5 -191.446 114966.4 28 17:07:57 0.0#> Warning: Some components changed by more than 1% on the last iteration.#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:07:57 2021 -#> Spline: design points closer than 0.0005 have been merged. -#> LogLik Sigma2 DF wall cpu -#> 1 -191.443 115328.5 28 17:07:57 0.0 -#> 2 -191.443 115251.7 28 17:07:57 0.0#> Warning: Some components changed by more than 1% on the last iteration.m9$loglik # -191.44 vs -189.61 -#> [1] -191.4426#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:07:57 2021 -#> Spline: design points closer than 0.0005 have been merged. -#> LogLik Sigma2 DF wall cpu -#> 1 -191.442 115160.3 28 17:07:57 0.0 -#> 2 -191.442 115178.5 28 17:07:57 0.0 -#> 3 -191.442 115210.1 28 17:07:57 0.0p9 -#> $pvals -#> -#> Notes: -#> - The predictions are obtained by averaging across the hypertable -#> calculated from model terms constructed solely from factors in -#> the averaging and classify sets. -#> - Use 'average' to move ignored factors into the averaging set. -#> -#> -#> gen xf yf predicted.value std.error status -#> 1 G01 order1 order1 1967.154 265.0976 Estimable -#> 2 G02 order1 order1 2018.990 282.6813 Estimable -#> 3 G03 order1 order1 2374.678 233.9746 Estimable -#> 4 G04 order1 order1 2539.440 238.5453 Estimable -#> 5 G05 order1 order1 2817.841 261.9213 Estimable -#> 6 G06 order1 order1 2134.310 260.1078 Estimable -#> 7 G07 order1 order1 2028.879 287.5826 Estimable -#> 8 G08 order1 order1 2205.963 271.0232 Estimable -#> 9 G09 order1 order1 2346.313 251.1598 Estimable -#> 10 G10 order1 order1 2831.710 233.6259 Estimable -#> 11 G11 order1 order1 2868.783 238.5870 Estimable -#> 12 G12 order1 order1 2685.266 246.1334 Estimable -#> 13 G13 order1 order1 2202.347 277.7411 Estimable -#> 14 G14 order1 order1 2633.541 285.9366 Estimable -#> 15 G15 order1 order1 2798.175 270.0601 Estimable -#> 16 G16 order1 order1 2365.906 238.3437 Estimable -#> -#> $avsed -#> overall -#> 275.0335 -#>- m10 <- asreml(yield ~ 1 + gen + lin(yf)+lin(xf), data=dat, - resid = ~ar1(xf):ar1(yf)) -#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:07:57 2021 -#> LogLik Sigma2 DF wall cpu -#> 1 -218.438 319937.6 30 17:07:57 0.0 -#> 2 -214.809 284438.5 30 17:07:57 0.0 -#> 3 -212.478 301889.6 30 17:07:57 0.0 -#> 4 -211.749 343343.7 30 17:07:57 0.0 -#> 5 -211.575 384479.3 30 17:07:57 0.0 -#> 6 -211.559 399834.4 30 17:07:57 0.0 -#> 7 -211.557 405022.4 30 17:07:57 0.0m10$loglik # -211.56 -#> [1] -211.5574- m11 <- asreml(yield ~ 1 + gen + lin(yf)+lin(xf), data=dat, - random= ~ spl(yf), - resid = ~ar1(xf):ar1(yf)) -#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:07:57 2021 -#> Spline: design points closer than 0.0005 have been merged. -#> LogLik Sigma2 DF wall cpu -#> 1 -210.199 166458.9 30 17:07:57 0.0 -#> 2 -209.562 164032.3 30 17:07:57 0.0 -#> 3 -209.064 166788.1 30 17:07:57 0.0 -#> 4 -208.901 173307.2 30 17:07:57 0.0 -#> 5 -208.898 172903.8 30 17:07:57 0.0#> Warning: Some components changed by more than 1% on the last iteration.m11$loglik # -208.90 -#> [1] -208.8981- m12 <- asreml(yield ~ 1 + gen + lin(yf)+lin(xf), data=dat, - random= ~ spl(yf)+spl(xf), - resid = ~ar1(xf):ar1(yf)) -#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:07:57 2021 -#> Spline: design points closer than 0.0005 have been merged. -#> Spline: design points closer than 0.0007 have been merged. -#> LogLik Sigma2 DF wall cpu -#> 1 -208.573 135590.1 30 17:07:57 0.0 (1 restrained) -#> 2 -207.575 121857.9 30 17:07:57 0.0 -#> 3 -207.068 114896.2 30 17:07:57 0.0 -#> 4 -206.844 112501.6 30 17:07:57 0.0 -#> 5 -206.826 111035.7 30 17:07:57 0.0 -#> 6 -206.825 111519.0 30 17:07:57 0.0#> Warning: Some components changed by more than 1% on the last iteration.m12$loglik # -206.82 -#> [1] -206.8252- m13 <- asreml(yield ~ 1 + gen + lin(yf)+lin(xf), data=dat, - random= ~ spl(yf)+spl(xf)) -#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:07:57 2021 -#> Spline: design points closer than 0.0005 have been merged. -#> Spline: design points closer than 0.0007 have been merged. -#> LogLik Sigma2 DF wall cpu -#> 1 -208.583 129506.5 30 17:07:57 0.0 -#> 2 -208.160 124731.6 30 17:07:57 0.0 -#> 3 -207.765 118920.6 30 17:07:57 0.0 -#> 4 -207.541 113114.9 30 17:07:57 0.0 -#> 5 -207.517 111017.9 30 17:07:57 0.0 -#> 6 -207.516 110690.9 30 17:07:57 0.0m13$loglik # -207.52 -#> [1] -207.5164-# } -
burgueno.rowcol.Rd
Row-column design
-data("burgueno.rowcol")- - -
A data frame with 128 observations on the following 5 variables.
rep
rep, 2 levels
row
row
col
column
gen
genotype, 64 levels
yield
yield, tons/ha
A field experiment with two contiguous replicates in 8 rows, 16 - columns.
-The plot size is not given.
-Electronic version of the data obtained from CropStat software.
-Used with permission of Juan Burgueno.
-J Burgueno, A Cadena, J Crossa, M Banziger, A Gilmour, B Cullis (2000). - User's guide for spatial analysis of field variety trials using ASREML. - CIMMYT.
- --# \dontrun{ - - library(agridat) - data(burgueno.rowcol) - dat <- burgueno.rowcol - - # Two contiguous reps in 8 rows, 16 columns - libs(desplot) - desplot(dat, yield ~ col*row, - out1=rep, # aspect unknown - text=gen, shorten="none", cex=.75, - main="burgueno.rowcol") -- libs(lme4,lucid) - - # Random rep, row and col within rep - # m1 <- lmer(yield ~ gen + (1|rep) + (1|rep:row) + (1|rep:col), data=dat) - # vc(m1) # Match components of Burgueno p. 40 - ## grp var1 var2 vcov sdcor - ## rep:col (Intercept) <NA> 0.2189 0.4679 - ## rep:row (Intercept) <NA> 0.1646 0.4057 - ## rep (Intercept) <NA> 0.1916 0.4378 - ## Residual <NA> <NA> 0.1796 0.4238 - - libs(asreml) # asreml4 - - # AR1 x AR1 with linear row/col effects, random spline row/col - dat <- transform(dat, xf=factor(col), yf=factor(row)) - dat <- dat[order(dat$xf,dat$yf),] - m2 <- asreml(yield ~ gen + lin(yf) + lin(xf), data=dat, - random = ~ spl(yf) + spl(xf), - resid = ~ ar1(xf):ar1(yf)) -#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:07:59 2021 -#> Spline: design points closer than 0.0007 have been merged. -#> Spline: design points closer than 0.0015 have been merged. -#> LogLik Sigma2 DF wall cpu -#> 1 -11.7667 0.189040 62 17:07:59 0.0 -#> 2 -10.9242 0.179307 62 17:07:59 0.0 -#> 3 -10.0462 0.167806 62 17:07:59 0.0 -#> 4 -9.4052 0.156150 62 17:07:59 0.0 -#> 5 -9.2562 0.150710 62 17:07:59 0.0 -#> 6 -9.2402 0.148710 62 17:07:59 0.0 -#> 7 -9.2394 0.148344 62 17:07:59 0.0#> Warning: Some components changed by more than 1% on the last iteration.#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:07:59 2021 -#> Spline: design points closer than 0.0007 have been merged. -#> Spline: design points closer than 0.0015 have been merged. -#> LogLik Sigma2 DF wall cpu -#> 1 -9.23934 0.148220 62 17:07:59 0.0 -#> 2 -9.23934 0.148225 62 17:07:59 0.0#> Warning: Some components changed by more than 1% on the last iteration.- # Scaling of spl components has changed in asreml from old versions - libs(lucid) - vc(m2) # Match Burgueno p. 42 -#> effect component std.error z.ratio bound %ch -#> spl(yf) 0.09077 0.08252 1.1 P 0 -#> spl(xf) 0.08105 0.08198 0.99 P 0.1 -#> xf:yf!R 0.1482 0.03119 4.8 P 0 -#> xf:yf!xf!cor 0.1153 0.2269 0.51 U 0.2 -#> xf:yf!yf!cor 0.00953 0.2414 0.039 U 1.9## effect component std.error z.ratio bound - ## spl(yf) 0.09077 0.08252 1.1 P 0 - ## spl(xf) 0.08107 0.08209 0.99 P 0 - ## xf:yf(R) 0.1482 0.03119 4.8 P 0 - ## xf:yf!xf!cor 0.1152 0.2269 0.51 U 0.1 - ## xf:yf!yf!cor 0.009467 0.2414 0.039 U 0.9 - - plot(varioGram(m2), main="burgueno.rowcol") --# } -
burgueno.unreplicated.Rd
Field experiment with unreplicated genotypes plus one repeated check.
-data("burgueno.unreplicated")- - -
A data frame with 434 observations on the following 4 variables.
gen
genotype, 281 levels
col
column
row
row
yield
yield, tons/ha
A field experiment with 280 new genotypes. A check genotype is - planted in every 4th column.
-The plot size is not given.
-Electronic version of the data obtained from CropStat software.
-Used with permission of Juan Burgueno.
-J Burgueno, A Cadena, J Crossa, M Banziger, A Gilmour, B Cullis (2000). - User's guide for spatial analysis of field variety trials using ASREML. - CIMMYT.
- --# \dontrun{ - - library(agridat) - data(burgueno.unreplicated) - dat <- burgueno.unreplicated - - # Define a 'check' variable for colors - dat$check <- ifelse(dat$gen=="G000", 2, 1) - # Every fourth column is the 'check' genotype - libs(desplot) - desplot(dat, yield ~ col*row, - col=check, num=gen, #text=gen, cex=.3, # aspect unknown - main="burgueno.unreplicated") -- libs(asreml,lucid) # asreml4 - - # AR1 x AR1 with random genotypes - dat <- transform(dat, xf=factor(col), yf=factor(row)) - dat <- dat[order(dat$xf,dat$yf),] - m2 <- asreml(yield ~ 1, data=dat, random = ~ gen, - resid = ~ ar1(xf):ar1(yf)) -#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:08:01 2021 -#> LogLik Sigma2 DF wall cpu -#> 1 -237.568 1.03480 433 17:08:01 0.0 -#> 2 -229.545 0.89061 433 17:08:01 0.0 -#> 3 -217.471 0.65204 433 17:08:01 0.0 -#> 4 -212.727 0.53716 433 17:08:01 0.0 -#> 5 -211.786 0.50071 433 17:08:01 0.0 -#> 6 -211.729 0.49978 433 17:08:01 0.0 -#> 7 -211.725 0.49941 433 17:08:01 0.0 -#> 8 -211.724 0.49931 433 17:08:01 0.0vc(m2) -#> effect component std.error z.ratio bound %ch -#> gen 0.9122 0.127 7.2 P 0 -#> xf:yf!R 0.4993 0.05601 8.9 P 0 -#> xf:yf!xf!cor -0.243 0.09154 -2.7 U 0.1 -#> xf:yf!yf!cor 0.1254 0.07057 1.8 U 0.3## effect component std.error z.ratio bound - ## gen 0.9122 0.127 7.2 P 0 - ## xf:yf(R) 0.4993 0.05601 8.9 P 0 - ## xf:yf!xf!cor -0.2431 0.09156 -2.7 U 0 - ## xf:yf!yf!cor 0.1255 0.07057 1.8 U 0.1 - - # Note the strong saw-tooth pattern in the variogram. Seems to - # be column effects. - plot(varioGram(m2), xlim=c(0,15), ylim=c(0,9), zlim=c(0,0.5), - main="burgueno.unreplicated - AR1xAR1") -# libs(lattice) # Show how odd columns are high - # bwplot(resid(m2) ~ col, data=dat, horizontal=FALSE) - - # Define an even/odd column factor as fixed effect - # dat$oddcol <- factor(dat$col - # The modulus operator throws a bug, so do it the hard way. - dat$oddcol <- factor(dat$col - floor(dat$col / 2) *2 ) - - m3 <- update(m2, yield ~ 1 + oddcol) -#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:08:01 2021 -#> LogLik Sigma2 DF wall cpu -#> 1 -202.465 0.474601 432 17:08:01 0.0 -#> 2 -200.994 0.451132 432 17:08:01 0.0 -#> 3 -199.872 0.429339 432 17:08:01 0.0 (1 restrained) -#> 4 -199.582 0.423518 432 17:08:01 0.0 -#> 5 -199.519 0.420714 432 17:08:01 0.0 -#> 6 -199.518 0.421386 432 17:08:01 0.0#> Warning: Some components changed by more than 1% on the last iteration.m3$loglik # Matches Burgueno table 3, line 3 -#> [1] -199.5175- plot(varioGram(m3), xlim=c(0,15), ylim=c(0,9), zlim=c(0,0.5), - main="burgueno.unreplicated - AR1xAR1 + Even/Odd") -# Much better-looking variogram - -# } -
butron.maize.Rd
Maize yields in a multi-environment trial. Pedigree included.
-A data frame with 245 observations on the following 5 variables.
gen
genotype
male
male parent
female
female parent
env
environment
yield
yield, Mg/ha
Ten inbreds were crossed to produce a diallel without reciprocals. - The 45 F1 crosses were evaluated along with 4 checks in a - triple-lattice 7x7 design. Pink stem borer infestation was natural.
-Experiments were performed in 1995 and 1996 at three sites in - northwestern Spain: - Pontevedra (42 deg 24 min N, 8 deg 38 min W, 20 m over sea), - Pontecaldelas (42 deg 23 N, 8 min 32 W, 300 m above sea), - Ribadumia (42 deg 30 N, 8 min 46 W, 50 m above sea).
-A two-letter location code and the year are concatenated to define the - environment.
-The average number of larvae per plant in each environment:
Env | Larvae |
pc95 | 0.54 |
pc96 | 0.91 |
ri96 | 1.78 |
pv95 | 2.62 |
pv96 | 3.35 |
Used with permission of Ana Butron.
-Butron, A and Velasco, P and Ord\'as, A and Malvar, RA (2004). - Yield evaluation of maize cultivars across environments with different - levels of pink stem borer infestation. - Crop Science, 44, 741-747. - https://doi.org/10.2135/cropsci2004.7410
- --# \dontrun{ - - library(agridat) - data(butron.maize) - dat <- butron.maize - - libs(reshape2) - mat <- acast(dat, gen~env, value.var='yield') - mat <- sweep(mat, 2, colMeans(mat)) - mat.svd <- svd(mat) - # Calculate PC1 and PC2 scores as in Table 4 of Butron - # Comment out to keep Rcmd check from choking on ' - # round(mat.svd$u[,1:2] - - biplot(princomp(mat), main="butron.maize", cex=.7) # Figure 1 of Butron -- - if(0){ - # Fixme: This section is broken because synbreed has been removed from CRAN - # Here we see if including pedigree information is helpful for a - # multi-environment model - # Including the pedigree provided little benefit - - # Create the pedigree - ped <- dat[, c('gen','male','female')] - ped <- ped[!duplicated(ped),] # remove duplicates - unip <- unique(c(ped$male, ped$female)) # Unique parents - unip <- unip[!is.na(unip)] - # We have to define parents at the TOP of the pedigree - ped <- rbind(data.frame(gen=c("Dent","Flint"), # genetic groups - male=c(0,0), - female=c(0,0)), - data.frame(gen=c("A509","A637","A661","CM105","EP28", - "EP31","EP42","F7","PB60","Z77016"), - male=rep(c('Dent','Flint'),each=5), - female=rep(c('Dent','Flint'),each=5)), - ped) - ped[is.na(ped$male),'male'] <- 0 - ped[is.na(ped$female),'female'] <- 0 - - } - - - # asreml 4 - if(0){ - libs(asreml) - ped.ainv <- ainverse(ped) - - m0 <- asreml(yield ~ 1+env, data=dat, random = ~ gen) - m1 <- asreml(yield ~ 1+env, random = ~ vm(gen, ped.ainv), data=dat) - m2 <- update(m1, random = ~ idv(env):vm(gen, ped.ainv)) - m3 <- update(m2, random = ~ diag(env):vm(gen, ped.ainv)) - m4 <- update(m3, random = ~ fa(env,1):vm(gen, ped.ainv)) - #summary(m0)$aic - #summary(m4)$aic - ## df AIC - ## m0 2 229.4037 - ## m1 2 213.2487 - ## m2 2 290.6156 - ## m3 6 296.8061 - ## m4 11 218.1568 - - p0 <- predict(m0, data=dat, classify="gen")$pvals - p1 <- predict(m1, data=dat, classify="gen")$pvals - p1par <- p1[1:12,] # parents - p1 <- p1[-c(1:12),] # remove parents - # Careful! Need to manually sort the predictions - p0 <- p0[order(as.character(p0$gen)),] - p1 <- p1[order(as.character(p1$gen)),] - - # lims <- range(c(p0$pred, p1$pred)) * c(.95,1.05) - lims <- c(6,8.25) # zoom in on the higher-yielding hybrids - plot(p0$predicted.value, p1$predicted.value, - pch="", xlim=lims, ylim=lims, main="butron.maize", - xlab="BLUP w/o pedigree", ylab="BLUP with pedigree") - abline(0,1,col="lightgray") - text(x=p0$predicted.value, y=p1$predicted.value, - p0$gen, cex=.5, srt=-45) - text(x=min(lims), y=p1par$predicted.value, p1par$gen, cex=.5, col="red") - round( cor(p0$predicted.value, p1$predicted.value), 3) - # Including the pedigree provided very little change - - } -# } -
byers.apple.Rd
Measurements of the diameters of apples
-A data frame with 480 observations on the following 6 variables.
tree
tree, 10 levels
apple
apple, 24 levels
size
size of apple
appleid
unique id number for each apple
time
time period, 1-6 = (week/2)
diameter
diameter, inches
Experiment conducted at the Winchester Agricultural Experiment Station - of Virginia Polytechnic Institute and State University. Twentyfive - apples were chosen from each of ten apple trees.
-Of these, there were 80 apples in the largest size class, 2.75 inches - in diameter or greater.
-The diameters of the apples were recorded every two weeks over a - 12-week period.
-Schabenberger, Oliver and Francis J. Pierce. 2002. - Contemporary Statistical Models for the Plant and Soil - Sciences. CRC Press, Boca Raton, FL.
- ---library(agridat) - -data(byers.apple) -dat <- byers.apple - -libs(lattice) -xyplot(diameter ~ time | factor(appleid), data=dat, type=c('p','l'), - strip=strip.custom(par.strip.text=list(cex=.7)), - main="byers.apple") --# \dontrun{ - # Overall fixed linear trend, plus random intercept/slope deviations - # for each apple. Observations within each apple are correlated. - libs(nlme) - libs(lucid) - m1 <- lme(diameter ~ 1 + time, data=dat, - random = ~ time|appleid, method='ML', - cor = corAR1(0, form=~ time|appleid), - na.action=na.omit) - vc(m1) -#> effect variance stddev corr -#> (Intercept) 0.007354 0.08575 NA -#> time 0.00003632 0.006027 0.83 -#> Residual 0.0004555 0.02134 NA## effect variance stddev corr - ## (Intercept) 0.007354 0.08575 NA - ## time 0.00003632 0.006027 0.83 - ## Residual 0.0004555 0.02134 NA -# } - -
caribbean.maize.Rd
Maize fertilization trial on Antigua and St. Vincent.
-A data frame with 612 observations on the following 7 variables.
isle
island, 2 levels
site
site
block
block
plot
plot, numeric
trt
treatment factor
ears
number of ears harvested
yield
yield in kilograms
Antigua is a coral island in the Caribbean with sufficient level land - for experiments and a semi-arid climate, while St. Vincent is - volcanic and level areas are uncommon, but the rainfall can be seasonally heavy.
-Plots were 16 feet by 18 feet. A central area 12 feet by 12 feet was - harvested and recorded.
-The number of ears harvested was only recorded on the isle of Antigua.
-The digits of the treatment represent the levels of nitrogen, - phosphorus, and potassium fertilizer, respectively.
-The TEAN site suffered damage from goats on plot 27, 35 and 36. - The LFAN site suffered damage from cattle on one boundary--plots 9, 18, 27, 36.
-D.F. Andrews and A.M. Herzberg. 1985. - Data: A Collection of Problems from Many Fields for the Student - and Research Worker.
-Retrieved from https://lib.stat.cmu.edu/datasets/Andrews/
-Also in the DAAG package as data sets antigua, stVincent.
- ---library(agridat) - -data(caribbean.maize) -dat <- caribbean.maize - -# Yield and ears are correlated -libs(lattice) -xyplot(yield~ears|site, dat, ylim=c(0,10), subset=isle=="Antigua", - main="caribbean.maize - Antiqua") --# Some locs show large response to nitrogen (as expected), e.g. UISV, OOSV -dotplot(trt~yield|site, data=dat, main="caribbean.maize treatment response") --# The pattern is a bit hard to see, so we split the treatment factor -# into separate factors, and group sites by island -dat <- transform(dat, N=factor(substring(trt,2,2)), - P=factor(substring(trt,3,3)), - K=factor(substring(trt,4,4))) -dat <- transform(dat, env=paste(substring(isle,1,1),site,sep="-")) -# Now we can see the strong N*site interaction -bwplot(yield~N|env, dat, - main="caribbean.maize", xlab="nitrogen") -
carlson.germination.Rd
Germination of alfalfa seeds at various salt concentrations
-data("carlson.germination")- - -
A data frame with 120 observations on the following 3 variables.
gen
genotype factor, 15 levels
germ
germination percent, 0-100
nacl
salt concentration percent, 0-2
Data are means averaged over 5, 10, 15, and 20 day counts. - Germination is expressed as a percent of the no-salt control to - account for differences in germination among the cultivars.
-Carlson, JR and Ditterline, RL and Martin, JM and Sands, DC and Lund, - RE. (1983). - Alfalfa Seed Germination in Antibiotic Agar Containing NaCl. - Crop science, 23, 882-885. - https://doi.org/10.2135/cropsci1983.0011183X002300050016x
- --# \dontrun{ - -library(agridat) -data(carlson.germination) -dat <- carlson.germination -dat$germ <- dat$germ/100 # Convert to percent - -# Separate response curve for each genotype. -# Really, we should use a glmm with random int/slope for each genotype -m1 <- glm(germ~ 0 + gen*nacl, data=dat, family=quasibinomial) - -# Plot data and fitted model -libs(latticeExtra) -newd <- data.frame(expand.grid(gen=levels(dat$gen), nacl=seq(0,2,length=100))) -newd$pred <- predict(m1, newd, type="response") -xyplot(germ~nacl|gen, dat, as.table=TRUE, main="carlson.germination", - xlab="Percent NaCl", ylab="Fraction germinated") + -xyplot(pred~nacl|gen, newd, type='l', grid=list(h=1,v=0)) -- -# Calculate LD50 values. Note, Carlson et al used quadratics, not glm. -# MASS::dose.p cannot handle multiple slopes, so do a separate fit for -# each genotype. Results are vaguely similar to Carlson table 5. -## libs(MASS) -## for(ii in unique(dat$gen)){ -## cat("\n", ii, "\n") -## mm <- glm(germ ~ 1 + nacl, data=dat, subset=gen==ii, family=quasibinomial(link="probit")) -## print(dose.p(mm)) -## } -## Dose SE -## Anchor 1.445728 0.05750418 -## Apollo 1.305804 0.04951644 -## Baker 1.444153 0.07653989 -## Drylander 1.351201 0.03111795 -## Grimm 1.395735 0.04206377 - -# } -
carmer.density.Rd
Nonlinear maize yield-density model.
-A data frame with 32 observations on the following 3 variables.
gen
genotype/hybrid, 8 levels
pop
population (plants)
yield
yield, pounds per hill
Eight single-cross hybrids were in the experiment--Hy2xOh7 and WF9xC103 were - included because it was believed they had optimum yields at relatively - high and low populations. Planted in 1963. Plots were thinned to - 2, 4, 6, 8 plants per hill, giving densities 8, 16, 24, 32 thousand - plants per acre. Hills were in rows 40 inches apart. - One hill = 1/4000 acre. - Split-plot design with 5 reps, density is main plot and subplot was hybrid.
-S G Carmer and J A Jackobs (1965). - An Exponential Model for Predicting Optimum Plant Density and Maximum - Corn Yield. Agronomy Journal, 57, 241--244. - https://doi.org/10.2134/agronj1965.00021962005700030003x
- --# \dontrun{ - -library(agridat) -data(carmer.density) -dat <- carmer.density -dat$gen <- factor(dat$gen, levels=c('Hy2x0h7','WF9xC103','R61x187-2', - 'WF9x38-11','WF9xB14','C103xB14', - '0h43xB37','WF9xH60')) - -# Separate analysis for each hybrid -# Model: y = x * a * k^x. Table 1 of Carmer and Jackobs. -out <- data.frame(a=rep(NA,8), k=NA) -preds <- NULL -rownames(out) <- levels(dat$gen) -newdat <- data.frame(pop=seq(2,8,by=.1)) -for(i in levels(dat$gen)){ - print(i) - dati <- subset(dat, gen==i) - mi <- nls(yield ~ pop * a * k^pop, data=dati, start=list(a=10,k=1)) - out[i, ] <- mi$m$getPars() - # Predicted values - pi <- cbind(gen=i, newdat, pred= predict(mi, newdat=newdat)) - preds <- rbind(preds, pi) -} -#> [1] "Hy2x0h7" -#> [1] "WF9xC103" -#> [1] "R61x187-2" -#> [1] "WF9x38-11" -#> [1] "WF9xB14" -#> [1] "C103xB14" -#> [1] "0h43xB37" -#> [1] "WF9xH60"#> a k pop.opt -#> Hy2x0h7 0.782 0.865 6.875 -#> WF9xC103 1.039 0.825 5.192 -#> R61x187-2 0.998 0.798 4.441 -#> WF9x38-11 1.042 0.825 5.203 -#> WF9xB14 1.067 0.806 4.647 -#> C103xB14 0.813 0.860 6.653 -#> 0h43xB37 0.673 0.862 6.740 -#> WF9xH60 0.858 0.854 6.358## a k pop.opt -## Hy2x0h7 0.782 0.865 6.875 -## WF9xC103 1.039 0.825 5.192 -## R61x187-2 0.998 0.798 4.441 -## WF9x38-11 1.042 0.825 5.203 -## WF9xB14 1.067 0.806 4.647 -## C103xB14 0.813 0.860 6.653 -## 0h43xB37 0.673 0.862 6.740 -## WF9xH60 0.858 0.854 6.358 - - -# Fit an overall fixed-effect with random deviations for each hybrid. -libs(nlme) -m1 <- nlme(yield ~ pop * a * k^pop, - fixed = a + k ~ 1, - random = a + k ~ 1|gen, - data=dat, start=c(a=10,k=1)) -# summary(m1) # Random effect for 'a' probably not needed - - -libs(latticeExtra) -# Plot Data, fixed-effect prediction, random-effect prediction. -pdat <- expand.grid(gen=levels(dat$gen), pop=seq(2,8,length=50)) -pdat$pred <- predict(m1, pdat) -pdat$predf <- predict(m1, pdat, level=0) - -xyplot(yield~pop|gen, dat, pch=16, as.table=TRUE, - main="carmer.density models", - key=simpleKey(text=c("Data", "Fixed effect","Random effect"), - col=c("blue", "red","darkgreen"), columns=3, points=FALSE)) + - xyplot(predf~pop|gen, pdat, type='l', as.table=TRUE, col="red") + - xyplot(pred~pop|gen, pdat, type='l', col="darkgreen", lwd=2) --# } -
cate.potassium.Rd
Relative cotton yield for different soil potassium concentrations
-A data frame with 24 observations on the following 2 variables.
yield
Relative yield
potassium
Soil potassium, ppm
Cate & Nelson used this data to determine the minimum optimal amount - of soil potassium to achieve maximum yield.
-Note, Fig 1 of Cate & Nelson does not match the data from Table 2. It - sort of appears that points with high-concentrations of potassium were - shifted left to a truncation point. Also, the calculations below do - not quite match the results in Table 1. Perhaps the published data - were rounded?
-Cate, R.B. and Nelson, L.A. (1971). - A simple statistical procedure for partitioning soil test correlation - data into two classes. - Soil Science Society of America Journal, 35, 658--660. - https://doi.org/10.2136/sssaj1971.03615995003500040048x
- ---library(agridat) - -data(cate.potassium) -dat <- cate.potassium -names(dat) <- c('y','x') - -CateNelson <- function(dat){ - dat <- dat[order(dat$x),] # Sort the data by x - x <- dat$x - y <- dat$y - - # Create a data.frame to store the results - out <- data.frame(x=NA, mean1=NA, css1=NA, mean2=NA, css2=NA, r2=NA) - - css <- function(x) { var(x) * (length(x)-1) } - tcss <- css(y) # Total corrected sum of squares - - for(i in 2:(length(y)-2)){ - y1 <- y[1:i] - y2 <- y[-(1:i)] - - out[i, 'x'] <- x[i] - out[i, 'mean1'] <- mean(y1) - out[i, 'mean2'] <- mean(y2) - out[i, 'css1'] <- css1 <- css(y1) - out[i, 'css2'] <- css2 <- css(y2) - out[i, 'r2'] <- ( tcss - (css1+css2)) / tcss - } - return(out) -} - -cn <- CateNelson(dat) -ix <- which.max(cn$r2) -with(dat, plot(y~x, ylim=c(0,110), xlab="Potassium", ylab="Yield")) --# \dontrun{ - # another approach with similar results - # https://joe.org/joe/2013october/tt1.php - libs("rcompanion") - cateNelson(dat$x, dat$y, plotit=0) -#> .................... -#> -#> Critical x that maximize sum of squares: -#> -#> Critical.x.value Sum.of.squares -#> 1 46.5 5374.217 -#> ........................ -#> -#> Critical y that minimize errors: -#> -#> Critical.y.value Q.i Q.ii Q.iii Q.iv Q.model Q.err Cramer.V -#> 1 82.40 0 15 1 8 23 1 0.9129 -#> 2 65.65 2 16 0 6 22 2 0.8165 -#> 3 74.90 1 15 1 7 22 2 0.8125 -#> 4 85.55 0 14 2 8 22 2 0.8367 -#> -#> n = Number of observations -#> CLx = Critical value of x -#> SS = Sum of squares for that critical value of x -#> CLy = Critical value of y -#> Q = Number of observations which fall into quadrants I, II, III, IV -#> Q.Model = Total observations which fall into the quadrants predicted by the model -#> p.Model = Percent observations which fall into the quadrants predicted by the model -#> Q.Error = Observations which do not fall into the quadrants predicted by the model -#> p.Error = Percent observations which do not fall into the quadrants predicted by the model -#> Fisher.p = p-value from Fisher exact test dividing data into these quadrants -#> Cramer.V = Cramer's V statistic from dividing data into these quadrants -#> -#> Final model: -#>#> n CLx SS CLy Q.I Q.II Q.III Q.IV Q.Model p.Model Q.Error -#> 1 24 46.5 5374.217 82.4 0 15 1 8 23 0.9583333 1 -#> p.Error Fisher.p.value Cramer.V -#> 1 0.04166667 1.223706e-05 0.9129# } - -
chinloy.fractionalfactorial.Rd
Sugarcane fractional factorial 1/3 3^5.
-data("chinloy.fractionalfactorial")- - -
A data frame with 81 observations on the following 10 variables.
yield
yield
block
block
row
row position
col
column position
trt
treatment code
N
nitrogen treatment: 0, 1, 2
P
phosphorous treatment: 0, 1, 2
K
potassium treatment: 0, 1, 2
B
bagasse treatment: 0, 1, 2
F
filter press mud treatment: 0, 1, 2
An experiment grown in 1949 at the Worthy Park Estate in Jamaica.
-Nitrogen was applied as sulphate of ammonia at 0, 3, 6 hundred-weight - per acre.
-Phosphorous was applied as superphosphate at 0, 4, 8 hundred-weight - per acre.
-Potassium was applied as muriate of potash at 0, 1, 2 hundred-weight - per acre.
-Bagasse applied pre-plant at 0, 20, 40 tons per acre.
-Filter press mud applied pre-plant at 0, 10, 20 tons per acre.
-Each plot was 18 yards long by 6 yards (3 rows) wide. Plots were - arranged in nine columns of nine, a 2-yard space separating plots - along the rows and two guard rows separating plots across the rows.
-Field width: 6 yards * 9 plots + 4 yards * 8 gaps = 86 yards
-Field length: 18 yards * 9 plots + 2 yards * 8 gaps = 178 yards
-T. Chinloy, R. F. Innes and D. J. Finney. (1953). - An example of fractional replication in an experiment on sugar cane manuring. - Journ Agricultural Science, 43, 1-11. - https://doi.org/10.1017/S0021859600044567
-None
- --# \dontrun{ - -library(agridat) -data(chinloy.fractionalfactorial) -dat <- chinloy.fractionalfactorial - -# Treatments are coded with levels 0,1,2. Make sure they are factors -dat <- transform(dat, - N=factor(N), P=factor(P), K=factor(K), B=factor(B), F=factor(F)) - -# Experiment layout -libs(desplot) -desplot(dat, yield ~ col*row, - out1=block, text=trt, shorten="no", cex=0.6, - aspect=178/86, - main="chinloy.fractionalfactorial")-# Main effect and some two-way interactions. These match Chinloy table 6. -# Not sure how to code terms like P^2K=B^2F -m1 <- aov(yield ~ block + N + P + K + B + F + N:P + N:K + N:B + N:F, dat) -anova(m1)#> Analysis of Variance Table -#> -#> Response: yield -#> Df Sum Sq Mean Sq F value Pr(>F) -#> block 8 10.6223 1.3278 2.9797 0.008942 ** -#> N 2 4.5399 2.2699 5.0940 0.010037 * -#> P 2 11.9864 5.9932 13.4496 2.517e-05 *** -#> K 2 2.5091 1.2546 2.8154 0.070230 . -#> B 2 5.2851 2.6426 5.9303 0.005112 ** -#> F 2 13.9405 6.9702 15.6422 6.566e-06 *** -#> N:P 4 5.0740 1.2685 2.8467 0.034366 * -#> N:K 4 1.2432 0.3108 0.6975 0.597636 -#> N:B 4 1.9243 0.4811 1.0796 0.377618 -#> N:F 4 2.1110 0.5277 1.1843 0.330265 -#> Residuals 46 20.4979 0.4456 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1-# } -
christidis.competition.Rd
Competition between varieties in cotton, measurements taken for each row.
-data("christidis.competition")- - -
A data frame with 270 observations on the following 8 variables.
plot
plot
plotrow
row within plot
block
block
row
row, only 1 row
col
column
gen
genotype
yield
yield, kg
height
height, cm
Nine genotypes/varieties of cotton were used in a variety test. - The plots were 100 meters long and 2.40 meters wide, each plot having - 3 rows 0.80 meters apart.
-The layout was an RCB of 5 blocks, each block having 2 replicates of - every variety (with the original intention of trying 2 seed - treatments). Each row was harvested/weighed separately. - After the leaves of the plants had dried up and fallen, the mean - height of each row was measured.
-Christidis found significant competition between varieties, but not - due to height differences. Crude analysis.
-TODO: Find a better analysis of this data which incorporates field - trends AND competition effects, maybe including a random effect for - border rows of all genotype pairs (as neighbors)?
-Christidis, Basil G (1935). - Intervarietal competition in yield trials with cotton. - The Journal of Agricultural Science, 25, 231-237. Table 1. - https://doi.org/10.1017/S0021859600009710
-None
- --# \dontrun{ - -library(agridat) -data(christidis.competition) -dat <- christidis.competition - -# Match Christidis Table 2 means -# aggregate(yield ~ gen, aggregate(yield ~ gen+plot, dat, sum), mean) - -# Each RCB block has 2 replicates of each genotype -# with(dat, table(block,gen)) - -libs(lattice) - -# Tall plants yield more -# xyplot(yield ~ height|gen, data=dat) - -# Huge yield variation across field. Also heterogeneous variance. -xyplot(yield ~ col, dat, group=gen, auto.key=list(columns=5), - main="christidis.competition")- -libs(mgcv) -if(is.element("package:gam", search())) detach("package:gam") -# Simple non-competition model to remove main effects -m1 <- gam(yield ~ gen + s(col), data=dat) -p1 <- as.data.frame(predict(m1, type="terms")) -names(p1) <- c('geneff','coleff') -dat2 <- cbind(dat, p1) -dat2 <- transform(dat2, res=yield-geneff-coleff) -libs(lattice) -xyplot(res ~ col, data=dat2, group=gen, - main="christidis.competition - residuals")-# } -
christidis.cotton.uniformity.Rd
Uniformity trial of cotton in Greece, 1938
-data("christidis.cotton.uniformity")- - -
A data frame with 1024 observations on the following 4 variables.
col
column
row
row
yield
yield, kg/unit
block
block factor
The experiment was conducted in 1938 at Sindos by the Greek Cotton Research Institute.
-Each block consisted of 20 rows, 1 meter apart and 66 meters long. Two - rows on each side and 1 meter on each end were removed for - borderr Each row was divided into 4 meter-lengths and harvested - separately. There were 4 blocks, oriented at 0, 30, 60, 90 degrees.
-Each block contained 16 rows, each 64 meters long.
-Field width: 16 units * 4 m = 64 m
-Field depth: 16 rows * 1 m = 16 m
-Christidis, B. G. (1939). - Variability of Plots of Various Shapes as Affected by Plot Orientation. - Empire Journal of Experimental Agriculture 7: 330-342. Table 1.
-None
- --# \dontrun{ - -library(agridat) -data(christidis.cotton.uniformity) -dat <- christidis.cotton.uniformity - -# Match the mean yields in table 2. Not sure why '16' is needed -# sapply(split(dat$yield, dat$block), mean)*16 - -libs(desplot) -dat$yld <- dat$yield/4*1000 # re-scale to match Christidis fig 1 -desplot(dat, yld ~ col*row|block, - flip=TRUE, aspect=(16)/(64), - main="christidis.cotton.uniformity") --# } -
christidis.wheat.uniformity.Rd
Uniformity trial of wheat at Cambridge, UK in 1931.
-data("christidis.wheat.uniformity")- - -
A data frame with 288 observations on the following 3 variables.
row
row
col
column
yield
yield
Two blocks, 24 rows each. In block A, each 90-foot row was divided into -12 units, each unit 7.5 feet long. Rows were 8 inches wide.
-Field width: 12 units * 7.5 feet = 90 feet
-Field length: 24 rows * 8 inches = 16 feet
-Christidis, Basil G (1931). - The importance of the shape of plots in field experimentation. - The Journal of Agricultural Science, 21, 14-37. Table VI, p. 28. - https://dx.doi.org/10.1017/S0021859600007942
-None
- --# \dontrun{ - -library(agridat) -data(christidis.wheat.uniformity) -dat <- christidis.wheat.uniformity - -# sum(dat$yield) # Matches Christidis - - libs(desplot) - desplot(dat, yield ~ col*row, - flip=TRUE, aspect=16/90, # true aspect - main="christidis.wheat.uniformity") --# } -
cleveland.soil.Rd
Soil resistivity in a field
-A data frame with 8641 observations on the following 5 variables.
northing
y ordinate
easting
x ordinate
resistivity
Soil resistivity, ohms
is.ns
Indicator of north/south track
track
Track number
Resistivity is related to soil salinity.
-William Cleveland, (1993), Visualizing Data. - Electronic version from StatLib: https://lib.stat.cmu.edu/datasets/
-Cleaned version from Luke Tierney - https://homepage.stat.uiowa.edu/~luke/classes/248/examples/soil
- ---library(agridat) - -data(cleveland.soil) -dat <- cleveland.soil - -# Similar to Cleveland fig 4.64 -## libs(latticeExtra) -## redblue <- colorRampPalette(c("firebrick", "lightgray", "#375997")) -## levelplot(resistivity ~ easting + northing, data = dat, -## col.regions=redblue, -## panel=panel.levelplot.points, -## aspect=2.4, xlab= "Easting (km)", ylab= "Northing (km)", -## main="cleveland") - -# 2D loess plot. Cleveland fig 4.68 -sg1 <- expand.grid(easting = seq(.15, 1.410, by = .02), - northing = seq(.150, 3.645, by = .02)) -lo1 <- loess(resistivity~easting*northing, data=dat, span = 0.1, degree = 2) -fit1 <- predict(lo1, sg1) -libs(lattice) -redblue <- colorRampPalette(c("firebrick", "lightgray", "#375997")) -levelplot(fit1 ~ sg1$easting * sg1$northing, - col.regions=redblue, - cuts = 9, - aspect=2.4, xlab = "Easting (km)", ylab = "Northing (km)", - main="cleveland.soil - 2D smooth of Resistivity") --# ---------------------------------------------------------------------------- - -# \dontrun{ - # 3D loess plot with data overlaid - libs(rgl) -#> -#>#>-#> -#>bg3d(color = "white") - clear3d() - points3d(dat$easting, dat$northing, dat$resistivity / 100, - col = rep("gray50", nrow(dat))) - rgl::surface3d(seq(.15, 1.410, by = .02), - seq(.150, 3.645, by = .02), - fit1/100, alpha=0.9, col=rep("wheat", length(fit1)), - front="fill", back="fill") - rgl.close() -# } -
cochran.beets.Rd
Yield and number of plants in a sugarbeet fertilizer experiment.
-data("cochran.beets")- - -
A data frame with 42 observations on the following 4 variables.
fert
fertilizer treatment
block
block
yield
yield, tons/acres
plants
number of plants per plot
Yield (tons/acre) and number of beets per plot. Fertilizer - treatments combine superphosphate (P), muriate of potash (K), - and sodium nitrate (N).
-George Snedecor (1946). - Statisitcal Methods, 4th ed. Table 12.13, p. 332.
-H. Fairfield Smith (1957). - Interpretation of Adjusted Treatment Means and Regressions in Analysis - of Covariance. - Biometrics, 13, 282-308. - https://doi.org/10.2307/2527917
- ---library(agridat) -data(cochran.beets) -dat = cochran.beets - -# P has strong effect -libs(lattice) -xyplot(yield ~ plants|fert, dat, main="cochran.beets") --
cochran.bib.Rd
Balanced incomplete block design in corn
-A data frame with 52 observations on the following 3 variables.
loc
location/block, 13 levels
gen
genotype/line, 13 levels
yield
yield, pounds/plot
Incomplete block design. Each loc/block has 4 genotypes/lines. - The blocks are planted at different locations.
-Conducted in 1943 in North Carolina.
-North Carolina Agricultural Experiment Station, - United States Department of Agriculture.
-Cochran, W.G. and Cox, G.M. (1957), - Experimental Designs, 2nd ed., Wiley and Sons, New York, p. 448.
- ---library(agridat) - -data(cochran.bib) -dat <- cochran.bib - -# Show the incomplete-block structure -libs(lattice) -redblue <- colorRampPalette(c("firebrick", "lightgray", "#375997")) -levelplot(yield~loc*gen, dat, - col.regions=redblue, - xlab="loc (block)", main="cochran.bib - incomplete blocks")#> loc -#> gen B01 B02 B03 B04 B05 B06 B07 B08 B09 B10 B11 B12 B13 -#> G01 0 0 0 0 0 0 1 0 1 0 1 1 0 -#> G02 0 0 0 1 0 0 0 0 1 1 0 0 1 -#> G03 1 1 0 0 0 0 0 1 1 0 0 0 0 -#> G04 0 1 0 0 0 1 0 0 0 1 1 0 0 -#> G05 0 0 0 1 0 1 1 1 0 0 0 0 0 -#> G06 1 0 0 0 0 1 0 0 0 0 0 1 1 -#> G07 0 0 0 0 1 0 0 1 0 0 1 0 1 -#> G08 0 1 0 1 1 0 0 0 0 0 0 1 0 -#> G09 1 0 0 0 1 0 1 0 0 1 0 0 0 -#> G10 0 0 1 0 1 1 0 0 1 0 0 0 0 -#> G11 1 0 1 1 0 0 0 0 0 0 1 0 0 -#> G12 0 1 1 0 0 0 1 0 0 0 0 0 1 -#> G13 0 0 1 0 0 0 0 1 0 1 0 1 0#> G01 G02 G03 G04 G05 G06 G07 G08 G09 G10 G11 G12 G13 -#> 4 4 4 4 4 4 4 4 4 4 4 4 4#> B01 B02 B03 B04 B05 B06 B07 B08 B09 B10 B11 B12 B13 -#> 4 4 4 4 4 4 4 4 4 4 4 4 4#> -#> Error: loc -#> Df Sum Sq Mean Sq -#> gen 12 689.4 57.45 -#> -#> Error: Within -#> Df Sum Sq Mean Sq F value Pr(>F) -#> gen 12 328.5 27.38 1.373 0.238 -#> Residuals 27 538.2 19.93
cochran.crd.Rd
Potato scab infection with sulfur treatments
-A data frame with 32 observations on the following 5 variables.
inf
infection percent
trt
treatment factor
row
row
col
column
The experiment was conducted to investigate the effect of sulfur on - controlling scab disease in potatoes. There were seven treatments. - Control, plus spring and fall application of 300, 600, 1200 pounds/acre of - sulfur. The response variable was infection as a percent of the surface - area covered with scab. A completely randomized design was used with 8 - replications of the control and 4 replications of the other treatments.
-Although the original analysis did not show significant differences in - the sulfur treatments, including a polynomial trend in the model - uncovered significant differences (Tamura, 1988).
-W.G. Cochran and G. Cox, 1957. Experimental Designs, 2nd - ed. John Wiley, New York.
-Tamura, R.N. and Nelson, L.A. and Naderman, G.C., (1988). - An investigation of the validity and usefulness of - trend analysis for field plot data. - Agronomy Journal, 80, 712-718.
-https://doi.org/10.2134/agronj1988.00021962008000050003x
- --# \dontrun{ - -library(agridat) -data(cochran.crd) -dat <- cochran.crd - -# Field plan -libs(desplot) -desplot(dat, inf~col*row, - text=trt, cex=1, # aspect unknown - main="cochran.crd") --# CRD anova. Table 6 of Tamura 1988 -contrasts(dat$trt) <- cbind(c1=c(1,1,1,-6,1,1,1), # Control vs Sulf - c2=c(-1,-1,-1,0,1,1,1)) # Fall vs Sp -m1 <- aov(inf ~ trt, data=dat) -anova(m1) -#> Analysis of Variance Table -#> -#> Response: inf -#> Df Sum Sq Mean Sq F value Pr(>F) -#> trt 6 972.34 162.057 3.6081 0.01026 * -#> Residuals 25 1122.88 44.915 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1#> Df Sum Sq Mean Sq F value Pr(>F) -#> trt 6 972.3 162.1 3.608 0.01026 * -#> trt: Control vs Sulf 1 518.0 518.0 11.533 0.00229 ** -#> trt: Fall vs Spring 1 228.2 228.2 5.080 0.03322 * -#> Residuals 25 1122.9 44.9 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1-# Quadratic polynomial for columns...slightly different than Tamura 1988 -m2 <- aov(inf ~ trt + poly(col,2), data=dat) -anova(m2) -#> Analysis of Variance Table -#> -#> Response: inf -#> Df Sum Sq Mean Sq F value Pr(>F) -#> trt 6 972.34 162.057 7.1253 0.0002205 *** -#> poly(col, 2) 2 599.76 299.881 13.1850 0.0001531 *** -#> Residuals 23 523.11 22.744 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1#> Df Sum Sq Mean Sq F value Pr(>F) -#> trt 6 972.3 162.1 7.125 0.000221 *** -#> trt: Control vs Sulf 1 518.0 518.0 22.776 8.21e-05 *** -#> trt: Fall vs Spring 1 228.2 228.2 10.032 0.004301 ** -#> poly(col, 2) 2 599.8 299.9 13.185 0.000153 *** -#> Residuals 23 523.1 22.7 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1-# } -
cochran.eelworms.Rd
Counts of eelworms before and after fumigant treatments
-A data frame with 48 observations on the following 7 variables.
block
block factor, 4 levels
row
row
col
column
fumigant
fumigant factor
dose
dose, Numeric 0,1,2. Maybe should be a factor?
initial
count of eelworms pre-treatment
final
count of eelworms post-treatment
In the original experiment plan (as shown in Bailey 2008), columns 9, 10, 11 are - shifted up slightly.
-Treatment codes: Con = Control, Chl = Chlorodinitrobenzen, Cym = - Cymag, Car = Carbon Disulphide jelly, See = Seekay.
-Experiment was conducted in 1935 at Rothamsted Experiment Station. In - early March 400 grams of soil were sampled and the number of eelworm - cysts were counted. Fumigants were added to the soil, oats were sown - and later harvested. In October, the plots were again sampled and the - final count of cysts recorded.
-Cochran and Cox, 1950. - Experimental Designs. Table 3.1.
-R. A. Bailey, 2008. Design of Comparative Experiments. Cambridge.
- --# \dontrun{ - -library(agridat) -data(cochran.eelworms) -dat <- cochran.eelworms - -# Very strong spatial trends -libs(desplot) -desplot(dat, initial ~ col*row, - flip=TRUE, # aspect unknown - main="cochran.eelworms")- -# final counts are strongly related to initial counts -libs(lattice) -xyplot(final~initial|factor(dose), data=dat, group=fumigant, - main="cochran.eelworms - by dose (panel) & fumigant", - xlab="Initial worm count", - ylab="Final worm count", auto.key=list(columns=5))-# One approach...log transform, use 'initial' as covariate, create 9 treatments -dat <- transform(dat, trt=factor(paste0(fumigant, dose))) -m1 <- aov(log(final) ~ block + trt + log(initial), data=dat) -anova(m1)#> Analysis of Variance Table -#> -#> Response: log(final) -#> Df Sum Sq Mean Sq F value Pr(>F) -#> block 3 5.5727 1.8576 23.5588 1.973e-08 *** -#> trt 9 3.4114 0.3790 4.8073 0.000358 *** -#> log(initial) 1 5.2603 5.2603 66.7142 1.582e-09 *** -#> Residuals 34 2.6808 0.0788 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1-# } -
cochran.factorial.Rd
Factorial experiment in beans
-data("cochran.factorial")- - -
A data frame with 32 observations on the following 4 variables.
rep
rep factor
block
block factor
trt
treatment factor, 16 levels
yield
yield (pounds)
Conducted by Rothamsted Experiment Station in 1936. The treatments - are listed below.
-d = dung: None, 10 tons/acre.
-n = nitrochalk: None, 0.4 hundredweight nitrogen per acre.
-p = Superphosphate: None, 0.6 hundredweight per acre
-k = muriate of potash: None, 1 hundredweight K20 per acres.
-The response variable is the yield of beans.
-Cochran, W.G. and Cox, G.M. (1957), - Experimental Designs, 2nd ed., Wiley and Sons, New York, p. 160.
- --# \dontrun{ - -library(agridat) -data(cochran.factorial) -dat <- cochran.factorial - -# Split treatment into individual factors -dat <- transform(dat, - d = -1 + 2 * grepl('d',trt), - n = -1 + 2 * grepl('n',trt), - p = -1 + 2 * grepl('p',trt), - k = -1 + 2 * grepl('k',trt)) -dat <- transform(dat, d=factor(d), n=factor(n), p=factor(p), k=factor(k)) - -# Cochran table 6.5. -m1 <- lm(yield ~ rep * block + (d+n+p+k)^3, data=dat) -anova(m1)#> Analysis of Variance Table -#> -#> Response: yield -#> Df Sum Sq Mean Sq F value Pr(>F) -#> rep 1 3.12 3.12 0.1288 0.725064 -#> block 1 78.13 78.13 3.2193 0.094393 . -#> d 1 2.00 2.00 0.0824 0.778258 -#> n 1 325.12 325.12 13.3974 0.002572 ** -#> p 1 6.12 6.12 0.2524 0.623205 -#> k 1 4.50 4.50 0.1854 0.673303 -#> rep:block 1 45.12 45.12 1.8595 0.194213 -#> d:n 1 32.00 32.00 1.3186 0.270083 -#> d:p 1 242.00 242.00 9.9720 0.006982 ** -#> d:k 1 6.13 6.13 0.2524 0.623205 -#> n:p 1 78.13 78.13 3.2193 0.094393 . -#> n:k 1 32.00 32.00 1.3186 0.270083 -#> p:k 1 24.50 24.50 1.0096 0.332058 -#> d:n:p 1 2.00 2.00 0.0824 0.778258 -#> d:n:k 1 10.13 10.13 0.4172 0.528774 -#> d:p:k 1 15.13 15.13 0.6233 0.443007 -#> n:p:k 1 32.00 32.00 1.3186 0.270083 -#> Residuals 14 339.75 24.27 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1- -libs(FrF2)#>#>#> -#>#>-#> -#>#>-#> -#>#> -#>#>-#> -#>#>-#> -#>#>-#> -#>aliases(m1)#> [1] no aliasing in the modelMEPlot(m1, select=3:6, - main="cochran.factorial - main effects plot")-# } -
cochran.latin.Rd
Six wheat plots were sampled by six operators and shoot heights - measured. The operators sampled plots in six ordered sequences. - The dependent variate was the difference between measured - height and true height of the plot.
-A data frame with 36 observations on the following 4 variables.
row
row
col
column
operator
operator factor
diff
difference between measured height and true height
Cochran, W.G. and Cox, G.M. (1957), - Experimental Designs, 2nd ed., Wiley and Sons, New York.
- ---library(agridat) - -data(cochran.latin) -dat <- cochran.latin - -libs(desplot) -desplot(dat, diff~col*row, - text=operator, cex=1, # aspect unknown - main="cochran.latin")- -dat <- transform(dat, rf=factor(row), cf=factor(col)) -aov.dat <- aov(diff ~ operator + Error(rf*cf), dat) -summary(aov.dat)#> -#> Error: rf -#> Df Sum Sq Mean Sq F value Pr(>F) -#> Residuals 5 28.6 5.72 -#> -#> Error: cf -#> Df Sum Sq Mean Sq F value Pr(>F) -#> Residuals 5 78.87 15.77 -#> -#> Error: rf:cf -#> Df Sum Sq Mean Sq F value Pr(>F) -#> operator 5 155.60 31.119 9.35 0.000103 *** -#> Residuals 20 66.56 3.328 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1#> Tables of means -#> Grand mean -#> -#> 4.758333 -#> -#> operator -#> operator -#> a b c d e f -#> 6.067 5.583 6.117 6.917 2.667 1.200
cochran.lattice.Rd
Balanced lattice experiment in cotton
-data("cochran.lattice")- - -
A data frame with 80 observations on the following 5 variables.
y
percent of affected flower buds
rep
replicate
row
row
col
column
trt
treatment factor
The experiment is a balanced lattice square with 16 treatments in a 4x4 - layout in each of 5 replicates. The treatments were applied to cotton - plants. Each plot was ten rows wide by 70 feet long - (about 1/18 of an acre). (Estimated plot width is 34.5 feet.) - Data were collected from the middle 4 rows. - The data are the percentages of squares showing attack by boll weevils. - A 'square' is the name given to a young flower bud.
-The plot orientation is not clear.
-William G. Cochran, Gertrude M. Cox. Experimental Designs, 2nd - Edition. Page 490.
-Originally from: F. M. Wadley (1946). - Incomplete block designs in insect population problems. - J. Economic Entomology, 38, 651--654.
-Walter Federer. - Combining Standard Block Analyses With Spatial Analyses Under a Random - Effects Model. Cornell Univ Tech Report BU-1373-MA. - https://hdl.handle.net/1813/31971
- --# \dontrun{ - -library(agridat) -data(cochran.lattice) -dat <- cochran.lattice - -libs(desplot) -desplot(dat, y~row*col|rep, - text=trt, # aspect unknown, should be 2 or .5 - main="cochran.lattice") -- -# Random rep,row,column model often used by Federer -libs(lme4) -dat <- transform(dat, rowf=factor(row), colf=factor(col)) -m1 <- lmer(y ~ trt + (1|rep) + (1|rep:row) + (1|rep:col), data=dat) -#>#> Linear mixed model fit by REML ['lmerMod'] -#> Formula: y ~ trt + (1 | rep) + (1 | rep:row) + (1 | rep:col) -#> Data: dat -#> -#> REML criterion at convergence: 433.9 -#> -#> Scaled residuals: -#> Min 1Q Median 3Q Max -#> -2.1384 -0.5057 -0.0117 0.4584 2.2629 -#> -#> Random effects: -#> Groups Name Variance Std.Dev. -#> rep:col (Intercept) 3.17 1.781 -#> rep:row (Intercept) 10.92 3.304 -#> rep (Intercept) 0.00 0.000 -#> Residual 23.86 4.885 -#> Number of obs: 80, groups: rep:col, 20; rep:row, 20; rep, 5 -#> -#> Fixed effects: -#> Estimate Std. Error t value -#> (Intercept) 6.090 2.566 2.373 -#> trtT02 7.641 3.451 2.214 -#> trtT03 2.403 3.451 0.696 -#> trtT04 5.254 3.451 1.522 -#> trtT05 3.472 3.451 1.006 -#> trtT06 1.206 3.451 0.350 -#> trtT07 1.208 3.451 0.350 -#> trtT08 3.323 3.451 0.963 -#> trtT09 4.024 3.451 1.166 -#> trtT10 9.094 3.451 2.635 -#> trtT11 11.815 3.451 3.423 -#> trtT12 6.756 3.451 1.958 -#> trtT13 4.942 3.451 1.432 -#> trtT14 8.160 3.451 2.364 -#> trtT15 3.205 3.451 0.929 -#> trtT16 4.537 3.451 1.315#> -#>-#> -#>#> convergence code: 0 -#> boundary (singular) fit: see ?isSingular -#>-# } -
cochran.wireworms.Rd
Wireworms controlled by fumigants in a latin square
-A data frame with 25 observations on the following 4 variables.
row
row
col
column
trt
fumigant treatment, 5 levels
worms
count of wireworms per plot
Plots were approximately 22 cm by 13 cm. Layout of the experiment was a - latin square. The number of wireworms in each plot was counted, - following soil fumigation the previous year.
-W. G. Cochran (1938). - Some difficulties in the statistical analysis of replicated experiments. - Empire Journal of Experimental Agriculture, 6, 157--175.
-Ron Snee (1980). Graphical Display of Means. - The American Statistician, 34, 195-199. - https://www.jstor.org/stable/2684060 - https://doi.org/10.1080/00031305.1980.10483028
-W. Cochran (1940). The analysis of variance when experimental errors - follow the Poisson or binomial laws. - The Annals of Mathematical Statistics, 11, 335-347. - https://www.jstor.org/stable/2235680
-G W Snedecor and W G Cochran, 1980. Statistical Methods, - Iowa State University Press. Page 288.
- --# \dontrun{ - -library(agridat) -data(cochran.wireworms) -dat <- cochran.wireworms - -libs(desplot) -desplot(dat, worms ~ col*row, - text=trt, cex=1, # aspect unknown - main="cochran.wireworms") --# Trt K is effective, but not the others. Really, this says it all. -libs(lattice) -bwplot(worms ~ trt, dat, main="cochran.wireworms", xlab="Treatment") --# Snedecor and Cochran do ANOVA on sqrt(x+1). -dat <- transform(dat, rowf=factor(row), colf=factor(col)) -m1 <- aov(sqrt(worms+1) ~ rowf + colf + trt, data=dat) -anova(m1) -#> Analysis of Variance Table -#> -#> Response: sqrt(worms + 1) -#> Df Sum Sq Mean Sq F value Pr(>F) -#> rowf 4 2.3579 0.58947 1.8044 0.19285 -#> colf 4 0.7787 0.19467 0.5959 0.67248 -#> trt 4 5.7616 1.44041 4.4092 0.02014 * -#> Residuals 12 3.9202 0.32668 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1-# Instead of transforming, use glm -m2 <- glm(worms ~ trt + rowf + colf, data=dat, family="poisson") -anova(m2) -#> Analysis of Deviance Table -#> -#> Model: poisson, link: log -#> -#> Response: worms -#> -#> Terms added sequentially (first to last) -#> -#> -#> Df Deviance Resid. Df Resid. Dev -#> NULL 24 64.555 -#> trt 4 26.5294 20 38.026 -#> rowf 4 15.6955 16 22.331 -#> colf 4 2.8225 12 19.508-# GLM with random blocking. -libs(lme4) -m3 <- glmer(worms ~ -1 +trt +(1|rowf) +(1|colf), data=dat, family="poisson") -summary(m3) -#> Generalized linear mixed model fit by maximum likelihood (Laplace -#> Approximation) [glmerMod] -#> Family: poisson ( log ) -#> Formula: worms ~ -1 + trt + (1 | rowf) + (1 | colf) -#> Data: dat -#> -#> AIC BIC logLik deviance df.resid -#> 124.2 132.7 -55.1 110.2 18 -#> -#> Scaled residuals: -#> Min 1Q Median 3Q Max -#> -1.3342 -0.7364 -0.1740 0.4505 2.7797 -#> -#> Random effects: -#> Groups Name Variance Std.Dev. -#> rowf (Intercept) 8.389e-02 0.2896419 -#> colf (Intercept) 1.451e-08 0.0001205 -#> Number of obs: 25, groups: rowf, 5; colf, 5 -#> -#> Fixed effects: -#> Estimate Std. Error z value Pr(>|z|) -#> trtK 0.1393 0.4275 0.326 0.745 -#> trtM 1.7814 0.2226 8.002 1.22e-15 *** -#> trtN 1.9028 0.2142 8.881 < 2e-16 *** -#> trtO 1.7147 0.2275 7.537 4.80e-14 *** -#> trtP 1.4829 0.2463 6.020 1.74e-09 *** -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 -#> -#> Correlation of Fixed Effects: -#> trtK trtM trtN trtO -#> trtM 0.185 -#> trtN 0.192 0.369 -#> trtO 0.181 0.347 0.361 -#> trtP 0.167 0.321 0.333 0.314## Fixed effects: -## Estimate Std. Error z value Pr(>|z|) -## trtK 0.1393 0.4275 0.326 0.745 -## trtM 1.7814 0.2226 8.002 1.22e-15 *** -## trtN 1.9028 0.2142 8.881 < 2e-16 *** -## trtO 1.7147 0.2275 7.537 4.80e-14 *** - -# } -
connolly.potato.Rd
Potato yields in single-drill plots
-data("connolly.potato")- - -
A data frame with 80 observations on the following 6 variables.
rep
block
gen
variety
row
row
col
column
yield
yield, kg/ha
matur
maturity group
Connolly et el use this data to illustrate how yield can be affected - by competition from neighboring plots.
-This data uses M1, M2, M3 for maturity, while Connolly et al use - FE (first early), SE (second early) and M (maincrop).
-The trial was 20 sections, each of which was an independent row of 20 - drills. The data here are four reps of single-drill plots from - sections 1, 6, 11, and 16.
-The neighbor covariate for a plot is defined as the average of the - plots to the left and right. For drills at the edge of the trial, the - covariate was the average of the one neighboring plot yield and the - section (i.e. rep) mean.
-It would be interesting to fit a model that uses differences in - maturity between a plot and its neighbor as the actual covariate.
-https://doi.org/10.1111/j.1744-7348.1993.tb04099.x
-Used with permission of Iain Currie.
-Connolly, T and Currie, ID and Bradshaw, JE and McNicol, JW. (1993). - Inter-plot competition in yield trials of potatoes - Solanum tuberosum L. with single-drill plots. - Annals of Applied Biology, 123, 367-377.
- --# \dontrun{ - -library(agridat) - -data(connolly.potato) -dat <- connolly.potato - -# Field plan -libs(desplot) -desplot(dat, yield~col*row, - out1=rep, # aspect unknown - main="connolly.potato yields (reps not contiguous)") -- -# Later maturities are higher yielding -libs(lattice) -bwplot(yield~matur, dat, main="connolly.potato yield by maturity") --# Observed raw means. Matches Connolly table 2. -mn <- aggregate(yield~gen, data=dat, FUN=mean) -mn[rev(order(mn$yield)),] -#> gen yield -#> 8 V08 16.200 -#> 19 V19 14.450 -#> 10 V10 13.925 -#> 12 V12 13.500 -#> 7 V07 13.300 -#> 20 V20 12.975 -#> 14 V14 12.975 -#> 6 V06 12.625 -#> 11 V11 12.575 -#> 16 V16 11.900 -#> 3 V03 11.650 -#> 9 V09 11.500 -#> 1 V01 11.275 -#> 18 V18 10.650 -#> 2 V02 10.325 -#> 17 V17 10.200 -#> 15 V15 10.125 -#> 13 V13 10.050 -#> 4 V04 9.425 -#> 5 V05 9.275-# Create a covariate which is the average of neighboring plot yields -libs(reshape2) -mat <- acast(dat, row~col, value.var='yield') -mat2 <- matrix(NA, nrow=4, ncol=20) -mat2[,2:19] <- (mat[ , 1:18] + mat[ , 3:20])/2 -mat2[ , 1] <- (mat[ , 1] + apply(mat, 1, mean))/2 -mat2[ , 20] <- (mat[ , 20] + apply(mat, 1, mean))/2 -dat2 <- melt(mat2) -colnames(dat2) <- c('row','col','cov') -dat <- merge(dat, dat2) -# xyplot(yield ~ cov, data=dat, type=c('p','r')) - -# Connolly et al fit a model with avg neighbor yield as a covariate -m1 <- lm(yield ~ 0 + gen + rep + cov, data=dat) -coef(m1)['cov'] # = -.303 (Connolly obtained -.31) -#> cov -#> -0.3030545-# Block names and effects -bnm <- c("R1","R2","R3","R4") -beff <- c(0, coef(m1)[c('repR2','repR3','repR4')]) -# Variety names and effects -vnm <- paste0("V", formatC(1:20, width=2, flag='0')) -veff <- coef(m1)[1:20] - -# Adjust yield for variety and block effects -dat <- transform(dat, yadj = yield - beff[match(rep,bnm)] - - veff[match(gen,vnm)]) - -# Similar to Connolly Fig 1. Point pattern doesn't quite match -xyplot(yadj~cov, data=dat, type=c('p','r'), - main="connolly.potato", - xlab="Avg yield of nearest neighbors", - ylab="Yield, adjusted for variety and block effects") --# } -
cornelius.maize.Rd
Maize yields for 9 cultivars at 20 locations.
-data("cornelius.maize")- - -
A data frame with 180 observations on the following 3 variables.
env
environment factor, 20 levels
gen
genotype/cultivar, 9 levels
yield
yield, kg/ha
Cell means (kg/hectare) for the CIMMYT EVT16B maize yield trial.
-P L Cornelius and J Crossa and M S Seyedsadr. (1996). - Statistical Tests and Estimators of Multiplicative Models for - Genotype-by-Environment Interaction. - Book: Genotype-by-Environment Interaction. Pages 199-234.
-Forkman, Johannes and Piepho, Hans-Peter. (2014). - Parametric bootstrap methods for testing multiplicative terms in GGE - and AMMI models. Biometrics, 70(3), 639-647. - https://doi.org/10.1111/biom.12162
- --# \dontrun{ - -library(agridat) -data(cornelius.maize) -dat <- cornelius.maize - -# dotplot(gen~yield|env,dat) # We cannot compare genotype yields easily -# Subtract environment mean from each observation -libs(reshape2) -mat <- acast(dat, gen~env) -#>mat <- scale(mat, scale=FALSE) -dat2 <- melt(mat) -names(dat2) <- c('gen','env','yield') -libs(lattice) -bwplot(yield ~ gen, dat2, - main="cornelius.maize - environment centered yields") --if(0){ -# This reproduces the analysis of Forkman and Piepho. - -test.pc <- function(Y0, type="AMMI", n.boot=10000, maxpc=6) { - - # Test the significance of Principal Components in GGE/AMMI - - # Singular value decomposition of centered/double-centered Y - Y <- sweep(Y0, 1, rowMeans(Y0)) # subtract environment means - if(type=="AMMI") { - Y <- sweep(Y, 2, colMeans(Y0)) # subtract genotype means - Y <- Y + mean(Y0) - } - lam <- svd(Y)$d - - # Observed value of test statistic. - # t.obs[k] is the proportion of variance explained by the kth term out of - # the k...M terms, e.g. t.obs[2] is lam[2]^2 / sum(lam[2:M]^2) - t.obs <- { lam^2/rev(cumsum(rev(lam^2))) } [1:(M-1)] - t.boot <- matrix(NA, nrow=n.boot, ncol=M-1) - - # Centering rows/columns reduces the rank by 1 in each direction. - I <- if(type=="AMMI") nrow(Y0)-1 else nrow(Y0) - J <- ncol(Y0)-1 - M <- min(I, J) # rank of Y, maximum number of components - M <- min(M, maxpc) # Optional step: No more than 5 components - - for(K in 0:(M-2)){ # 'K' multiplicative components in the svd - - for(bb in 1:n.boot){ - E.b <- matrix(rnorm((I-K) * (J-K)), nrow = I-K, ncol = J-K) - lam.b <- svd(E.b)$d - t.boot[bb, K+1] <- lam.b[1]^2 / sum(lam.b^2) - } - - } - - # P-value for each additional multiplicative term in the SVD. - # P-value is the proportion of time bootstrap values exceed t.obs - colMeans(t.boot > matrix(rep(t.obs, n.boot), nrow=n.boot, byrow=TRUE)) -} - -dat <- cornelius.maize - -# Convert to matrix format -libs(reshape2) -dat <- acast(dat, env~gen, value.var='yield') - -## R> test.pc(dat,"AMMI") -## [1] 0.0000 0.1505 0.2659 0.0456 0.1086 # Forkman: .00 .156 .272 .046 .111 - -## R> test.pc(dat,"GGE") -## [1] 0.0000 0.2934 0.1513 0.0461 0.2817 # Forkman: .00 .296 .148 .047 .285 - -} -# } -
correa.soybean.uniformity.Rd
Uniformity trial of soybean in Brazil, 1970.
-data("correa.soybean.uniformity")- - -
A data frame with 1152 observations on the following 3 variables.
row
row
col
column
yield
yield, grams/plot
Field length: 48 rows * .6 m = 28.8 m
-Field width: 24 columns * .6 m = 14.4 m
-Enedino Correa da Silva. (1974). - Estudo do tamanho e forma de parcelas para experimentos de soja (Plot size and shape for soybean yield trials). - Pesquisa Agropecuaria Brasileira, Serie Agronomia, 9, 49-59. Table 3, - page 52-53. - https://seer.sct.embrapa.br/index.php/pab/article/view/17250
-None
- --# \dontrun{ - -library(agridat) -data(correa.soybean.uniformity) -dat <- correa.soybean.uniformity - -libs(desplot) -desplot(dat, yield ~ col*row, - flip=TRUE, aspect=28.8/14.4, - main="correa.soybean.uniformity") --# } -
corsten.interaction.Rd
The data is the yield (kg/acre) of 20 genotypes of corn at 7 - locations.
-A data frame with 140 observations on the following 3 variables.
gen
genotype, 20 levels
loc
location, 7 levels
yield
yield, kg/acre
The data is used by Corsten & Denis (1990) to illustrate two-way - clustering by minimizing the interaction sum of squares.
-In their paper, the labels on the location dendrogram have a slight - typo. The order of the loc labels shown is 1 2 3 4 5 6 7. - The correct order of the loc labels is 1 2 4 5 6 7 3.
-Used with permission of Jean-Baptiste Denis.
-L C A Corsten and J B Denis, (1990). - Structuring Interaction in Two-Way Tables By Clustering. - Biometrics, 46, 207--215. Table 1. - https://doi.org/10.2307/2531644
- --# \dontrun{ - -library(agridat) -data(corsten.interaction) -dat <- corsten.interaction - -libs(reshape2) -m1 <- melt(dat, measure.var='yield') -dmat <- acast(m1, loc~gen) - -# Corsten (1990) uses this data to illustrate simultaneous row and -# column clustering based on interaction sums-of-squares. -# There is no (known) function in R to reproduce this analysis -# (please contact the package maintainer if this is not true). -# For comparison, the 'heatmap' function clusters the rows and -# columns _independently_ of each other. -heatmap(dmat, main="corsten.interaction") --# } -
cox.stripsplit.Rd
Strip-split-plot of barley with fertilizer, calcium, and soil factors.
-A data frame with 96 observations on the following 5 variables.
rep
replicate, 4 levels
soil
soil, 3 levels
fert
fertilizer, 4 levels
calcium
calcium, 2 levels
yield
yield of winter barley
Four different fertilizer treatments are laid out in vertical - strips, which are then split into subplots with different levels of - calcium. Soil type is stripped across the split-plot experiment, and the - entire experiment is then replicated three times.
-Sometimes called a split-block design.
-Comes from the notes of Gertrude Cox and A. Rotti.
-SAS/STAT(R) 9.2 User's Guide, Second Edition. - Example 23.5 Strip-Split Plot. - https://support.sas.com/documentation/cdl/en/statug/63033/HTML/default/viewer.htm#statug_anova_sect030.htm
- --# \dontrun{ - -library(agridat) -data(cox.stripsplit) -dat <- cox.stripsplit - -# Raw means -# aggregate(yield ~ calcium, data=dat, mean) -# aggregate(yield ~ soil, data=dat, mean) -# aggregate(yield ~ calcium, data=dat, mean) - -libs(HH) -#>#>#>#> -#>#>-#> -#>#>#> -#>#>-#> -#>#> -#>#>-#> -#>#>-#> -#>interaction2wt(yield ~ rep + soil + fert + calcium, dat, - x.between=0, y.between=0, - main="cox.stripsplit") --# Traditional AOV -m1 <- aov(yield~ fert*calcium*soil + - Error(rep/(fert+soil+calcium:fert+soil:fert)), - data=dat) -summary(m1) -#> -#> Error: rep -#> Df Sum Sq Mean Sq F value Pr(>F) -#> Residuals 3 6.28 2.093 -#> -#> Error: rep:fert -#> Df Sum Sq Mean Sq F value Pr(>F) -#> fert 3 7.221 2.4071 3.562 0.0604 . -#> Residuals 9 6.082 0.6758 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 -#> -#> Error: rep:soil -#> Df Sum Sq Mean Sq F value Pr(>F) -#> soil 2 1.927 0.9633 3.466 0.0999 . -#> Residuals 6 1.668 0.2779 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 -#> -#> Error: rep:fert:calcium -#> Df Sum Sq Mean Sq F value Pr(>F) -#> calcium 1 0.2773 0.2773 1.883 0.1950 -#> fert:calcium 3 1.9640 0.6547 4.446 0.0255 * -#> Residuals 12 1.7671 0.1473 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 -#> -#> Error: rep:fert:soil -#> Df Sum Sq Mean Sq F value Pr(>F) -#> fert:soil 6 0.6883 0.11471 1.301 0.306 -#> Residuals 18 1.5870 0.08817 -#> -#> Error: Within -#> Df Sum Sq Mean Sq F value Pr(>F) -#> calcium:soil 2 0.0449 0.02247 0.245 0.784 -#> fert:calcium:soil 6 0.1894 0.03156 0.345 0.906 -#> Residuals 24 2.1962 0.09151-# With balanced data, the following are all basically identical - -libs(lme4) -# The 'rep:soil:fert' term causes problems...so we drop it. -m2 <- lmer(yield ~ fert*soil*calcium + (1|rep) + (1|rep:fert) + - (1|rep:soil) + (1|rep:fert:calcium), data=dat) - - -if(0){ - # afex uses Kenword-Rogers approach for denominator d.f. - libs(afex) - mixed(yield ~ fert*soil*calcium + (1|rep) + (1|rep:fert) + - (1|rep:soil) + (1|rep:fert:calcium) + (1|rep:soil:fert), data=dat, - control=lmerControl(check.nobs.vs.rankZ="ignore")) - ## Effect stat ndf ddf F.scaling p.value - ## 1 (Intercept) 1350.8113 1 3.0009 1 0.0000 - ## 2 fert 3.5619 3 9.0000 1 0.0604 - ## 3 soil 3.4659 2 6.0000 1 0.0999 - ## 4 calcium 1.8835 1 12.0000 1 0.1950 - ## 5 fert:soil 1.2735 6 18.0000 1 0.3179 - ## 6 fert:calcium 4.4457 3 12.0000 1 0.0255 - ## 7 soil:calcium 0.2494 2 24.0000 1 0.7813 - ## 8 fert:soil:calcium 0.3504 6 24.0000 1 0.9027 -} - -# } -
cramer.cucumber.Rd
Cucumber yields and quantitative traits
-data("cramer.cucumber")- - -
A data frame with 24 observations on the following 9 variables.
cycle
cycle
rep
replicate
plants
plants per plot
flowers
number of pistillate flowers
branches
number of branches
leaves
number of leaves
totalfruit
total fruit number
culledfruit
culled fruit number
earlyfruit
early fruit number
The data are used to illustrate path analysis of the correlations - between phenotypic traits.
-Used with permission of Christopher Cramer.
-Christopher S. Cramer, Todd C. Wehner, and Sandra B. Donaghy. 1999. - Path Coefficient Analysis of Quantitative Traits. - In: Handbook of Formulas and Software for Plant Geneticists and - Breeders, page 89.
-Cramer, C. S., T. C. Wehner, and S. B. Donaghy. 1999. - PATHSAS: a SAS computer program for path coefficient analysis of quantitative data. - J. Hered, 90, 260-262 - https://doi.org/10.1093/jhered/90.1.260
- --# \dontrun{ - - library(agridat) - data(cramer.cucumber) - dat <- cramer.cucumber - - libs(lattice) - splom(dat[3:9], group=dat$cycle, - main="cramer.cucumber - traits by cycle", - auto.key=list(columns=3))#> Error in eval(substitute(groups), data, environment(formula)): object 'dat' not found- - # derived traits - dat <- transform(dat, - marketable = totalfruit-culledfruit, - branchesperplant = branches/plants, - nodesperbranch = leaves/(branches+plants), - femalenodes = flowers+totalfruit) - dat <- transform(dat, - perfenod = (femalenodes/leaves), - fruitset = totalfruit/flowers, - fruitperplant = totalfruit / plants, - marketableperplant = marketable/plants, - earlyperplant=earlyfruit/plants) - # just use cycle 1 - dat1 <- subset(dat, cycle==1) - - # define independent and dependent variables - indep <- c("branchesperplant", "nodesperbranch", "perfenod", "fruitset") - dep0 <- "fruitperplant" - dep <- c("marketable","earlyperplant") - - # standardize trait data for cycle 1 - sdat <- data.frame(scale(dat1[1:8, c(indep,dep0,dep)])) - - # slopes for dep0 ~ indep - X <- as.matrix(sdat[,indep]) - Y <- as.matrix(sdat[,c(dep0)]) - # estdep <- solve(t(X) - estdep <- solve(crossprod(X), crossprod(X,Y)) - estdep#> [,1] -#> branchesperplant 0.7160269 -#> nodesperbranch 0.3415537 -#> perfenod 0.2316693 -#> fruitset 0.2985557## branchesperplant 0.7160269 - ## nodesperbranch 0.3415537 - ## perfenod 0.2316693 - ## fruitset 0.2985557 - - # slopes for dep ~ dep0 - X <- as.matrix(sdat[,dep0]) - Y <- as.matrix(sdat[,c(dep)]) - # estind2 <- solve(t(X) - estind2 <- solve(crossprod(X), crossprod(X,Y)) - estind2#> marketable earlyperplant -#> [1,] 0.97196 0.8828393## marketable earlyperplant - ## 0.97196 0.8828393 - - # correlation coefficients for indep variables - corrind=cor(sdat[,indep]) - round(corrind,2)#> branchesperplant nodesperbranch perfenod fruitset -#> branchesperplant 1.00 0.52 -0.24 0.09 -#> nodesperbranch 0.52 1.00 -0.44 0.14 -#> perfenod -0.24 -0.44 1.00 0.04 -#> fruitset 0.09 0.14 0.04 1.00## branchesperplant nodesperbranch perfenod fruitset - ## branchesperplant 1.00 0.52 -0.24 0.09 - ## nodesperbranch 0.52 1.00 -0.44 0.14 - ## perfenod -0.24 -0.44 1.00 0.04 - ## fruitset 0.09 0.14 0.04 1.00 - - # Correlation coefficients for dependent variables - corrdep=cor(sdat[,c(dep0, dep)]) - round(corrdep,2)#> fruitperplant marketable earlyperplant -#> fruitperplant 1.00 0.97 0.88 -#> marketable 0.97 1.00 0.96 -#> earlyperplant 0.88 0.96 1.00## fruitperplant marketable earlyperplant - ## fruitperplant 1.00 0.97 0.88 - ## marketable 0.97 1.00 0.96 - ## earlyperplant 0.88 0.96 1.00 - - result = corrind - result = result*matrix(estdep,ncol=4,nrow=4,byrow=TRUE) - round(result,2) # match SAS output columns 1-4#> branchesperplant nodesperbranch perfenod fruitset -#> branchesperplant 0.72 0.18 -0.06 0.03 -#> nodesperbranch 0.37 0.34 -0.10 0.04 -#> perfenod -0.17 -0.15 0.23 0.01 -#> fruitset 0.07 0.05 0.01 0.30## branchesperplant nodesperbranch perfenod fruitset - ## branchesperplant 0.72 0.18 -0.06 0.03 - ## nodesperbranch 0.37 0.34 -0.10 0.04 - ## perfenod -0.17 -0.15 0.23 0.01 - ## fruitset 0.07 0.05 0.01 0.30 - - resdep0 = rowSums(result) - resdep <- cbind(resdep0,resdep0)*matrix(estind2, nrow=4,ncol=2,byrow=TRUE) - colnames(resdep) <- dep - # slightly different from SAS output last 2 columns - round(cbind(fruitperplant=resdep0, round(resdep,2)),2)#> fruitperplant marketable earlyperplant -#> branchesperplant 0.87 0.84 0.76 -#> nodesperbranch 0.65 0.63 0.58 -#> perfenod -0.08 -0.08 -0.07 -#> fruitset 0.42 0.41 0.37## fruitperplant marketable earlyperplant - ## branchesperplant 0.87 0.84 0.76 - ## nodesperbranch 0.65 0.63 0.58 - ## perfenod -0.08 -0.08 -0.07 - ## fruitset 0.42 0.41 0.37 -# } -
crampton.pig.Rd
Weight gain in pigs for different treatments, with initial weight and - feed eaten as covariates.
-data("crampton.pig")
A data frame with 50 observations on the following 5 variables.
treatment
feed treatment
rep
replicate
weight1
initial weight
feed
feed eaten
weight2
final weight
A study of the effect of initial weight and feed eaten on the weight - gaining ability of pigs with different feed treatments.
-The data are extracted from Ostle. It is not clear that 'replicate' is - actually a blocking replicate as opposed to a repeated measurement. - The original source document needs to be consulted.
-Crampton, EW and Hopkins, JW. (1934). - The Use of the Method of Partial Regression in the Analysis of Comparative Feeding Trial Data, Part II. - The Journal of Nutrition, 8, 113-123. - https://doi.org/10.1093/jn/8.3.329
-Bernard Ostle. Statistics in Research, Page 458. - https://archive.org/details/secondeditionsta001000mbp
-Goulden (1939). Methods of Statistical Analysis, 1st ed. Page 256-259. - https://archive.org/details/methodsofstatist031744mbp
-# \dontrun{
-
- library(agridat)
-
- data(crampton.pig)
- dat <- crampton.pig
-
- dat <- transform(dat, gain=weight2-weight1)
- libs(lattice)
- # Trt 4 looks best
- xyplot(gain ~ feed, dat, group=treatment, type=c('p','r'),
- auto.key=list(columns=5),
- xlab="Feed eaten", ylab="Weight gain", main="crampton.pig")
-
-
- # Basic Anova without covariates
- m1 <- lm(weight2 ~ treatment + rep, data=dat)
- anova(m1)
-#> Analysis of Variance Table
-#>
-#> Response: weight2
-#> Df Sum Sq Mean Sq F value Pr(>F)
-#> treatment 4 5741.7 1435.43 4.9662 0.002718 **
-#> rep 9 2487.2 276.36 0.9561 0.490957
-#> Residuals 36 10405.5 289.04
-#> ---
-#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
- # Add covariates
- m2 <- lm(weight2 ~ treatment + rep + weight1 + feed, data=dat)
- anova(m2)
-#> Analysis of Variance Table
-#>
-#> Response: weight2
-#> Df Sum Sq Mean Sq F value Pr(>F)
-#> treatment 4 5741.7 1435.4 13.9211 7.975e-07 ***
-#> rep 9 2487.2 276.4 2.6802 0.01805 *
-#> weight1 1 2724.2 2724.2 26.4201 1.131e-05 ***
-#> feed 1 4175.5 4175.5 40.4945 2.916e-07 ***
-#> Residuals 34 3505.8 103.1
-#> ---
-#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
- # Remove treatment, test this nested model for significant treatments
- m3 <- lm(weight2 ~ rep + weight1 + feed, data=dat)
- anova(m2,m3) # p-value .07. F=2.34 matches Ostle
-#> Analysis of Variance Table
-#>
-#> Model 1: weight2 ~ treatment + rep + weight1 + feed
-#> Model 2: weight2 ~ rep + weight1 + feed
-#> Res.Df RSS Df Sum of Sq F Pr(>F)
-#> 1 34 3505.8
-#> 2 38 4471.7 -4 -965.88 2.3418 0.07462 .
-#> ---
-#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
-# }
-
crossa.wheat.Rd
Wheat yields for 18 genotypes at 25 locations
-A data frame with 450 observations on the following 3 variables.
loc
location
locgroup
location group: Grp1-Grp2
gen
genotype
gengroup
genotype group: W1, W2, W3
yield
grain yield, tons/ha
Grain yield from the 8th Elite Selection Wheat Yield Trial to evaluate - 18 bread wheat genotypes at 25 locations in 15 countries.
-Cross et al. used this data to cluster loctions into 2 - mega-environments and clustered genotypes into 3 wheat clusters.
-Locations
Code | Country | Location | Latitude (N) | Elevation (m) |
AK | Algeria | El Khroub | 36 | 640 |
AL | Algeria | Setif | 36 | 1,023 |
BJ | Bangladesh | Joydebpur | 24 | 8 |
CA | Cyprus | Athalassa | 35 | 142 |
EG | Egypt | E1 Gemmeiza | 31 | 8 |
ES | Egypt | Sakha | 31 | 6 |
EB | Egypt | Beni-Suef | 29 | 28 |
IL | India | Ludhiana | 31 | 247 |
ID | India | Delhi | 29 | 228 |
JM | Jordan | Madaba | 36 | 785 |
KN | Kenya | Njoro | 0 | 2,165 |
MG | Mexico | Guanajuato | 21 | 1,765 |
MS | Mexico | Sonora | 27 | 38 |
MM | Mexico | Michoacfin | 20 | 1,517 |
NB | Nepal | Bhairahwa | 27 | 105 |
PI | Pakistan | Islamabad | 34 | 683 |
PA | Pakistan | Ayub | 32 | 213 |
SR | Saudi Arabia | Riyadh | 24 | 600 |
SG | Sudan | Gezira | 14 | 411 |
SE | Spain | Encinar | 38 | 20 |
SJ | Spain | Jerez | 37 | 180 |
SC | Spain | Cordoba | 38 | 110 |
SS | Spain | Sevilla | 38 | 20 |
TB | Tunisia | Beja | 37 | 150 |
TC | Thailand | Chiang Mai | 18 820 |
Used with permission of Jose' Crossa.
-Crossa, J and Fox, PN and Pfeiffer, WH and Rajaram, S and Gauch Jr, - HG. (1991). - AMMI adjustment for statistical analysis of an - international wheat yield trial. - Theoretical and Applied Genetics, 81, 27--37. - https://doi.org/10.1007/BF00226108
-Jean-Louis Laffont, Kevin Wright and Mohamed Hanafi (2013). - Genotype + Genotype x Block of Environments (GGB) Biplots. - Crop Science, 53, 2332-2341. - https://doi.org/10.2135/cropsci2013.03.0178
- --# \dontrun{ - - library(agridat) - data(crossa.wheat) - dat <- crossa.wheat - - # AMMI biplot. Fig 3 of Crossa et al. - libs(agricolae) - m1 <- with(dat, AMMI(E=loc, G=gen, R=1, Y=yield)) - b1 <- m1$biplot[,1:4] - b1$PC1 <- -1 * b1$PC1 # Flip vertical - plot(b1$yield, b1$PC1, cex=0.0, - text(b1$yield, b1$PC1, cex=.5, labels=row.names(b1),col="brown"), - main="crossa.wheat AMMI biplot", - xlab="Average yield", ylab="PC1", frame=TRUE) -- e1 <- subset(b1,type=="ENV") - arrows(mn, 0, - 0.95*(e1$yield - mn) + mn, 0.95*e1$PC1, - col= "brown", lwd=1.8,length=0.1) -- # GGB example - library(agridat) - data(crossa.wheat) - dat2 <- crossa.wheat - libs(gge) - # Specify env.group as column in data frame - m2 <- gge(dat2, yield~gen*loc, - env.group=locgroup, gen.group=gengroup, - scale=FALSE) - biplot(m2, main="crossa.wheat - GGB biplot") --# } -
crowder.seeds.Rd
Number of Orobanche seeds tested/germinated for two genotypes and - two treatments.
-plate
Factor for replication
gen
Factor for genotype with levels O73
, O75
extract
Factor for extract from bean
, cucumber
germ
Number of seeds that germinated
n
Total number of seeds tested
Egyptian broomrape, orobanche aegyptiaca is a parasitic plant - family. The plants have no chlorophyll and grow on the roots of other - plants. The seeds remain dormant in soil until certain compounds from - living plants stimulate germination.
-Two genotypes were studied in the experiment, O. aegyptiaca 73 - and O. aegyptiaca 75. The seeds were brushed with one of two - extracts prepared from either a bean plant or cucmber plant.
-The experimental design was a 2x2 factorial, each with 5 or 6 reps of - plates.
-Crowder, M.J., 1978. - Beta-binomial anova for proportions. - Appl. Statist., 27, 34-37. - https://doi.org/10.2307/2346223
-N. E. Breslow and D. G. Clayton. 1993. - Approximate inference in generalized linear mixed models. - Journal of the American Statistical Association, 88:9-25. - https://doi.org/10.2307/2290687
-Y. Lee and J. A. Nelder. 1996. - Hierarchical generalized linear models with discussion. - J. R. Statist. Soc. B, 58:619-678.
-cullis.earlygen.Rd
Early generation variety trial in wheat
-A data frame with 670 observations on the following 5 variables.
gen
genotype factor
row
row
col
column
entry
entry (genotype) number
yield
yield of each plot, kg/ha
weed
weed score
The data are from an unreplicated field - experiment conducted at Tullibigeal, New South Wales, Australia in - 1987-88. In each row, every 6th plot was the variety 'Kite'. Six - other standard varieties were randomly interspersed over the trial. - Each plot was 15m x 1.8m, "oriented with the longest side with rows".
-The 'weed' variable is a visual score on a 0 to 10 scale, - 0 = no weeds, 10 = 100 percent weeds.
-The replicated check variety was numbered 526. A further 6 replicated - commercially available varieties (numbered 527 to 532) were also - randomly assigned to plots with between 3 to 5 plots of each. The aim - of these trials is to identify and retain the top, say 20 percent of - lines for further testing. Cullis et al. (1989) presented an analysis - of early generation variety trials that included a one-dimensional - spatial analysis. Below, a two-dimensional spatial analysis is - presented.
-Note: The 'row' and 'col' variables are as in the VSN link below (switched - compared to the paper by Cullis et al.)
-Field width: 10 rows * 15 m = 150 m
-Field length: 67 plots * 1.8 m = 121 m
-The orientation is not certain, but the alternative orientation would - have a field roughly 20m x 1000m, which seems unlikely.
-Brian R. Cullis, Warwick J. Lill, John A. Fisher, Barbara J. Read and - Alan C. Gleeson (1989). - A New Procedure for the Analysis of Early Generation Variety Trials. - Journal of the Royal Statistical Society. Series C (Applied - Statistics), 38, 361-375. - https://doi.org/10.2307/2348066
-Unreplicated early generation variety trial in Wheat. - https://www.vsni.co.uk/software/asreml/htmlhelp/asreml/xwheat.htm
- --# \dontrun{ - - library(agridat) - data(cullis.earlygen) - dat <- cullis.earlygen - - # Show field layout of checks. Cullis Table 1. - dat$check <- ifelse(dat$entry < 8, dat$entry, NA) - libs(desplot) - desplot(dat, yield ~ col*row, - col="check", cex=0.5, flip=TRUE, aspect=121/150, # true aspect - main="cullis.earlygen (yield)") -- grays <- colorRampPalette(c("white","#252525")) - desplot(dat, weed ~ col*row, - at=0:6-0.5, col.regions=grays(7)[-1], - flip=TRUE, aspect=121/150, # true aspect - main="cullis.earlygen (weed)") -- libs(lattice) - bwplot(yield ~ as.character(weed), dat, - horizontal=FALSE, - xlab="Weed score", main="cullis.earlygen") -- # Moving Grid - libs(mvngGrAd) - shape <- list(c(1), - c(1), - c(1:4), - c(1:4)) - # sketchGrid(10,10,20,20,shapeCross=shape, layers=1, excludeCenter=TRUE) - m0 <- movingGrid(rows=dat$row, columns=dat$col, obs=dat$yield, - shapeCross=shape, layers=NULL) - dat$mov.avg <- fitted(m0) - - libs(asreml) # asreml4 - - # Start with the standard AR1xAR1 analysis - dat <- transform(dat, xf=factor(col), yf=factor(row)) - dat <- dat[order(dat$xf, dat$yf),] - m2 <- asreml(yield ~ weed, data=dat, random= ~gen, - resid = ~ ar1(xf):ar1(yf)) -#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:08:12 2021 -#> LogLik Sigma2 DF wall cpu -#> 1 -4277.990 128496.8 666 17:08:12 0.0 -#> 2 -4266.138 120973.9 666 17:08:12 0.0 -#> 3 -4253.062 107781.1 666 17:08:12 0.0 -#> 4 -4241.333 87649.8 666 17:08:12 0.0 -#> 5 -4235.061 79226.3 666 17:08:12 0.0 -#> 6 -4233.865 81681.5 666 17:08:12 0.0 -#> 7 -4233.681 82608.2 666 17:08:12 0.0 -#> 8 -4233.652 82933.6 666 17:08:12 0.0 -#> 9 -4233.648 83050.0 666 17:08:12 0.0 -#> 10 -4233.647 83094.2 666 17:08:12 0.0#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:08:12 2021 -#> LogLik Sigma2 DF wall cpu -#> 1 -4225.800 82257.80 665 17:08:12 0.0 -#> 2 -4225.712 80790.06 665 17:08:12 0.0 -#> 3 -4225.633 77826.53 665 17:08:12 0.0 -#> 4 -4225.631 77839.46 665 17:08:12 0.0#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:08:12 2021 -#> LogLik Sigma2 DF wall cpu -#> 1 -4224.105 75223.42 665 17:08:12 0.0 -#> 2 -4222.648 68685.54 665 17:08:12 0.0 -#> 3 -4221.139 61207.50 665 17:08:12 0.0 -#> 4 -4220.317 55446.36 665 17:08:12 0.0 -#> 5 -4220.264 54939.35 665 17:08:12 0.0 -#> 6 -4220.261 54773.48 665 17:08:12 0.0#> effect component std.error z.ratio bound %ch -#> gen 73850 10410 7.1 P 0 -#> units 30450 8064 3.8 P 0.4 -#> xf:yf!R 54770 10630 5.2 P 0 -#> xf:yf!xf!cor 0.38 0.115 3.3 U 0 -#> xf:yf!yf!cor 0.84 0.045 19 U 0.1## effect component std.error z.ratio bound - ## gen 73780 10420 7.1 P 0 - ## units 30440 8073 3.8 P 0.1 - ## xf:yf(R) 54730 10630 5.1 P 0 - ## xf:yf!xf!cor 0.38 0.115 3.3 U 0 - ## xf:yf!yf!cor 0.84 0.045 19 U 0 - - ## # Predictions from models m3 and m4 are non-estimable. Why? - ## # Use model m2 for predictions - ## predict(m2, classify="gen")$pvals - ## ## gen predicted.value std.error status - ## ## 1 Banks 2723.534 93.14719 Estimable - ## ## 2 Eno008 2981.056 162.85241 Estimable - ## ## 3 Eno009 2978.008 161.57129 Estimable - ## ## 4 Eno010 2821.399 153.96943 Estimable - ## ## 5 Eno011 2991.612 161.53507 Estimable - - - ## # Compare AR1 with Moving Grid - ## dat$ar1 <- fitted(m2) - ## head(dat[ , c('yield','ar1','mov.avg')]) - ## ## yield ar1 mg - ## ## 1 2652 2467.980 2531.998 - ## ## 11 3394 3071.681 3052.160 - ## ## 21 3148 2826.188 2807.031 - ## ## 31 3426 3026.985 3183.649 - ## ## 41 3555 3070.102 3195.910 - ## ## 51 3453 3006.352 3510.511 - ## pairs(dat[ , c('yield','ar1','mg')]) - -# } -
damesa.maize.Rd
Incomplete-block experiment of maize in Ethiopia.
-data("damesa.maize")
A data frame with 264 observations on the following 8 variables.
site
site, 4 levels
rep
replicate, 3 levels
block
incomplete block
plot
plot number
gen
genotype, 22 levels
row
row ordinate
col
column ordinate
yield
yield, t/ha
An experiment harvested in 2012, evaluating drought-tolerant maize - hybrids at 4 sites in Ethiopia. - At each site, an incomplete-block design was used.
-Damesa et al use this data to compare single-stage and two-stage - analyses.
-Tigist Mideksa Damesa, Jens MĂśhring, Mosisa Worku, Hans-Peter Piepho (2017). - One Step at a Time: Stage-Wise Analysis of a Series of Experiments. - Agronomy J, 109, 845-857. - https://doi.org/10.2134/agronj2016.07.0395
-None
-# \dontrun{
- library(agridat)
- libs(desplot)
- desplot(damesa.maize,
- yield ~ col*row|site,
- main="damesa.maize",
- out1=rep, out2=block, num=gen, cex=1)
-
-
- if(0){
- # Fit the single-stage model in Damesa
- lib(asreml)
- m0 <- asreml(data=damesa.maize,
- fixed = yield ~ gen,
- random = ~ site + gen:site + at(site):rep/block,
- residual = ~ dsum( ~ units|site) )
- lucid::vc(m0) # match Damesa table 1 column 3
- ## effect component std.error z.ratio bound
- ## at(site, S1):rep 0.08819 0.1814 0.49 P 0
- ## at(site, S2):rep 1.383 1.426 0.97 P 0
- ## at(site, S3):rep 0 NA NA B 0
- ## at(site, S4):rep 0.01442 0.02602 0.55 P 0
- ## site 10.45 8.604 1.2 P 0.1
- ## gen:site 0.1054 0.05905 1.8 P 0.1
- ## at(site, S1):rep:block 0.3312 0.3341 0.99 P 0
- ## at(site, S2):rep:block 0.4747 0.1633 2.9 P 0
- ## at(site, S3):rep:block 0 NA NA B 0
- ## at(site, S4):rep:block 0.06954 0.04264 1.6 P 0
- ## site_S1!R 1.346 0.3768 3.6 P 0
- ## site_S2!R 0.1936 0.06628 2.9 P 0
- ## site_S3!R 1.153 0.2349 4.9 P 0
- ## site_S4!R 0.1112 0.03665 3 P 0
- }
-# }
-
darwin.maize.Rd
Darwin's maize data of crossed/inbred plant heights.
-A data frame with 30 observations on the following 4 variables.
pot
Pot factor, 4 levels
pair
Pair factor, 12 levels
type
Type factor, self-pollinated, cross-pollinated
height
Height, in inches (measured to 1/8 inch)
Charles Darwin, in 1876, reported data from an experiment that he had - conducted on the heights of corn plants. The - seeds came from the same parents, but some seeds were produced from - self-fertilized parents and some seeds were produced from - cross-fertilized parents. Pairs of seeds were planted in pots. - Darwin hypothesized that cross-fertilization produced produced more - robust and vigorous offspring.
-Darwin wrote, "I long doubted whether it was worth while to give the - measurements of each separate plant, but have decided to do so, in - order that it may be seen that the superiority of the crossed plants - over the self-fertilised, does not commonly depend on the presence of - two or three extra fine plants on the one side, or of a few very poor - plants on the other side. Although several observers have insisted in - general terms on the offspring from intercrossed varieties being - superior to either parent-form, no precise measurements have been - given;* and I have met with no observations on the effects of crossing - and self-fertilising the individuals of the same variety. Moreover, - experiments of this kind require so much time--mine having been - continued during eleven years--that they are not likely soon to be - repeated."
-Darwin asked his cousin Francis Galton for help in understanding the - data. Galton did not have modern statistical methods to approach - the problem and said, "I doubt, after making many tests, whether it is - possible to derive useful conclusions from these few observations. We - ought to have at least 50 plants in each case, in order to be in a - position to deduce fair results".
-Later, R. A. Fisher used Darwin's data in a book about design of - experiments and showed that a t-test exhibits a significant difference - between the two groups.
-Darwin, C. R. 1876. The effects of cross and self fertilisation in the - vegetable kingdom. London: John Murray. Page 16. - https://darwin-online.org.uk/converted/published/1881_Worms_F1357/1876_CrossandSelfFertilisation_F1249/1876_CrossandSelfFertilisation_F1249.html
-R. A. Fisher, (1935) The Design of Experiments, Oliver and Boyd. Page 30.
- ---library(agridat) - -data(darwin.maize) -dat <- darwin.maize - -# Compare self-pollination with cross-pollination -libs(lattice) -bwplot(height~type, dat, main="darwin.maize") -#>#> -#> One Sample t-test -#> -#> data: d2$diff -#> t = 2.148, df = 14, p-value = 0.0497 -#> alternative hypothesis: true mean is not equal to 0 -#> 95 percent confidence interval: -#> 0.003899165 5.229434169 -#> sample estimates: -#> mean of x -#> 2.616667 -#>## One Sample t-test - ## t = 2.148, df = 14, p-value = 0.0497 - ## alternative hypothesis: true mean is not equal to 0 - ## 95 percent confidence interval: - ## 0.003899165 5.229434169 -# } - - -
dasilva.maize.Rd
Multi-environment trial of maize with 3 reps.
-data("dasilva.maize")- - -
A data frame with 1485 observations on the following 4 variables.
env
environment
rep
replicate block, 3 per env
gen
genotype
yield
yield (tons/hectare)
Each location had 3 blocks. Block numbers are unique across - environments.
-NOTE! The environment codes in the supplemental data file of da Silva - 2015 do not quite match the environment codes of the paper, but are - mostly off by 1.
-DaSilva Table 1 has a footnote "Machado et al 2007". This reference - appears to be:
-Machado et al. - Estabilidade de producao de hibridos simples e duplos de milhooriundos - de um mesmo conjunto genico. - Bragantia, 67, no 3. www.scielo.br/pdf/brag/v67n3/a10v67n3.pdf
-In DaSilva Table 1, the mean of E1 is 10.803. This appears to be a - copy of the mean from row 1 of Table 1 in Machado. Using the - supplemental data from this paper, the correct mean is 8.685448.
-A Bayesian Shrinkage Approach for AMMI Models. - Carlos Pereira da Silva, Luciano Antonio de Oliveira, Joel Jorge - Nuvunga, Andrezza Kellen Alves Pamplona, Marcio Balestre. - Plos One. Supplemental material. - https://doi.org/10.1371/journal.pone.0131414
-Used via Creative Commons Attribution License.
-J.J. Nuvunga, L.A. Oliveira, A.K.A. Pamplona, C.P. Silva, R.R. Lima - and M. Balestre. - Factor analysis using mixed models of multi-environment trials with - different levels of unbalancing. - Genet. Mol. Res. 14.
- ---library(agridat) -data(dasilva.maize) -dat <- dasilva.maize - -# Try to match Table 1 of da Silva 2015. -# aggregate(yield ~ env, data=dat, FUN=mean) -## env yield -## 1 E1 6.211817 # match E2 in Table 1 -## 2 E2 4.549104 # E3 -## 3 E3 5.152254 # E4 -## 4 E4 6.245904 # E5 -## 5 E5 8.084609 # E6 -## 6 E6 13.191890 # E7 -## 7 E7 8.895721 # E8 -## 8 E8 8.685448 -## 9 E9 8.737089 # E9 - -# Unable to match CVs in Table 2, but who knows what they used -# for residual variance. -# aggregate(yield ~ env, data=dat, FUN=function(x) 100*sd(x)/mean(x)) - -# Match DaSilva supplement 2, ANOVA -# m1 <- aov(yield ~ env + gen + rep:env + gen:env, dat) -# anova(m1) -## Response: yield -## Df Sum Sq Mean Sq F value Pr(>F) -## env 8 8994.2 1124.28 964.1083 < 2.2e-16 *** -## gen 54 593.5 10.99 9.4247 < 2.2e-16 *** -## env:rep 18 57.5 3.19 2.7390 0.0001274 *** -## env:gen 432 938.1 2.17 1.8622 1.825e-15 *** -## Residuals 972 1133.5 1.17 - -
dasilva.soybean.uniformity.Rd
Uniformity trial of soybean in Brazil, 1970.
-data("dasilva.soybean.uniformity")
A data frame with 1152 observations on the following 3 variables.
row
row
col
column
yield
yield, grams/plot
Field length: 48 rows * .6 m = 28.8 m
-Field width: 24 columns * .6 m = 14.4 m
-Enedino Correa da Silva. (1974). - Estudo do tamanho e forma de parcelas para experimentos de soja (Plot size and shape for soybean yield trials). - Pesquisa Agropecuaria Brasileira, Serie Agronomia, 9, 49-59. Table 3, - page 52-53. - https://seer.sct.embrapa.br/index.php/pab/article/view/17250
-None
-davidian.soybean.Rd
Growth of soybean varieties in 3 years
-data("davidian.soybean")- - -
A data frame with 412 observations on the following 5 variables.
plot
plot code
variety
variety, F or P
year
1988-1990
day
days after planting
weight
weight of soybean leaves
This experiment compared the growth patterns of two genotypes of soybean - varieties: F=Forrest (commercial variety) and P=Plant Introduction - number 416937 (experimental variety).
-Data were collected in 3 consecutive years.
-At the start of each growing season, 16 plots were seeded (8 for each - variety). Data were collected approximately weekly. At each timepoint, - six plants were randomly selected from each plot. The leaves from these - 6 plants were weighed, and average leaf weight per plant was - reported. (We assume that the data collection is destructive and - different plants are sampled at each date).
-Note: this data is the same as the "nlme::Soybean" data.
-Marie Davidian and D. M. Giltinan, (1995). - Nonlinear Models for Repeated Measurement Data. - Chapman and Hall, London.
-Electronic version retrieved from - https://www4.stat.ncsu.edu/~davidian/data/soybean.dat
-Pinheiro, J. C. and Bates, D. M. (2000). - Mixed-Effects Models in S and S-PLUS. - Springer, New York.
- --# \dontrun{ - - library(agridat) - data(davidian.soybean) - dat <- davidian.soybean - dat$year <- factor(dat$year) - - libs(lattice) - xyplot(weight ~ day|variety*year, dat, - group=plot, type='l', - main="davidian.soybean")- - # The only way to keep your sanity with nlme is to use groupedData objects - # Well, maybe not. When I use "devtools::run_examples", - # the "groupedData" function creates a dataframe with/within(?) an - # environment, and then "nlsList" cannot find datg, even though - # ls() shows datg is visible and head(datg) is fine. - # Also works fine in interactive mode. It is driving me insane. - # reid.grasses has the same problem - # Use if(0){} to block this code from running. - if(0){ - libs(nlme) - datg <- groupedData(weight ~ day|plot, dat) - # separate fixed-effect model for each plot - # 1988P6 gives unusual estimates - m1 <- nlsList(SSlogis, data=datg, - subset = plot != "1988P6") - # plot(m1) # seems heterogeneous - plot(intervals(m1), layout=c(3,1)) # clear year,variety effects in Asym - - # A = maximum, B = time of half A = steepness of curve - # C = sharpness of curve (smaller = sharper curve) - - # switch to mixed effects - m2 <- nlme(weight ~ A / (1+exp(-(day-B)/C)), - data=datg, - fixed=list(A ~ 1, B ~ 1, C ~ 1), - random = A +B +C ~ 1, - start=list(fixed = c(17,52,7.5))) # no list! - - # add covariates for A,B,C effects, correlation, weights - # not necessarily best model, but it shows the syntax - m3 <- nlme(weight ~ A / (1+exp(-(day-B)/C)), - data=datg, - fixed=list(A ~ variety + year, - B ~ year, - C ~ year), - random = A +B +C ~ 1, - start=list(fixed= c(19,0,0,0, - 55,0,0, - 8,0,0)), - correlation = corAR1(form = ~ 1|plot), - weights=varPower(), # really helps - control=list(mxMaxIter=200)) - - plot(augPred(m3), layout=c(8,6), - main="davidian.soybean - model 3") - } # end if(0) -# }
davies.pasture.uniformity.Rd
Uniformity trial of pasture in Australia.
-data("davies.pasture.uniformity")- - -
A data frame with 760 observations on the following 3 variables.
row
row
col
column
yield
yield per plot, grams
Conducted at the Waite Agricultural Research Institute in 1928. A rectangle 250 x 200 links was selected, divided into 1000 plots measuring 10 x 5 links, that is 1/2000th acre. - Plots were hand harvested for herbage and air-dried. Cutting began Tue, 25 Sep and ended Sat, 29 Sep, by which time 760 plots had been harvested. Rain fell, harvesting ceased.
-The minimum recommended plot size is 150 square links. The optimum recommended plot size is 450 square links, 5 x 90 links in size.
-Note, there were 4 digits that were hard to read in the original document. Best estimates of these digits were used for the yields of the affects plots. The yields were watermarked with an extra .01 added.
-The botanical composition of species clearly influenced the total herbage.
-Field length: 40 plots * 5 links = 200 links
-Field width: 19 plots * 10 links = 190 links
-J. Griffiths Davies (1931). - The Experimental Error of the Yield from Small Plots of Natural Pasture. - Council for Scientific and Industrial Research (Aust.) Bulletin 48. - Table 1.
-None
- --# \dontrun{ - -library(agridat) - - data(davies.pasture.uniformity) - dat <- davies.pasture.uniformity - - # range(dat$yield) # match Davies - # mean(dat$yield) # 227.77, Davies has 221.7 - # sd(dat$yield)/mean(dat$yield) # 33.9, Davies has 32.5 - - # libs(lattice) - # qqmath( ~ yield, dat) # clearly non-normal, skewed right - - libs(desplot) - desplot(dat, yield ~ col*row, - flip=TRUE, aspect=(40*5)/(19*10), # true aspect - main="davies.pasture.uniformity")-# } -
day.wheat.uniformity.Rd
Uniformity trial of wheat in 1903 in Missouri.
-data("day.wheat.uniformity")- - -
A data frame with 3090 observations on the following 4 variables.
row
row
col
col
grain
grain weight, grams
straw
straw weight, grams
These data are from the Shelbina field of the Missouri Agricultural - Experiment Station. The field (plat) was about 1/4 acre in area and - apparently uniform throughout. In the fall of 1912, wheat was drilled - in rows 8 inches apart, each row 155 feet long. The wheat was - harvested in June, in 5-foot segments. The gross weight and the grain - weight was measured, the straw weight was calculated by subtraction.
-Field width: 31 series * 5 feet = 155 feet
-Field length: 100 rows, 8 inches apart = 66.66 feet
-James Westbay Day (1916). - The relation of size, shape, and number of replications of plats to - probable error in field experimentation. - Dissertation, University of Missouri. Table 1, page 22. - https://hdl.handle.net/10355/56391
-James W. Day (1920). - The relation of size, shape, and number of replications of plats to - probable error in field experimentation. - Agronomy Journal, 12, 100-105. - https://doi.org/10.2134/agronj1920.00021962001200030002x
- --# \dontrun{ - -library(agridat) -data(day.wheat.uniformity) -dat <- day.wheat.uniformity - -libs(desplot) -desplot(dat, grain~col*row, - flip=TRUE, aspect=(100*8)/(155*12), # true aspect - main="day.wheat.uniformity - grain yield") --# similar to Day table IV -libs(lattice) -xyplot(grain~straw, data=dat, main="day.wheat.uniformity", type=c('p','r')) -# cor(dat$grain, dat$straw) # .9498 # Day calculated 0.9416 - -libs(desplot) -desplot(dat, straw~col*row, - flip=TRUE, aspect=(100*8)/(155*12), # true aspect - main="day.wheat.uniformity - straw yield") --# Day fig 2 -coldat <- aggregate(grain~col, dat, sum) -xyplot(grain ~ col, coldat, type='l', ylim=c(2500,6500)) -dat$rowgroup <- round((dat$row +1)/3,0) -rowdat <- aggregate(grain~rowgroup, dat, sum) -xyplot(grain ~ rowgroup, rowdat, type='l', ylim=c(2500,6500)) --# } -
denis.missing.Rd
Grain yield was measured on 5 genotypes in 26 environments. Missing - values were non-random, but structured.
-env
environment, 26 levels
gen
genotype factor, 5 levels
yield
yield
Used with permission of Jean-Baptists Denis.
-Denis, J. B. and C P Baril, 1992, Sophisticated models with numerous missing - values: The multiplicative interaction model as an example. - Biul. Oceny Odmian, 24--25, 7--31.
-H P Piepho, (1999) Stability analysis using the SAS system, - Agron Journal, 91, 154--160. - https://doi.og/10.2134/agronj1999.00021962009100010024x
- --# \dontrun{ - -library(agridat) -data(denis.missing) -dat <- denis.missing - -# view missingness structure -libs(reshape2) -acast(dat, env~gen, value.var='yield') -#> G1 G2 G3 G4 G5 -#> E01 NA NA NA 66 49 -#> E02 NA NA NA 59 40 -#> E03 NA NA NA 67 57 -#> E04 NA NA NA 55 53 -#> E05 NA NA 75 85 74 -#> E06 NA NA 72 77 71 -#> E07 NA NA 55 51 46 -#> E08 NA NA 52 49 44 -#> E09 NA NA 79 80 62 -#> E10 63 64 72 65 51 -#> E11 72 82 83 88 72 -#> E12 69 76 78 86 70 -#> E13 55 53 40 63 60 -#> E14 52 59 54 53 51 -#> E15 67 62 65 68 65 -#> E16 63 74 73 63 59 -#> E17 55 54 NA 52 51 -#> E18 66 66 NA NA 66 -#> E19 57 54 NA NA NA -#> E20 69 64 NA NA NA -#> E21 73 69 NA NA NA -#> E22 68 66 NA NA NA -#> E23 64 79 NA NA NA -#> E24 67 66 NA NA NA -#> E25 70 66 NA NA NA -#> E26 70 65 NA 60 NA- -libs(lattice) -redblue <- colorRampPalette(c("firebrick", "lightgray", "#375997")) -levelplot(yield ~ gen*env, data=dat, - col.regions=redblue, - main="denis.missing - incidence heatmap") --# stability variance (Table 3 in Piepho) -libs(nlme) -m1 <- lme(yield ~ -1 + gen, data=dat, random= ~ 1|env, - weights = varIdent(form= ~ 1|gen), - na.action=na.omit) -svar <- m1$sigma^2 * c(1, coef(m1$modelStruct$varStruct, unc = FALSE))^2 -round(svar, 2) -#> G5 G3 G1 G2 -#> 39.25 22.95 54.36 12.17 23.77## G5 G3 G1 G2 -## 39.25 22.95 54.36 12.17 23.77 - -# } -
denis.ryegrass.Rd
Plant strength of perennial ryegrass in France for 21 genotypes at 7 - locations.
-A data frame with 147 observations on the following 3 variables.
gen
genotype, 21 levels
loc
location, 7 levels
strength
average plant strength * 100
INRA conducted a breeding trial in western France with 21 genotypes at - 7 locations. The observed data is 'strength' averaged over 7-10 - plants per plot and three plots per location (after adjusting for - blocking effects). Each plant was scored on a scale 0-9.
-The original data had a value of 86.0 for genotype G1 at location - L4--this was replaced by an additive estimated value of 361.2 as in - Gower and Hand (1996).
-Jean-Baptiste Denis and John C. Gower, 1996. - Asymptotic confidence regions for biadditive models: - interpreting genotype-environment interaction, - Applied Statistics, 45, 479-493. - https://doi.org/10.2307/2986069
-Gower, J.C. and Hand, D.J., 1996. Biplots. - Chapman and Hall.
- --# \dontrun{ - -library(agridat) -data(denis.ryegrass) -dat <- denis.ryegrass - -# biplots (without ellipses) similar to Denis figure 1 -libs(gge) -m1 <- gge(dat, strength ~ gen*loc, scale=FALSE) -biplot(m1, main="denis.ryegrass biplot") --# } -
depalluel.sheep.Rd
Latin square of four breeds of sheep with four diets
-data("depalluel.sheep")- - -
A data frame with 32 observations on the following 5 variables.
food
diet
animal
animal number
breed
sheep breed
weight
weight, pounds
date
months after start
This may be the earliest known Latin Square experiment.
-Four sheep from each of four breeds were randomized to four feeds and - four slaughter dates.
-Sheep that eat roots will eat more than sheep eating corn, but each - acre of land produces more roots than corn.
-de Palleuel said: In short, by adopting the use of roots, instead of - corn, for the fattening of all sorts of cattle, the farmers in the - neighborhood of the capital will not only gain great profit - themselves, but will also very much benefit the public by supplying - this great city with resources, and preventing the sudden rise of meat - in her markets, which is often considerable.
-M. Crette de Palluel (1788). - On the advantage and economy of feeding sheep in the house with roots. - Annals of Agriculture, 14, 133-139. - https://books.google.com/books?id=LXIqAAAAYAAJ&pg=PA133
-None
- ---library(agridat) - -data(depalluel.sheep) -dat <- depalluel.sheep - -# Not the best view...weight gain is large in the first month, then slows down -# and the linear line hides this fact -libs(lattice) -xyplot(weight ~ date|food, dat, group=animal, type='l', auto.key=list(columns=4), - xlab="Months since start", - main="depalluel.sheep")
devries.pine.Rd
Graeco-Latin Square experiment in pine
-data("devries.pine")- - -
A data frame with 36 observations on the following 6 variables.
block
block
row
row
col
column
spacing
spacing treatment
thinning
thinning treatment
volume
stem volume in m^3/ha
growth
annual stem volume increment m^3/ha at age 11
Experiment conducted on Caribbean Pine at Coebiti in Surinam (Long 55 - 28 30 W, Lat 5 18 5 N). Land was cleared in Jan 1965 and planted May - 1965. Each experimental plot was 60m x 60m. Roads 10 m wide run - between the rows. Each block is thus 180m wide and 200m deep. Data - were collected only on 40m x 40m plots in the center of each - experimental unit. Plots were thinned in 1972 and 1975. - The two treatment factors (spacing, thinning) were assigned in a - Graeco-Latin Square design.
-Spacing: A=2.5, B=3, C=3.5. Thinning: Z=low, M=medium, S=heavy.
-Field width: 4 blocks x 180 m = 720 m
-Field length: 1 block x 200 m = 200 m.
-P.G. De Vries, J.W. Hildebrand, N.R. De Graaf. (1978). - Analysis of 11 years growth of carribbean pine in a replicated - Graeco-Latin square spacing-thinning experiment in Surinam. Page 46, 51. - https://edepot.wur.nl/287590
-None
- --# \dontrun{ - - library(agridat) - data(devries.pine) - dat <- devries.pine - - libs(desplot) - desplot(dat, volume ~ col*row, - main="devries.pine - expt design and tree volume", - col=spacing, num=thinning, cex=1, out1=block, aspect=200/720) -- # ANOVA matches appendix 5 of DeVries - m1 <- aov(volume ~ block + spacing + thinning + block:factor(row) + - block:factor(col), data=dat) - anova(m1) -#> Analysis of Variance Table -#> -#> Response: volume -#> Df Sum Sq Mean Sq F value Pr(>F) -#> block 3 5191.8 1730.6 20.4218 5.249e-05 *** -#> spacing 2 16063.7 8031.9 94.7790 4.453e-08 *** -#> thinning 2 320.3 160.1 1.8896 0.1935 -#> block:factor(row) 8 945.0 118.1 1.3939 0.2913 -#> block:factor(col) 8 784.7 98.1 1.1575 0.3953 -#> Residuals 12 1016.9 84.7 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1-# } -
digby.jointregression.Rd
Yield of 10 spring wheat varieties for 17 locations in 1976.
-A data frame with 134 observations on the following 3 variables.
gen
genotype, 10 levels
env
environment, 17 levels
yield
yield (t/ha)
Yield of 10 spring wheat varieties for 17 locations in 1976.
-Used to illustrate modified joint regression.
-Digby, P.G.N. (1979). Modified joint regression analysis for - incomplete variety x environment data. - Journal of Agricultural Science, 93, 81-86. - https://doi.org/10.1017/S0021859600086159
-Hans-Pieter Piepho, 1997. - Analyzing Genotype-Environment Data by Mixed-Models with - Multiplicative Terms. Biometrics, 53, 761-766. - https://doi.org/10.2307/2533976
-RJOINT procedure in GenStat. - https://www.vsni.co.uk/software/genstat/htmlhelp/server/RJOINT.htm
- --# \dontrun{ - - library(agridat) - data(digby.jointregression) - dat <- digby.jointregression - - # Simple gen means, ignoring unbalanced data. - # Matches Digby table 2, Unadjusted Mean - round(tapply(dat$yield, dat$gen, mean),3) -#> G01 G02 G03 G04 G05 G06 G07 G08 G09 G10 -#> 3.272 3.269 4.040 3.712 3.641 3.144 3.181 2.971 3.697 3.172- # Two-way model. Matches Digby table 2, Fitting Constants - m00 <- lm(yield ~ 0 + gen + env, dat) - round(coef(m00)[1:10]-2.756078+3.272,3) # Adjust intercept -#> genG01 genG02 genG03 genG04 genG05 genG06 genG07 genG08 genG09 genG10 -#> 3.272 3.268 4.051 3.724 3.641 3.195 3.232 3.268 3.749 3.179# genG01 genG02 genG03 genG04 genG05 genG06 genG07 genG08 genG09 genG10 - # 3.272 3.268 4.051 3.724 3.641 3.195 3.232 3.268 3.749 3.179 - - n.gen <- nlevels(dat$gen) - n.env <- nlevels(dat$env) - - # Estimate theta (env eff) - m0 <- lm(yield ~ -1 + env + gen, dat) - thetas <- coef(m0)[1:n.env] - thetas <- thetas-mean(thetas) # center env effects - # Add env effects to the data - dat$theta <- thetas[match(paste("env",dat$env,sep=""), names(thetas))] - - # Initialize beta (gen slopes) at 1 - betas <- rep(1, n.gen) - - done <- FALSE - while(!done){ - - betas0 <- betas - - # M1: Fix thetas (env effects), estimate beta (gen slope) - m1 <- lm(yield ~ -1 + gen + gen:theta, data=dat) - betas <- coef(m1)[-c(1:n.gen)] - dat$beta <- betas[match(paste("gen",dat$gen,":theta",sep=""), names(betas))] - # print(betas) - - # M2: Fix betas (gen slopes), estimate theta (env slope) - m2 <- lm(yield ~ env:beta + gen -1, data=dat) - thetas <- coef(m2)[-c(1:n.gen)] - thetas[is.na(thetas)] <- 0 # Change last coefficient from NA to 0 - dat$theta <- thetas[match(paste("env",dat$env,":beta",sep=""), names(thetas))] - # print(thetas) - - # Check convergence - chg <- sum(((betas-betas0)/betas0)^2) - cat("Relative change in betas",chg,"\n") - if(chg < .0001) done <- TRUE - - } -#> Relative change in betas 0.1617878 -#> Relative change in betas 0.0002241629 -#> Relative change in betas 1.371073e-06- libs(lattice) - xyplot(yield ~ theta|gen, data=dat, xlab="theta (environment effect)", - main="digby.jointregression - stability plot") -- # Dibgy Table 2, modified joint regression - - # Genotype sensitivities (slopes) - round(betas,3) # Match Digby table 2, Modified joint regression sensitivity -#> genG01:theta genG02:theta genG03:theta genG04:theta genG05:theta genG06:theta -#> 0.953 0.739 1.082 1.024 1.142 0.877 -#> genG07:theta genG08:theta genG09:theta genG10:theta -#> 1.089 0.914 1.196 0.947# genG01 genG02 genG03 genG04 genG05 genG06 genG07 genG08 genG09 genG10 - # 0.953 0.739 1.082 1.024 1.142 0.877 1.089 0.914 1.196 0.947 - - # Env effects. Match Digby table 3, Modified joint reg - round(thetas,3)+1.164-.515 # Adjust intercept to match -#> envE01:beta envE02:beta envE03:beta envE04:beta envE05:beta envE06:beta -#> -0.515 -0.578 -0.990 -1.186 1.811 1.696 -#> envE07:beta envE08:beta envE09:beta envE10:beta envE11:beta envE12:beta -#> -1.096 0.046 0.057 0.825 -0.576 1.568 -#> envE13:beta envE14:beta envE15:beta envE16:beta envE17:beta -#> -0.779 -0.692 0.836 -1.080 0.649# envE01 envE02 envE03 envE04 envE05 envE06 envE07 envE08 envE09 envE10 - # -0.515 -0.578 -0.990 -1.186 1.811 1.696 -1.096 0.046 0.057 0.825 - # envE11 envE12 envE13 envE14 envE15 envE16 envE17 - # -0.576 1.568 -0.779 -0.692 0.836 -1.080 0.649 - - # Using 'gnm' gives similar results. - # libs(gnm) - # m3 <- gnm(yield ~ gen + Mult(gen,env), data=dat) # slopes negated - # round(coef(m3)[11:20],3) - - # Using 'mumm' gives similar results, though gen is random and the - # coeffecients are shrunk toward 0 a bit. - libs(mumm) -#> -#>#>-#> -#>#> $`mp gen:env` -#> G01 G02 G03 G04 G05 G06 -#> -0.030502997 -0.145460728 0.038892126 0.008834426 0.076630297 -0.058095240 -#> G07 G08 G09 G10 -#> 0.052884673 -0.003004166 0.091762826 -0.031937867 -#>#> G01 G02 G03 G04 G05 G06 G07 G08 G09 G10 -#> 0.97 0.85 1.04 1.01 1.08 0.94 1.05 1.00 1.09 0.97-# } -
diggle.cow.Rd
Bodyweight of cows in a 2-by-2 factorial experiment.
-A data frame with 598 observations on the following 5 variables.
animal
Animal factor, 26 levels
iron
Factor with levels Iron
, NoIron
infect
Factor levels Infected
, NonInfected
weight
Weight in (rounded to nearest 5) kilograms
day
Days after birth
Diggle et al., 1994, pp. 100-101, consider an experiment that studied - how iron dosing (none/standard) and micro-organism (infected or - non-infected) influence the weight of cows.
-Twenty-eight cows were allocated in a 2-by-2 factorial design - with these factors. Some calves were inoculated with tuberculosis at six - weeks of age. At six months, some calves were maintained on - supplemental iron diet for a further 27 months.
-The weight of each animal was measured at 23 times, - unequally spaced. One cow died during the study and data for another - cow was removed.
-Diggle, P. J., Liang, K.-Y., & Zeger, S. L. (1994). - Analysis of Longitudinal Data. Page 100-101.
-Retrieved Oct 2011 from - https://www.maths.lancs.ac.uk/~diggle/lda/Datasets/
-Lepper, AWD and Lewis, VM, 1989. Effects of altered dietary iron - intake in Mycobacterium paratuberculosis-infected dairy cattle: - sequential observations on growth, iron and copper metabolism and - development of paratuberculosis. - Research in veterinary science, 46, 289--296.
-Arunas P. Verbyla and Brian R. Cullis and Michael G. Kenward - and Sue J. Welham, (1999), The analysis of designed experiments and - longitudinal data by using smoothing splines. Appl. Statist., - 48, 269--311.
-SAS/STAT(R) 9.2 User's Guide, Second Edition. - https://support.sas.com/documentation/cdl/en/statug/63033/HTML/default/viewer.htm#statug_glimmix_sect018.htm
- --# \dontrun{ - - library(agridat) - data(diggle.cow) - dat <- diggle.cow - - # Figure 1 of Verbyla 1999 - libs(latticeExtra) - useOuterStrips(xyplot(weight ~ day|iron*infect, dat, group=animal, - type='b', cex=.5, - main="diggle.cow")) -- # Scaling - dat <- transform(dat, time = (day-122)/10) - - - libs(asreml) # asreml4 - ## libs(latticeExtra) - - ## # Smooth for each animal. No treatment effects. Similar to SAS Output 38.6.9 - - m1 <- asreml(weight ~ 1 + lin(time) + animal + animal:lin(time), data=dat, - random = ~ animal:spl(time)) -#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:08:14 2021 -#> Spline: design points closer than 0.00659 have been merged. -#> LogLik Sigma2 DF wall cpu -#> 1 -1685.373 89.4521 545 17:08:14 0.0 -#> 2 -1662.656 79.4217 545 17:08:14 0.0 -#> 3 -1633.382 66.9151 545 17:08:14 0.0 -#> 4 -1607.650 55.6989 545 17:08:14 0.0 -#> 5 -1590.169 46.6521 545 17:08:14 0.0 -#> 6 -1584.009 41.6081 545 17:08:14 0.0 -#> 7 -1582.756 39.2910 545 17:08:14 0.0 -#> 8 -1582.631 38.5276 545 17:08:14 0.0 -#> 9 -1582.625 38.3532 545 17:08:14 0.0 -#> 10 -1582.625 38.3205 545 17:08:14 0.0p1 <- predict(m1, data=dat, classify="animal:time", - design.points=list(time=seq(0,65.9, length=50))) -#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:08:14 2021 -#> Spline: design points closer than 0.00659 have been merged. -#> LogLik Sigma2 DF wall cpu -#> 1 -1582.625 38.3147 545 17:08:14 0.1 -#> 2 -1582.625 38.3143 545 17:08:14 0.0 -#> 3 -1582.625 38.3136 545 17:08:14 0.0p1 <- p1$pvals - p1 <- merge(dat, p1, all=TRUE) # to get iron/infect merged in - foo1 <- xyplot(weight ~ day|iron*infect, dat, group=animal) - foo2 <- xyplot(predicted.value ~ day|iron*infect, p1, type='l', group=animal) - print(foo1+foo2) --# } -
draper.safflower.uniformity.Rd
Uniformity trial of safflower in Arizona in 1958.
-data("draper.safflower.uniformity")- - -
A data frame with 640 observations on the following 4 variables.
expt
experiment
row
row
col
column
yield
yield per plot (grams)
Experiments were conducted at the Agricultural Experiment Station Farm - at Eloy, Arizona. The crop was harvested in July 1958.
-The crop was planted in two rows 12 inches apart on vegetable beds 40 - inches center to center.
-In each test, the end ranges and one row of plots on one side were - next to alleys, and those plots gave estimates of border effects.
-Experiment E4 (four foot test).
-Sandy streaks were present in the field. Average yield was 1487 - lb/ac. A diagonal fertility gradient was in this field. Widening the - plot was equally effective as lengthening the plot to reduce - variability. The optimum plot size was 1 bed wide, 24 feet long. - Considering economic costs, the optimum size was 1 bed, 12 feet long.
-Field width: 16 beds * 3.33 = 53 feet
-Field length: 18 ranges * 4 feet = 72 feet
- -Experiment E5 (five foot test)
-Average yield 2517 lb/ac, typical for this crop. Combining plots - lengthwise was more effective than widening the plots, in order to - reduce variability. The optimum plot size was 1 bed wide, 25 feet - long. - Considering economic costs, the optimum size was 1 bed, 18 feet long.
-Field width: 14 beds * 3.33 = 46.6 feet.
-Field length: 18 ranges * 5 feet = 90 feet.
-Arlen D. Draper. (1959). - Optimum plot size and shape for safflower yield tests. - Dissertation. University of Arizona. - https://hdl.handle.net/10150/319371
-None
- --# \dontrun{ - - library(agridat) - - data(draper.safflower.uniformity) - dat4 <- subset(draper.safflower.uniformity, expt=="E4") - dat5 <- subset(draper.safflower.uniformity, expt=="E5") - - libs(desplot) - desplot(dat4, yield~col*row, - flip=TRUE, tick=TRUE, aspect=72/53, # true aspect - main="draper.safflower.uniformity (four foot)") -- desplot(dat5, yield~col*row, - flip=TRUE, tick=TRUE, aspect=90/46, # true aspect - main="draper.safflower.uniformity (five foot)") -- libs(agricolae) - libs(reshape2) - # Remove border plots at either end and right side - dat4 <- subset(dat4, row>1 & row<20) - dat4 <- subset(dat4, col<17) - dat5 <- subset(dat5, row>1 & row<20) - dat5 <- subset(dat5, col<15) - - s4 <- index.smith(acast(dat4, row~col, value.var='yield'), - main="draper.safflower.uniformity (four foot)", - col="red")$uni -s4 # match Draper table 2, p 22 -#> Size Width Length plots Vx CV -#> [1,] 1 1 1 288 2164.6567 22.5 -#> [2,] 2 1 2 144 1490.8710 18.7 -#> [3,] 2 2 1 144 1539.8152 19.0 -#> [4,] 3 1 3 96 1236.1247 17.0 -#> [5,] 4 2 2 72 1152.7394 16.4 -#> [6,] 4 4 1 72 1107.6854 16.1 -#> [7,] 6 1 6 48 805.0568 13.7 -#> [8,] 6 2 3 48 991.4505 15.3 -#> [9,] 8 4 2 36 879.1484 14.4 -#> [10,] 8 8 1 36 768.9838 13.4 -#> [11,] 9 1 9 32 724.5614 13.0 -#> [12,] 12 2 6 24 672.9439 12.6 -#> [13,] 12 4 3 24 819.2284 13.9 -#> [14,] 16 8 2 18 615.4627 12.0 -#> [15,] 18 2 9 16 598.8671 11.9 -#> [16,] 24 4 6 12 578.4655 11.7 -#> [17,] 24 8 3 12 613.4109 12.0 -#> [18,] 36 4 9 8 548.4288 11.3 -#> [19,] 48 8 6 6 408.3539 9.8 -#> [20,] 72 8 9 4 417.8544 9.9- ## s5 <- index.smith(acast(dat5, row~col, value.var='yield'), - ## main="draper.safflower.uniformity (five foot)", - ## col="red")$uni - ## s5 # match Draper table 1, p 21 - -# } -
durban.competition.Rd
Sugar beet yields with competition effects
-A data frame with 114 observations on the following 5 variables.
gen
Genotype factor, 36 levels plus Border
col
Column
block
Row/Block
wheel
Position relative to wheel tracks
yield
Root yields, kg/plot
This sugar-beet trial was conducted in 1979.
-Single-row plots, 12 m long, 0.5 m between rows. Each block is made - up of all 36 genotypes laid out side by side. Guard/border plots are - at each end. Root yields were collected.
-Wheel tracks are located between columns 1 and 2, and between columns - 5 and 6, for each set of six plots. Each genotype was randomly - allocated once to each pair of plots (1,6), (2,5), (3,4) across the - three reps. Wheel effect were not significant in _this_ trial.
-Field width: 18m + 1m guard rows = 19m
-Field length: 3 blocks * 12m + 2*0.5m spacing = 37m - Retrieved from - https://www.ma.hw.ac.uk/~iain/research/JAgSciData/data/Trial1.dat
-Used with permission of Iain Currie.
-Durban, M., Currie, I. and R. Kempton, 2001. - Adjusting for fertility and competition in variety trials. - J. of Agricultural Science, 136, 129--140.
- --# \dontrun{ - -library(agridat) - -data(durban.competition) -dat <- durban.competition - -# Check that genotypes were balanced across wheel tracks. -with(dat, table(gen,wheel)) -#> wheel -#> gen 1 2 3 -#> B 0 0 0 -#> G01 1 1 1 -#> G02 1 1 1 -#> G03 1 1 1 -#> G04 1 1 1 -#> G05 1 1 1 -#> G06 1 1 1 -#> G07 1 1 1 -#> G08 1 1 1 -#> G09 1 1 1 -#> G10 1 1 1 -#> G11 1 1 1 -#> G12 1 1 1 -#> G13 1 1 1 -#> G14 1 1 1 -#> G15 1 1 1 -#> G16 1 1 1 -#> G17 1 1 1 -#> G18 1 1 1 -#> G19 1 1 1 -#> G20 1 1 1 -#> G21 1 1 1 -#> G22 1 1 1 -#> G23 1 1 1 -#> G24 1 1 1 -#> G25 1 1 1 -#> G26 1 1 1 -#> G27 1 1 1 -#> G28 1 1 1 -#> G29 1 1 1 -#> G30 1 1 1 -#> G31 1 1 1 -#> G32 1 1 1 -#> G33 1 1 1 -#> G34 1 1 1 -#> G35 1 1 1 -#> G36 1 1 1-libs(desplot) -desplot(dat, yield ~ col*block, - out1=block, text=gen, col=wheel, aspect=37/19, # true aspect - main="durban.competition") -- -# Calculate residual after removing block/genotype effects -m1 <- lm(yield ~ gen + block, data=dat) -dat$res <- resid(m1) - -## desplot(dat, res ~ col*block, out1=block, text=gen, col=wheel, -## main="durban.competition - residuals") - -# Calculate mean of neighboring plots -dat$comp <- NA -dat$comp[3:36] <- ( dat$yield[2:35] + dat$yield[4:37] ) / 2 -dat$comp[41:74] <- ( dat$yield[40:73] + dat$yield[42:75] ) / 2 -dat$comp[79:112] <- ( dat$yield[78:111] + dat$yield[80:113] ) / 2 - -# Demonstrate the competition effect -# Competitor plots have low/high yield -> residuals are negative/positive -libs(lattice) -xyplot(res~comp, dat, type=c('p','r'), main="durban.competition", - xlab="Average yield of neighboring plots", ylab="Residual") --# } -
durban.rowcol.Rd
Row-column experiment of spring barley, many varieties
-A data frame with 544 observations on the following 5 variables.
row
row
bed
bed (column)
rep
rep, 2 levels
gen
genotype, 272 levels
yield
yield, tonnes/ha
Spring barley variety trial of 272 entries (260 new varieties, 12 - control). Grown at the Scottish Crop Research Institute in 1998. - Row-column design with 2 reps, 16 rows (north/south) by 34 beds - (east/west). - The land sloped downward from row 16 to row 1. Plot yields were - converted to tonnes per hectare.
-Plot dimensions are not given.
-Used with permission of Maria Durban.
-Durban, Maria and Hackett, Christine and McNicol, James and - Newton, Adrian and Thomas, William and Currie, Iain. 2003. - The practical use of semiparametric models in field trials, - Journal of Agric Biological and Envir Stats, 8, 48-66. - https://doi.org/10.1198/1085711031265
-Edmondson, Rodney (2020). - Multi-level Block Designs for Comparative Experiments. - J of Agric, Biol, and Env Stats. - https://doi.org/10.1007/s13253-020-00416-0
-# \dontrun{
-
- library(agridat)
- data(durban.rowcol)
- dat <- durban.rowcol
-
- libs(desplot)
- desplot(dat, yield~bed*row,
- out1=rep, num=gen, # aspect unknown
- main="durban.rowcol")
-
-
-
- # Durban 2003 Figure 1
- m10 <- lm(yield~gen, data=dat)
- dat$resid <- m10$resid
- ## libs(lattice)
- ## xyplot(resid~row, dat, type=c('p','smooth'), main="durban.rowcol")
- ## xyplot(resid~bed, dat, type=c('p','smooth'), main="durban.rowcol")
-
- # Figure 3
- libs(lattice)
- xyplot(resid ~ bed|factor(row), data=dat,
- main="durban.rowcol",
- type=c('p','smooth'))
-
-
-
-
- # Figure 5 - field trend
- # note, Durban used gam package like this
- # m1lo <- gam(yield ~ gen + lo(row, span=10/16) + lo(bed, span=9/34), data=dat)
- libs(mgcv)
-#> Loading required package: nlme
-#>
-#> Attaching package: 'nlme'
-#> The following object is masked from 'package:dplyr':
-#>
-#> collapse
-#> This is mgcv 1.8-38. For overview type 'help("mgcv-package")'.
- m1lo <- gam(yield ~ gen + s(row) + s(bed, k=5), data=dat)
- new1 <- expand.grid(row=unique(dat$row),bed=unique(dat$bed))
- new1 <- cbind(new1, gen="G001")
- p1lo <- predict(m1lo, newdata=new1)
- libs(lattice)
- wireframe(p1lo~row+bed, new1, aspect=c(1,.5), main="Field trend")
-
-
-
- libs(asreml) # asreml4
-
- dat <- transform(dat, rowf=factor(row), bedf=factor(bed))
- dat <- dat[order(dat$rowf, dat$bedf),]
-
- m1a1 <- asreml(yield~gen + lin(rowf) + lin(bedf), data=dat,
- random=~spl(rowf) + spl(bedf) + units,
- family=asr_gaussian(dispersion=1))
-#> Offline License checked out Fri Dec 17 15:16:56 2021
-#> Model fitted using the sigma parameterization.
-#> ASReml 4.1.0 Fri Dec 17 15:16:56 2021
-#> Spline: design points closer than 0.0015 have been merged.
-#> Spline: design points closer than 0.0033 have been merged.
-#> LogLik Sigma2 DF wall cpu
-#> 1 -120.891 1.0 270 15:16:56 0.1 (1 restrained)
-#> 2 -119.429 1.0 270 15:16:56 0.1 (1 restrained)
-#> 3 -119.337 1.0 270 15:16:56 0.1 (1 restrained)
-#> 4 -119.330 1.0 270 15:16:57 0.1 (1 restrained)
-#> 5 -119.330 1.0 270 15:16:57 0.1
- m1a2 <- asreml(yield~gen + lin(rowf) + lin(bedf), data=dat,
- random=~spl(rowf) + spl(bedf) + units,
- resid = ~ar1(rowf):ar1(bedf))
-#> Model fitted using the gamma parameterization.
-#> ASReml 4.1.0 Fri Dec 17 15:16:57 2021
-#> Spline: design points closer than 0.0015 have been merged.
-#> Spline: design points closer than 0.0033 have been merged.
-#> LogLik Sigma2 DF wall cpu
-#> 1 96.2641 0.0728538 270 15:16:57 0.2
-#> 2 99.9959 0.0455420 270 15:16:57 0.2 (2 restrained)
-#> 3 111.7824 0.0939540 270 15:16:57 0.2
-#> 4 114.3283 0.0725701 270 15:16:57 0.1
-#> 5 114.8798 0.0621998 270 15:16:57 0.2
-#> 6 115.1073 0.0575968 270 15:16:58 0.1
-#> 7 115.2248 0.0558544 270 15:16:58 0.1
-#> 8 115.2833 0.0555463 270 15:16:58 0.2
-#> 9 115.3120 0.0558563 270 15:16:58 0.1
-#> 10 115.3273 0.0563693 270 15:16:58 0.1
-#> 11 115.3362 0.0568967 270 15:16:58 0.2
-#> 12 115.3417 0.0573770 270 15:16:58 0.2
-#> 13 115.3452 0.0577936 270 15:16:59 0.2
-#> Warning: Log-likelihood not converged
-#> Warning: Some components changed by more than 1% on the last iteration.
- m1a2 <- update(m1a2)
-#> Model fitted using the gamma parameterization.
-#> ASReml 4.1.0 Fri Dec 17 15:16:59 2021
-#> Spline: design points closer than 0.0015 have been merged.
-#> Spline: design points closer than 0.0033 have been merged.
-#> LogLik Sigma2 DF wall cpu
-#> 1 115.347 0.0581463 270 15:16:59 0.2
-#> 2 115.348 0.0582390 270 15:16:59 0.2
-#> 3 115.349 0.0585176 270 15:16:59 0.2
-#> 4 115.350 0.0587488 270 15:16:59 0.2
-#> 5 115.351 0.0589395 270 15:16:59 0.2
-#> 6 115.351 0.0590963 270 15:17:00 0.1
-#> 7 115.351 0.0592248 270 15:17:00 0.1
- m1a3 <- asreml(yield~gen, data=dat, random=~units,
- resid = ~ar1(rowf):ar1(bedf))
-#> Model fitted using the gamma parameterization.
-#> ASReml 4.1.0 Fri Dec 17 15:17:00 2021
-#> LogLik Sigma2 DF wall cpu
-#> 1 45.6323 0.120599 272 15:17:00 0.0
-#> 2 58.3809 0.047543 272 15:17:00 0.0 (2 restrained)
-#> 3 110.6551 0.116261 272 15:17:00 0.0
-#> 4 116.9931 0.099641 272 15:17:00 0.0
-#> 5 120.3275 0.096781 272 15:17:00 0.0
-#> 6 121.2251 0.114524 272 15:17:00 0.0
-#> 7 121.2782 0.124018 272 15:17:00 0.0
-#> 8 121.2798 0.124599 272 15:17:00 0.0
-
- # Figure 7
- libs(lattice)
- v7a <- asr_varioGram(x=dat$bedf, y=dat$rowf, z=m1a3$residuals)
- wireframe(gamma ~ x*y, v7a, aspect=c(1,.5)) # Fig 7a
-
-
- v7b <- asr_varioGram(x=dat$bedf, y=dat$rowf, z=m1a2$residuals)
- wireframe(gamma ~ x*y, v7b, aspect=c(1,.5)) # Fig 7b
-
-
- v7c <- asr_varioGram(x=dat$bedf, y=dat$rowf, z=m1lo$residuals)
- wireframe(gamma ~ x*y, v7c, aspect=c(1,.5)) # Fig 7c
-
-
-# }
-
durban.splitplot.Rd
Split-plot experiment of barley with fungicide treatments
-A data frame with 560 observations on the following 6 variables.
yield
yield, tonnes/ha
block
block, 4 levels
gen
genotype, 70 levels
fung
fungicide, 2 levels
row
row
bed
bed (column)
Grown in 1995-1996 at the Scottish Crop Research Institute. - Split-plot design with 4 blocks, 2 whole-plot fungicide treatments, - and 70 barley varieties or variety mixes. Total area was 10 rows - (north/south) by 56 beds (east/west).
-Used with permission of Maria Durban.
-Durban, Maria and Hackett, Christine and McNicol, James and - Newton, Adrian and Thomas, William and Currie, Iain. 2003. - The practical use of semiparametric models in field trials, - Journal of Agric Biological and Envir Stats, 8, 48-66. - https://doi.org/10.1198/1085711031265.
-# \dontrun{
-
- library(agridat)
- data(durban.splitplot)
- dat <- durban.splitplot
-
- libs(desplot)
- desplot(dat, yield~bed*row,
- out1=block, out2=fung, num=gen, # aspect unknown
- main="durban.splitplot")
-
-
-
- # Durban 2003, Figure 2
- m20 <- lm(yield~gen + fung + gen:fung, data=dat)
- dat$resid <- m20$resid
- ## libs(lattice)
- ## xyplot(resid~row, dat, type=c('p','smooth'), main="durban.splitplot")
- ## xyplot(resid~bed, dat, type=c('p','smooth'), main="durban.splitplot")
-
- # Figure 4 doesn't quite match due to different break points
- libs(lattice)
- xyplot(resid ~ bed|factor(row), data=dat,
- main="durban.splitplot",
- type=c('p','smooth'))
-
-
-
- # Figure 6 - field trend
- # note, Durban used gam package like this
- # m2lo <- gam(yield ~ gen*fung + lo(row, bed, span=.082), data=dat)
- libs(mgcv)
- m2lo <- gam(yield ~ gen*fung + s(row, bed,k=45), data=dat)
- new2 <- expand.grid(row=unique(dat$row), bed=unique(dat$bed))
- new2 <- cbind(new2, gen="G01", fung="F1")
- p2lo <- predict(m2lo, newdata=new2)
- libs(lattice)
- wireframe(p2lo~row+bed, new2, aspect=c(1,.5),
- main="durban.splitplot - Field trend")
-
-
- libs(asreml) # asreml4
-
- # Table 5, variance components. Table 6, F tests
- dat <- transform(dat, rowf=factor(row), bedf=factor(bed))
- dat <- dat[order(dat$rowf, dat$bedf),]
- m2a2 <- asreml(yield ~ gen*fung, random=~block/fung+units, data=dat,
- resid =~ar1v(rowf):ar1(bedf))
-#> Model fitted using the sigma parameterization.
-#> ASReml 4.1.0 Fri Dec 17 15:17:10 2021
-#> LogLik Sigma2 DF wall cpu
-#> 1 208.653 1.0 420 15:17:10 0.1 (3 restrained)
-#> Log-likelihood decreased to 149.571 ; trying with reduced updates (0.757712)
-#> 2 204.621 1.0 420 15:17:10 0.1
-#> 3 215.185 1.0 420 15:17:10 0.0 (3 restrained)
-#> 4 224.963 1.0 420 15:17:10 0.0 (2 restrained)
-#> 5 231.997 1.0 420 15:17:10 0.0 (3 restrained)
-#> Log-likelihood decreased to 199.331 ; trying with reduced updates (0.408715)
-#> 6 234.142 1.0 420 15:17:10 0.1
-#> 7 245.873 1.0 420 15:17:10 0.0
-#> 8 280.158 1.0 420 15:17:10 0.0
-#> 9 312.280 1.0 420 15:17:11 0.0
-#> 10 328.542 1.0 420 15:17:11 0.0
-#> 11 338.508 1.0 420 15:17:11 0.0
-#> 12 343.036 1.0 420 15:17:11 0.0
-#> 13 343.633 1.0 420 15:17:11 0.0
-#> Warning: Log-likelihood not converged
-#> Warning: Some components changed by more than 1% on the last iteration.
- m2a2 <- update(m2a2)
-#> Model fitted using the sigma parameterization.
-#> ASReml 4.1.0 Fri Dec 17 15:17:11 2021
-#> LogLik Sigma2 DF wall cpu
-#> 1 343.701 1.0 420 15:17:11 0.1
-#> 2 343.707 1.0 420 15:17:11 0.1 (1 restrained)
-#> 3 343.714 1.0 420 15:17:11 0.0 (1 restrained)
-#> 4 343.715 1.0 420 15:17:11 0.0 (1 restrained)
-#> Warning: Some components changed by more than 1% on the last iteration.
-
- libs(lucid)
- vc(m2a2)
-#> effect component std.error z.ratio bound %ch
-#> block 0.0000002 NA NA B 93.7
-#> block:fung 0.01209 0.01634 0.74 P 0.7
-#> units 0.02463 0.002465 10 P 0
-#> rowf:bedf!R 1 NA NA F 0
-#> rowf:bedf!rowf!cor 0.8836 0.03721 24 U 0
-#> rowf:bedf!rowf!var 0.1262 0.0452 2.8 P 0.2
-#> rowf:bedf!bedf!cor 0.9202 0.02869 32 U 0
- ## effect component std.error z.ratio bound
- ## block 0 NA NA B NA
- ## block:fung 0.01206 0.01512 0.8 P 0
- ## units 0.02463 0.002465 10 P 0
- ## rowf:bedf(R) 1 NA NA F 0
- ## rowf:bedf!rowf!cor 0.8836 0.03646 24 U 0
- ## rowf:bedf!rowf!var 0.1261 0.04434 2.8 P 0
- ## rowf:bedf!bedf!cor 0.9202 0.02846 32 U 0
-
- wald(m2a2)
-#> Wald tests for fixed effects.
-#> Response: yield
-#> Terms added sequentially; adjusted for those above.
-#>
-#> Df Sum of Sq Wald statistic Pr(Chisq)
-#> (Intercept) 1 1051.96 1051.96 < 2.2e-16 ***
-#> gen 69 1099.59 1099.59 < 2.2e-16 ***
-#> fung 1 37.04 37.04 1.156e-09 ***
-#> gen:fung 69 89.64 89.64 0.04816 *
-#> residual (MS) 1.00
-#> ---
-#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
-
-# }
-
eden.nonnormal.Rd
Height of barley plants in a study of non-normal data.
-data("eden.nonnormal")- - -
A data frame with 256 observations on the following 3 variables.
pos
position within block
block
block (numeric)
height
height of wheat plant
This data was used in a very early example of a permutation test.
-Eden & Yates used this data to consider the impact of non-normal data - on the validity of a hypothesis test that assumes normality. They - concluded that the skew data did not negatively affect the analysis of - variance.
-Grown at Rothamsted. Eight blocks of Yeoman II wheat. Sampling of the - blocks was quarter-meter rows, four times in each row. Rows were - selected at random. Position within the rows was partly controlled to - make use of the whole length of the block. Plants at both ends of the - sub-unit were measured. Shoot height is measured from ground level to - the auricle of the last expanded leaf.
-T. Eden, F. Yates (1933). - On the validity of Fisher's z test when applied to an actual example of non-normal data. - Journal of Agric Science, 23, 6-17. - https://doi.org/10.1017/S0021859600052862
-Kenneth J. Berry, Paul W. Mielke, Jr., Janis E. Johnston - Permutation Statistical Methods: An Integrated Approach.
- ---library(agridat) - -data(eden.nonnormal) -dat <- eden.nonnormal -mean(dat$height) # 55.23 matches Eden table 1 -#> [1] 55.23242-# Eden figure 2 -libs(dplyr, lattice) -# Blocks had different means, so substract block mean from each datum -dat <- group_by(dat, block) -dat <- mutate(dat, blkmn=mean(height)) -dat <- transform(dat, dev=height-blkmn) - -histogram( ~ dev, data=dat, breaks=seq(from=-40, to=30, by=2.5), - xlab="Deviations from block means", - main="eden.nonnormal - heights skewed left") --# \dontrun{ - - # calculate skewness, permutation - - libs(dplyr, lattice, latticeExtra) - - # Eden table 1 - # anova(aov(height ~ factor(block), data=dat)) - - # Eden table 2,3. Note, this may be a different definition of skewness - # than is commonly used today (e.g. e1071::skewness). - skew <- function(x){ - n <- length(x) - x <- x - mean(x) - s1 = sum(x) - s2 = sum(x^2) - s3 = sum(x^3) - k3=n/((n-1)*(n-2)) * s3 -3/n*s2*s1 + 2/n^2 * s1^3 - return(k3) - } - # Negative values indicate data are skewed left - dat <- group_by(dat, block) - summarize(dat, s1=sum(height),s2=sum(height^2), mean2=var(height), k3=skew(height)) -#>#> # A tibble: 8 x 5 -#> block s1 s2 mean2 k3 -#> <int> <dbl> <dbl> <dbl> <dbl> -#> 1 1 1682 95930. 243. -1269. -#> 2 2 1858 111662. 122. -1752. -#> 3 3 1810. 108967. 214. -3173. -#> 4 4 1912 121748. 242. -2548. -#> 5 5 1722 99026. 205. -559. -#> 6 6 1339 63077 227. -801. -#> 7 7 1963 123052. 85.0 -713. -#> 8 8 1854 112366 160. -1062.## block s1 s2 mean2 k3 - ## <int> <dbl> <dbl> <dbl> <dbl> - ## 1 1 1682.0 95929.5 242.56048 -1268.5210 - ## 2 2 1858.0 111661.5 121.97984 -1751.9919 - ## 3 3 1809.5 108966.8 214.36064 -3172.5284 - ## 4 4 1912.0 121748.5 242.14516 -2548.2194 - ## 5 5 1722.0 99026.5 205.20565 -559.0629 - ## 6 6 1339.0 63077.0 227.36190 -801.2740 - ## 7 7 1963.0 123052.5 84.99093 -713.2595 - ## 8 8 1854.0 112366.0 159.67339 -1061.9919 - - # Another way to view skewness with qq plot. Panel 3 most skewed. - qqmath( ~ dev|factor(block), data=dat, - as.table=TRUE, - ylab="Deviations from block means", - panel = function(x, ...) { - panel.qqmathline(x, ...) - panel.qqmath(x, ...) - }) -- # Now, permutation test. - # Eden: "By a process of amalgamation the eight sets of 32 observations were - # reduced to eight sets of four and the data treated as a potential - # layout for a 32-plot trial". - dat2 <- transform(dat, grp = rep(1:4, each=8)) - dat2 <- aggregate(height ~ grp+block, dat2, sum) - dat2$trt <- rep(letters[1:4], 8) - dat2$block <- factor(dat2$block) - - # Treatments were assigned at random 1000 times - set.seed(54323) - fobs <- rep(NA, 1000) - for(i in 1:1000){ - # randomize treatments within each block - # trick from https://stackoverflow.com/questions/25085537 - dat2$trt <- with(dat2, ave(trt, block, FUN = sample)) - fobs[i] <- anova(aov(height ~ block + trt, dat2))["trt","F value"] - } - - # F distribution with 3,21 deg freedom - # Similar to Eden's figure 4, but on a different horizontal scale - xval <- seq(from=0,to=max(fobs), length=50) - yval <- df(xval, df1 = 3, df2 = 21) - # Re-scale, 10 = max of historgram, 0.7 = max of density - histogram( ~ fobs, breaks=xval, - xlab="F value", - main="Observed (histogram) & theoretical (line) F values") + - xyplot((10/.7)* yval ~ xval, type="l", lwd=2) --# } - -
eden.potato.Rd
Potato yields in response to potash and nitrogen fertilizer. - Data from Fisher's 1929 paper Studies in Crop Variation 6. - A different design was used each year.
-A data frame with 225 observations on the following 9 variables.
year
year/type factor
yield
yield, pounds per plot
block
block
row
row
col
column
trt
treatment factor
nitro
nitrogen fertilizer, cwt/acre
potash
potash fertilizer, cwt/acre
ptype
potash type
The data is of interest to show the gradual development of - experimental designs in agriculture.
-In 1925/1926 the potato variety was Kerr's Pink. In 1927 Arran - Comrade.
-In the 1925a/1926a qualitative experiments, the treatments are - O=None, S=Sulfate, M=Muriate, P=Potash manure salts. - The design was a Latin Square.
-The 1925/1926b/1927 experiments were RCB designs with treatment codes - defining the amount and type of fertilizer used. Note: the 't' - treatment was not defined in the original paper.
-T Eden and R A Fisher, 1929. - Studies in Crop Variation. VI. Experiments on the response of the - potato to potash and nitrogen. - Journal of Agricultural Science, 19: 201-213.
-McCullagh, P. and Clifford, D., (2006). - Evidence for conformal invariance of crop yields, - Proceedings of the Royal Society A: Mathematical, Physical and - Engineering Science, 462, 2119--2143. - https://doi.org/10.1098/rspa.2006.1667
- ---library(agridat) - -data(eden.potato) -dat <- eden.potato - -# 1925 qualitative -d5a <- subset(dat, year=='1925a') -libs(desplot) -desplot(d5a, trt~col*row, - text=yield, cex=1, shorten='no', # aspect unknown - main="eden.potato: 1925 qualitative") -#> Analysis of Variance Table -#> -#> Response: yield -#> Df Sum Sq Mean Sq F value Pr(>F) -#> trt 3 120175 40058 120.4532 9.472e-06 *** -#> factor(row) 3 1740 580 1.7437 0.25729 -#> factor(col) 3 5841 1947 5.8547 0.03247 * -#> Residuals 6 1995 333 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1-# 1926 qualitative -d6a <- subset(dat, year=='1926a') -libs(desplot) -desplot(d6a, trt~col*row, - text=yield, cex=1, shorten='no', # aspect unknown - main="eden.potato: 1926 qualitative") -#> Analysis of Variance Table -#> -#> Response: yield -#> Df Sum Sq Mean Sq F value Pr(>F) -#> trt 3 21531.6 7177.2 20.8577 0.001416 ** -#> factor(row) 3 12055.3 4018.4 11.6779 0.006452 ** -#> factor(col) 3 3989.2 1329.7 3.8644 0.074784 . -#> Residuals 6 2064.6 344.1 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1-# 1925 quantitative -d5 <- subset(dat, year=='1925b') -libs(desplot) -desplot(d5, yield ~ col*row, - out1=block, text=trt, cex=1, # aspect unknown - main="eden.potato: 1925 quantitative") --# Trt 't' not defined, seems to be the same as 'a' -libs(lattice) -dotplot(trt~yield|block, d5, - # aspect unknown - main="eden.potato: 1925 quantitative") -#> Analysis of Variance Table -#> -#> Response: yield -#> Df Sum Sq Mean Sq F value Pr(>F) -#> trt 11 464251 42205 40.623 5.534e-16 *** -#> block 3 22030 7343 7.068 0.0008496 *** -#> Residuals 33 34285 1039 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1-# 1926 quantitative -d6 <- subset(dat, year=='1926b') -libs(desplot) -desplot(d6, yield ~ col*row, - out1=block, text=trt, cex=1, # aspect unknown - main="eden.potato: 1926 quantitative") -#> Analysis of Variance Table -#> -#> Response: yield -#> Df Sum Sq Mean Sq F value Pr(>F) -#> trt 15 261497 17433.2 8.0575 2.243e-08 *** -#> block 3 11303 3767.7 1.7414 0.1721 -#> Residuals 45 97361 2163.6 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1-# 1927 qualitative + quantitative -d7 <- droplevels(subset(dat, year==1927)) -libs(desplot) -desplot(d7, yield ~ col*row, - out1=block, text=trt, cex=1, col=ptype, # aspect unknown - main="eden.potato: 1927 qualitative + quantitative") --# Table 8. Anova, mean yield tons / acre -anova(m7 <- aov(yield~trt+block+ptype + ptype:potash, d7)) -#> Analysis of Variance Table -#> -#> Response: yield -#> Df Sum Sq Mean Sq F value Pr(>F) -#> trt 8 49929 6241.1 11.4674 1.048e-09 *** -#> block 8 22721 2840.2 5.2185 5.708e-05 *** -#> ptype 2 14461 7230.5 13.2853 1.673e-05 *** -#> ptype:potash 2 1007 503.5 0.9251 0.4021 -#> Residuals 60 32655 544.2 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1libs(reshape2) -me7 <- melt(d7, measure.vars='yield') -acast(me7, potash~nitro, fun=mean) * 40/2240 # English ton = 2240 pounds -#> 0 2 4 -#> 0 6.544643 7.060516 7.157738 -#> 2 6.513889 7.531746 7.357143 -#> 4 6.193452 7.215278 7.435516acast(me7, potash~ptype, fun=mean) * 40/2240 -#> M N P S -#> 0 NaN 6.920966 NaN NaN -#> 2 7.163690 NaN 6.856151 7.382937 -#> 4 7.037698 NaN 6.458333 7.348214-
eden.tea.uniformity.Rd
Uniformity trial of tea in Ceylon.
-data("eden.tea.uniformity")- - -
A data frame with 144 observations on the following 4 variables.
entry
entry number
yield
yield
row
row
col
column
Tea plucking in Ceylon extended from 20 Apr 1928 to 10 Dec 1929. There were 42 pluckings.
-The field was divided into 144 plots of 1/72 acre = 605 sq ft. - Each plot contained 6 rows of bushes, approximately 42 bushes. (Each row was thus about 7 bushes).
-Plots in row 12 were at high on a hillside, plots in row 1 were low on the hill.
-Note: We will assume the plots are roughly square: 6 rows of 7 bushes.
-Field width: 12 plots * 24.6 feet = 295 feet
-Field length: 12 plots * 24.6 feet = 295 feet
-T. Eden. (1931). - Studies in the yield of tea. 1. The experimental errors of field - experiments with tea. - Agricultural Science, 21, 547-573. - https://doi.org/10.1017/S0021859600088511
-None
- --# \dontrun{ - -library(agridat) - - data(eden.tea.uniformity) - dat <- eden.tea.uniformity - - # sum(dat$yield) # 140050.6 matches total yield in appendix A - # mean(dat$yield) # 972.574 match page 5554 - - m1 <- aov(yield ~ factor(entry) + factor(row) + factor(col), data=dat) - summary(m1)#> Df Sum Sq Mean Sq F value Pr(>F) -#> factor(entry) 11 349240 31749 1.365 0.200 -#> factor(row) 11 1293253 117568 5.054 2.38e-06 *** -#> factor(col) 11 335452 30496 1.311 0.228 -#> Residuals 110 2558996 23264 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1-# } -
edwards.oats.Rd
Multi-environment trial of oats in 5 locations, 7 years, with 3 - replicates in each trial.
-data("edwards.oats")- - -
A data frame with 3694 observations on the following 7 variables.
eid
Environment identification (factor)
year
Year
loc
Location name
block
Block
gen
Genotype name
yield
Yield
testwt
Test weight
This data comes from a breeding program, but does not have the usual - pattern of (1) genotypes entering/leaving the program (2) check - genotypes that remain throughout the duration of the program.
-Experiments were conducted by the Iowa State University Oat Variety - Trial in the years 1997 to 2003.
-In each year there were 40 genotypes, with about 30 released checks - and 10 experimental lines. Each genotype appeared in a range of 3 to - 34 of the year-loc combinations.
-The trials were grown in five locations in Iowa: - Ames, Nashua, Crawfordsville, Lewis, Sutherland. - In 1998 there was no trial grown at Sutherland. - There were 3 blocks in each trial.
-Five genotypes were removed from the data because of low yields (and are not included here).
-The environment identifaction values are the same as in Edwards (2006) - table 1.
-Electronic data supplied by Jode Edwards.
-Jode W. Edwards, Jean-Luc Jannink (2006). - Bayesian Modeling of Heterogeneous Error and Genotype x Environment Interaction Variances. - Crop Science, 46, 820-833. - https://dx.doi.org/10.2135/cropsci2005.0164
-None
- --# \dontrun{ - - library(agridat) - libs(dplyr,lattice, reshape2, stringr) - data(edwards.oats) - dat <- edwards.oats - dat$env <- paste0(dat$year,".",dat$loc) - dat$eid <- factor(dat$eid) - mat <- reshape2::acast(dat, env ~ gen, - fun.aggregate=mean, value.var="yield", na.rm=TRUE) - lattice::levelplot(mat, aspect="m", - main="edwards.oats", - xlab="environment", ylab="genotype", - scales=list(x=list(rot=90))) -- # Calculate BLUEs of gen/env effects - m1 <- lm(yield ~ gen+eid, dat) - - gg <- coef(m1)[2:80] - names(gg) <- stringr::str_replace(names(gg), "gen", "") - gg <- c(0,gg) - names(gg)[1] <- "ACStewart" - - ee <- coef(m1)[81:113] - names(ee) <- stringr::str_replace(names(ee), "eid", "") - ee <- c(0,ee) - names(ee)[1] <- "1" - - # Subtract gen/env coefs from yield values - dat2 <- dat - dat2$gencoef <- gg[match(dat2$gen, names(gg))] - dat2$envcoef <- ee[match(dat2$eid, names(ee))] - dat2 <- dplyr::mutate(dat2, y = yield - gencoef - envcoef) - - # Calculate variance for each gen*env. Shape of the graph is vaguely - # similar to Fig 2 of Edwards et al (2006), who used a Bayesian model - dat2 <- group_by(dat2, gen, eid) - dat2sum <- summarize(dat2, stddev = sd(y)) -#>-# } -
engelstad.nitro.Rd
Corn yield response to nitrogen fertilizer for a single variety of - corn at two locations over five years
-A data frame with 60 observations on the following 4 variables.
loc
location, 2 levels
year
year, 1962-1966
nitro
nitrogen fertilizer kg/ha
yield
yield, quintals/ha
Corn yield response to nitrogen fertilizer for a single variety of - corn at two locations in Tennessee over five years. - The yield data is the mean of 9 replicates. The original - paper fits quadratic curves to the data. Schabenberger and Pierce fit - multiple models including linear plateau. The example below fits a - quadratic plateau for one year/loc. In the original paper, the 1965 - and 1966 data for the Knoxville location was not used as it appeared - that the response due to nitrogen was minimal in 1965 and nonexistant - in 1966. The economic optimum can be found by setting the tangent - equal to the ratio of (fertilizer price)/(grain price).
-Engelstad, OP and Parks, WL. 1971. - Variability in Optimum N Rates for Corn. - Agronomy Journal, 63, 21--23.
-Schabenberger, O. and Pierce, F.J., 2002. - Contemporary statistical models for the plant and soil sciences, - CRC. Page 254-259.
- --# \dontrun{ - -library(agridat) - -data(engelstad.nitro) -dat <- engelstad.nitro - -libs(latticeExtra) -useOuterStrips(xyplot(yield ~ nitro | factor(year)*loc, dat, - main="engelstad.nitro"))-# Fit a quadratic plateau model to one year/loc -j62 <- droplevels(subset(dat, loc=="Jackson" & year==1962)) -# ymax is maximum yield, M is the change point, k affects curvature -m1 <- nls(yield ~ ymax*(nitro > M) + - (ymax - (k/2) * (M-nitro)^2) * (nitro < M), - data= j62, - start=list(ymax=80, M=150, k=.01)) - -# Plot the raw data and model -newdat <- data.frame(nitro=seq(0,max(dat$nitro))) -p1 <- predict(m1, new=newdat) -plot(yield ~ nitro, j62)title("engelstad.nitro: quadratic plateau at Jackson 1962")#> M -#> 225.3404-# Optimum nitro level using $0.11 for N cost, $1.15 for grain price = 140 -# Set the first derivative equal to N/corn price, k(M-nitro)=.11/1.15 -coef(m1)['M']-(.11/1.15)/coef(m1)['k']#> M -#> 140.7837-# } -
fan.stability.Rd
Yield of 13 hybrids, grown in 10 locations across 2 years. Conducted - in Yunnan, China.
- -A data frame with 260 observations on the following 5 variables.
gen
genotype
maturity
maturity, days
year
year
loc
location
yield
yield, Mg/ha
Data are the mean of 3 reps.
-These data were used to conduct a stability analysis of yield.
- -Fan, X.M. and Kang, M.S. and Chen, H. and Zhang, Y. and Tan, J. and Xu, C. (2007). - Yield stability of maize hybrids evaluated in multi-environment trials in Yunnan, China. - Agronomy Journal, 99, 220-228. - https://doi.org/10.2134/agronj2006.0144
-Used with permission of Manjit Kang.
- - ---library(agridat) -data(fan.stability) -dat <- fan.stability - -dat$env <- factor(paste(dat$loc, dat$year, sep="")) -libs(lattice) -dotplot(gen~yield|env, dat, main="fan.stability")-libs(reshape2, agricolae) -dm <- acast(dat, gen~env, value.var='yield') -# Use 0.464 as pooled error from ANOVA. Calculate yield mean/stability. -stability.par(dm, rep=3, MSerror=0.464) # Table 5 of Fan et al.
federer.diagcheck.Rd
Wheat experiment augmented with two check varieties in diagonal strips.
-A data frame with 180 observations on the following 4 variables.
row
row
col
column
gen
genotype, 120 levels
yield
yield
This experiment was conducted by Matthew Reynolds, CIMMYT. There are - 180 plots in the field, 60 for the diagonal checks (G121 and G122) and - 120 for new varieties.
-Federer used this data in multiple papers to illustrate the use of - orthogonal polynomials to model field trends that are not related to - the genetic effects.
-Note: Federer and Wolfinger (2003) provide a SAS program for analysis - of this data. However, when the SAS program is used to analyze this - data, the results do not match the results given in Federer (1998) nor - Federer and Wolfinger (2003). The differences are slight, which - suggests a typographical error in the presentation of the data.
-The R code below provides results that are consistent with the SAS - code of Federer & Wolfinger (2003) when both are applied to this - version of the data.
-Plot dimensions are not given.
-Federer, Walter T. 1998. Recovery of interblock, intergradient, and - intervariety information in incomplete block and lattice rectangle - design experiments. Biometrics, 54, 471--481. - https://doi.org/10.2307/3109756
-Walter T Federer and Russell D Wolfinger, 2003. - Augmented Row-Column Design and Trend Analysis, chapter 28 of - Handbook of Formulas and Software for Plant Geneticists - and Breeders, Haworth Press.
- --# \dontrun{ - - library(agridat) - data(federer.diagcheck) - dat <- federer.diagcheck - dat$check <- ifelse(dat$gen == "G121" | dat$gen=="G122", "C","N") - - # Show the layout as in Federer 1998. - libs(desplot) - desplot(dat, yield ~ col*row, - text=gen, show.key=FALSE, # aspect unknown - shorten='no', col=check, cex=.8, col.text=c("yellow","gray"), - main="federer.diagcheck") -- - # Now reproduce the analysis of Federer 2003. - - # Only to match SAS results - dat$row <- 16 - dat$row - dat <- dat[order(dat$col, dat$row), ] - - # Add row / column polynomials to the data. - # The scaling factors sqrt() are arbitrary, but used to match SAS - nr <- length(unique(dat$row)) - nc <- length(unique(dat$col)) - rpoly <- poly(dat$row, degree=10) * sqrt(nc) - cpoly <- poly(dat$col, degree=10) * sqrt(nr) - dat <- transform(dat, - c1 = cpoly[,1], c2 = cpoly[,2], c3 = cpoly[,3], - c4 = cpoly[,4], c6 = cpoly[,6], c8 = cpoly[,8], - r1 = rpoly[,1], r2 = rpoly[,2], r3 = rpoly[,3], - r4 = rpoly[,4], r8 = rpoly[,8], r10 = rpoly[,10]) - dat$trtn <- ifelse(dat$gen == "G121" | dat$gen=="G122", dat$gen, "G999") - dat$new <- ifelse(dat$gen == "G121" | dat$gen=="G122", "N", "Y") - dat <- transform(dat, trtn=factor(trtn), new=factor(new)) - - m1 <- lm(yield ~ c1 + c2 + c3 + c4 + c6 + c8 - + r1 + r2 + r4 + r8 + r10 - + c1:r1 + c2:r1 + c3:r1 + gen, data = dat) - # To get Type III SS use the following - # libs(car) - # car::Anova(m1, type=3) # Matches PROC GLM output - ## Sum Sq Df F value Pr(>F) - ## (Intercept) 538948 1 159.5804 3.103e-16 *** - ## c1 13781 1 4.0806 0.0494940 * - ## c2 51102 1 15.1312 0.0003354 *** - ## c3 45735 1 13.5419 0.0006332 *** - ## c4 24670 1 7.3048 0.0097349 ** - ## ... - - - # lmer - libs(lme4,lucid) - - # "group" for all data - dat$one <- factor(rep(1, nrow(dat))) - - # lmer with bobyqa (default) - m2b <- lmer(yield ~ trtn + (0 + r1 + r2 + r4 + r8 + r10 + - c1 + c2 + c3 + c4 + c6 + - c8 + r1:c1 + r1:c2 + r1:c3 || one) + - (1|new:gen), - data = dat, - control=lmerControl(check.nlev.gtr.1="ignore")) -#>vc(m2b) -#> grp var1 var2 vcov sdcor -#> new.gen (Intercept) <NA> 2870 53.57 -#> one r1:c3 <NA> 5534 74.39 -#> one.1 r1:c2 <NA> 58250 241.4 -#> one.2 r1:c1 <NA> 128000 357.8 -#> one.3 c8 <NA> 6458 80.36 -#> one.4 c6 <NA> 1400 37.41 -#> one.5 c4 <NA> 1792 42.33 -#> one.6 c3 <NA> 2549 50.48 -#> one.7 c2 <NA> 5942 77.08 -#> one.8 c1 <NA> 0 0 -#> one.9 r10 <NA> 1133 33.66 -#> one.10 r8 <NA> 1355 36.81 -#> one.11 r4 <NA> 2269 47.63 -#> one.12 r2 <NA> 241.9 15.55 -#> one.13 r1 <NA> 9203 95.93 -#> Residual <NA> <NA> 4412 66.42## grp var1 var2 vcov sdcor - ## new.gen (Intercept) <NA> 2869 53.57 - ## one r1:c3 <NA> 5532 74.37 - ## one.1 r1:c2 <NA> 58230 241.3 - ## one.2 r1:c1 <NA> 128000 357.8 - ## one.3 c8 <NA> 6456 80.35 - ## one.4 c6 <NA> 1400 37.41 - ## one.5 c4 <NA> 1792 42.33 - ## one.6 c3 <NA> 2549 50.49 - ## one.7 c2 <NA> 5942 77.08 - ## one.8 c1 <NA> 0 0 - ## one.9 r10 <NA> 1133 33.66 - ## one.10 r8 <NA> 1355 36.81 - ## one.11 r4 <NA> 2269 47.63 - ## one.12 r2 <NA> 241.8 15.55 - ## one.13 r1 <NA> 9200 95.92 - ## Residual <NA> <NA> 4412 66.42 - - # lmer with Nelder_Mead gives 'wrong' results - ## m2n <- lmer(yield ~ trtn + (0 + r1 + r2 + r4 + r8 + r10 + - ## c1 + c2 + c3 + c4 + c6 + c8 + r1:c1 + r1:c2 + r1:c3 || one) + - ## (1|new:gen) - ## , data = dat, - ## control=lmerControl(optimizer="Nelder_Mead", - ## check.nlev.gtr.1="ignore")) - ## vc(m2n) - ## groups name variance stddev - ## new.gen (Intercept) 3228 56.82 - ## one r1:c3 7688 87.68 - ## one.1 r1:c2 69750 264.1 - ## one.2 r1:c1 107400 327.8 - ## one.3 c8 6787 82.38 - ## one.4 c6 1636 40.45 - ## one.5 c4 12270 110.8 - ## one.6 c3 2686 51.83 - ## one.7 c2 7645 87.43 - ## one.8 c1 0 0.0351 - ## one.9 r10 1976 44.45 - ## one.10 r8 1241 35.23 - ## one.11 r4 2811 53.02 - ## one.12 r2 928.2 30.47 - ## one.13 r1 10360 101.8 - ## Residual 4127 64.24 - - libs(asreml,lucid) # asreml4 - - m3 <- asreml(yield ~ -1 + trtn, data=dat, - random = ~ r1 + r2 + r4 + r8 + r10 + - c1 + c2 + c3 + c4 + c6 + c8 + - r1:c1 + r1:c2 + r1:c3 + new:gen) -#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:08:36 2021 -#> LogLik Sigma2 DF wall cpu -#> 1 -894.584 7526.086 177 17:08:36 0.0 (2 restrained) -#> 2 -889.375 6662.270 177 17:08:36 0.0 (2 restrained) -#> 3 -884.552 5769.453 177 17:08:36 0.0 (2 restrained) -#> 4 -881.358 5118.056 177 17:08:36 0.0 (1 restrained) -#> 5 -879.668 4685.628 177 17:08:36 0.0 -#> 6 -879.163 4511.141 177 17:08:36 0.0 -#> 7 -879.061 4442.917 177 17:08:36 0.0 -#> 8 -879.050 4420.492 177 17:08:36 0.0#> Warning: Some components changed by more than 1% on the last iteration.## coef(m3) - ## # REML cultivar means. Very similar to Federer table 2. - ## rev(sort(round(coef(m3)$fixed[3] + coef(m3)$random[137:256,],0))) - ## ## gen_G060 gen_G021 gen_G011 gen_G099 gen_G002 - ## ## 974 949 945 944 942 - ## ## gen_G118 gen_G058 gen_G035 gen_G111 gen_G120 - ## ## 938 937 937 933 932 - ## ## gen_G046 gen_G061 gen_G082 gen_G038 gen_G090 - ## ## 932 931 927 927 926 - - ## vc(m3) - ## ## effect component std.error z.ratio constr - ## ## r1!r1.var 9201 13720 0.67 pos - ## ## r2!r2.var 241.7 1059 0.23 pos - ## ## r4!r4.var 2269 3915 0.58 pos - ## ## r8!r8.var 1355 2627 0.52 pos - ## ## r10!r10.var 1133 2312 0.49 pos - ## ## c1!c1.var 0.01 0 4.8 bound - ## ## c2!c2.var 5942 8969 0.66 pos - ## ## c3!c3.var 2549 4177 0.61 pos - ## ## c4!c4.var 1792 3106 0.58 pos - ## ## c6!c6.var 1400 2551 0.55 pos - ## ## c8!c8.var 6456 9702 0.67 pos - ## ## r1:c1!r1.var 128000 189700 0.67 pos - ## ## r1:c2!r1.var 58230 90820 0.64 pos - ## ## r1:c3!r1.var 5531 16550 0.33 pos - ## ## new:gen!new.var 2869 1367 2.1 pos - ## ## R!variance 4412 915 4.8 pos - -# } -
federer.tobacco.Rd
RCB of tobacco, height plants exposed to radiation
-A data frame with 56 observations on the following 4 variables.
row
row
block
block, numeric
dose
radiation dose, roentgens
height
height of 20 plants, cm
An experiment conducted in 1951 and described in Federer (1954). The - treatment involved exposing tobacco seeds to seven different doses of - radiation. The seedlings were transplanted to the field in an RCB - experiment with 7 treatments in 8 blocks. The physical layout of the - experiment was in 8 rows and 7 columns.
-Shortly after the plants were transplanted to the field it became - apparent that an environmental gradient existed. The response variable - was the total height (centimeters) of 20 plants.
-Walter T Federer and C S Schlottfeldt, 1954. - The use of covariance to control gradients in experiments. - Biometrics, 10, 282--290. - https://doi.org/10.2307/3001881
-R. D. Cook and S. Weisberg (1999). - Applied Regression Including Computing and Graphics.
-Walter T Federer and Russell D Wolfinger, 2003. - PROC GLM and PROC MIXED Codes for Trend Analyses for - Row-Column Designed Experiments, - Handbook of Formulas and Software for Plant Geneticists and - Breeders, Haworth Press.
-Paul N Hinz, (1987). - Nearest-Neighbor Analysis in Practice, - Iowa State Journal of Research, 62, 199--217. - https://lib.dr.iastate.edu/iowastatejournalofresearch/vol62/iss2/1
- --# \dontrun{ - -library(agridat) - -data(federer.tobacco) -dat <- federer.tobacco - -# RCB analysis. Treatment factor not signficant. -dat <- transform(dat, dosef=factor(dose), rowf=factor(row), - blockf=factor(block)) -m1 <- lm(height ~ blockf + dosef, data=dat) -anova(m1) -#> Analysis of Variance Table -#> -#> Response: height -#> Df Sum Sq Mean Sq F value Pr(>F) -#> blockf 7 388315 55474 1.8352 0.1056 -#> dosef 6 273875 45646 1.5100 0.1985 -#> Residuals 42 1269586 30228-# RCB residuals show strong spatial trends -libs(desplot) -dat$resid <- resid(m1) -desplot(dat, resid ~ row * block, - # aspect unknown - main="federer.tobacco") -- -# Row-column analysis. Treatment now significant -m2 <- lm(height ~ rowf + blockf + dosef, data=dat) -anova(m2) -#> Analysis of Variance Table -#> -#> Response: height -#> Df Sum Sq Mean Sq F value Pr(>F) -#> rowf 6 1159072 193179 26.2763 9.065e-12 *** -#> blockf 7 388315 55474 7.5455 1.355e-05 *** -#> dosef 6 119724 19954 2.7141 0.02806 * -#> Residuals 36 264666 7352 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1-# } -
fisher.barley.Rd
Multi-environment trial of 5 barley varieties, 6 locations, 2 years
-data("fisher.barley")- - -
A data frame with 60 observations on the following 4 variables.
yield
yield, bu/ac
gen
genotype/variety, 5 levels
env
environment/location, 2 levels
year
year, 1931/1932
Trials of 5 varieties of barley were conducted at 6 stations in - Minnesota during the years 1931-1932.
-This is a subset of Immer's barley data. The yield values here are - totals of 3 reps (Immer gave the average yield of 3 reps).
-Ronald Fisher (1935). - The Design of Experiments.
-George Fernandez (1991). - Analysis of Genotype x Environment Interaction by Stability Estimates. - Hort Science, 26, 947-950.
-F. Yates & W. G. Cochran (1938). - The Analysis of Groups of Experiments. - Journal of Agricultural Science, 28, 556-580, table 1. - https://doi.org/10.1017/S0021859600050978
-G. K. Shukla, 1972. - Some statistical aspects of partitioning of genotype-environmental - components of variability. - Heredity, 29, 237-245. Table 1. - https://doi.org/10.1038/hdy.1972.87
- --# \dontrun{ - - library(agridat) - data(fisher.barley) - dat <- fisher.barley - - libs(dplyr,lattice) -#> -#>#>-#> -#>#>-#> -#>#>-#> -#># Yates 1938 figure 1. Regression on env mean - # Sum years within loc - dat2 <- aggregate(yield ~ gen + env, data=dat, FUN=sum) - # Avg within env - emn <- aggregate(yield ~ env, data=dat2, FUN=mean) - dat2$envmn <- emn$yield[match(dat2$env, emn$env)] - xyplot(yield ~ envmn, dat2, group=gen, type=c('p','r'), - main="fisher.barley - stability regression", - xlab="Environment total", ylab="Variety mean", - auto.key=list(columns=3)) -- - if(0){ - # calculate stability according to the sum-of-squares approach used by - # Shukla (1972), eqn 11. match to Shukla, Table 4, M.S. column - # also matches fernandez, table 3, stabvar column - libs(dplyr) - dat2 <- dat - dat2 <- group_by(dat2, gen,env) - dat2 <- summarize(dat2, yield=sum(yield)) # means across years - dat2 <- group_by(dat2, env) - dat2 <- mutate(dat2, envmn=mean(yield)) # env means - dat2 <- group_by(dat2, gen) - dat2 <- mutate(dat2, genmn=mean(yield)) # gen means - dat2 <- ungroup(dat2) - dat2 <- mutate(dat2, grandmn=mean(yield)) # grand mean - # correction factor overall - dat2 <- mutate(dat2, cf = sum((yield - genmn - envmn + grandmn)^2)) - t=5; s=6 # t genotypes, s environments - dat2 <- group_by(dat2, gen) - dat2 <- mutate(dat2, ss=sum((yield-genmn-envmn+grandmn)^2)) - # divide by 6 to scale down to plot-level - dat2 <- mutate(dat2, sig2i = 1/((s-1)*(t-1)*(t-2)) * (t*(t-1)*ss-cf)/6) - dat2[!duplicated(dat2$gen),c('gen','sig2i')] - ## <chr> <dbl> - ## 1 Manchuria 25.87912 - ## 2 Peatland 75.68001 - ## 3 Svansota 19.59984 - ## 4 Trebi 225.52866 - ## 5 Velvet 22.73051 - } - - - libs(asreml,lucid) # asreml3 - # mixed model approach gives similar results (but not identical) - - dat2 <- dat - dat2 <- dplyr::group_by(dat2, gen,env) - dat2 <- dplyr::summarize(dat2, yield=sum(yield)) # means across years -#>dat2 <- dat2[order(dat2$gen),] - - # G-side - m1g <- asreml(yield ~ gen, data=dat2, - random = ~ env + at(gen):units, - family=asr_gaussian(dispersion=1.0)) -#> Model fitted using the sigma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:08:37 2021 -#> LogLik Sigma2 DF wall cpu -#> 1 -141.646 1.0 25 17:08:37 0.0 -#> 2 -128.547 1.0 25 17:08:37 0.0 -#> 3 -114.150 1.0 25 17:08:37 0.0 -#> 4 -104.133 1.0 25 17:08:37 0.0 -#> 5 -98.582 1.0 25 17:08:37 0.0 -#> 6 -96.781 1.0 25 17:08:37 0.0 -#> 7 -96.398 1.0 25 17:08:37 0.0 -#> 8 -96.355 1.0 25 17:08:37 0.0 -#> 9 -96.349 1.0 25 17:08:37 0.0 -#> 10 -96.348 1.0 25 17:08:37 0.0#> Warning: Some components changed by more than 1% on the last iteration.#> Model fitted using the sigma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:08:37 2021 -#> LogLik Sigma2 DF wall cpu -#> 1 -96.3476 1.0 25 17:08:37 0.0 -#> 2 -96.3476 1.0 25 17:08:37 0.0#> component std.error -#> at(gen, Manchuria):units 33.8145031 27.22721 -#> at(gen, Peatland):units 70.4489092 50.52680 -#> at(gen, Svansota):units 25.2728568 21.92919 -#> at(gen, Trebi):units 231.6981702 150.80464 -#> at(gen, Velvet):units 13.9325646 16.58571 -#> units!R 0.1666667 NA# component std.error - # at(gen, Manchuria):units 33.8145031 27.22721 - # at(gen, Peatland):units 70.4489092 50.52680 - # at(gen, Svansota):units 25.2728568 21.92919 - # at(gen, Trebi):units 231.6981702 150.80464 - # at(gen, Velvet):units 13.9325646 16.58571 - # units!R 0.1666667 NA - - # R-side estimates = G-side estimate + 0.1666 (resid variance) - m1r <- asreml(yield ~ gen, data=dat2, - random = ~ env, - residual = ~ dsum( ~ units|gen)) -#> Multi-section model using the sigma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:08:37 2021 -#> LogLik Sigma2 DF wall cpu -#> 1 -106.401 1.0 25 17:08:37 0.0 (1 restrained) -#> 2 -102.077 1.0 25 17:08:37 0.0 -#> 3 -100.377 1.0 25 17:08:37 0.0 -#> 4 -98.882 1.0 25 17:08:37 0.0 -#> 5 -97.150 1.0 25 17:08:37 0.0 -#> 6 -96.577 1.0 25 17:08:37 0.0 -#> 7 -96.413 1.0 25 17:08:37 0.0 -#> 8 -96.363 1.0 25 17:08:37 0.0 -#> 9 -96.351 1.0 25 17:08:37 0.0 -#> 10 -96.348 1.0 25 17:08:37 0.0 -#> 11 -96.348 1.0 25 17:08:37 0.0#> Multi-section model using the sigma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:08:37 2021 -#> LogLik Sigma2 DF wall cpu -#> 1 -96.3476 1.0 25 17:08:37 0.0 -#> 2 -96.3476 1.0 25 17:08:37 0.0#> component std.error -#> gen_Manchuria!R 34.00058 27.24871 -#> gen_Peatland!R 70.65501 50.58925 -#> gen_Svansota!R 25.42022 21.88606 -#> gen_Trebi!R 231.85846 150.78756 -#> gen_Velvet!R 14.08405 16.55558# component std.error - # gen_Manchuria!R 34.00058 27.24871 - # gen_Peatland!R 70.65501 50.58925 - # gen_Svansota!R 25.42022 21.88606 - # gen_Trebi!R 231.85846 150.78756 - # gen_Velvet!R 14.08405 16.55558 - -# } -
fisher.latin.Rd
Latin square experiment on mangolds. Used by R. A. Fisher.
- -data("fisher.latin")- -
A data frame with 25 observations on the following 4 variables.
trt
treatment factor, 5 levels
yield
yield
row
row
col
column
Yields are root weights. Data originally collected by Mercer and - Hall as part of a uniformity trial.
-This data is the same as the data from columns 1-5, rows 16-20, of the - mercer.mangold.uniformity data in this package.
-Unsurprisingly, there are no significant treatment differences.
- -Mercer, WB and Hall, AD, 1911. - The experimental error of field trials - The Journal of Agricultural Science, 4, 107-132. Table 1. - http::/doi.org/10.1017/S002185960000160X
-R. A. Fisher. Statistical Methods for Research Workers.
- - ---library(agridat) - -data(fisher.latin) -dat <- fisher.latin - -# Standard latin-square analysis -m1 <- lm(yield ~ trt + factor(row) + factor(col), data=dat) -anova(m1)#> Analysis of Variance Table -#> -#> Response: yield -#> Df Sum Sq Mean Sq F value Pr(>F) -#> trt 4 330.2 82.56 0.5647 0.692978 -#> factor(row) 4 4240.2 1060.06 7.2511 0.003294 ** -#> factor(col) 4 701.8 175.46 1.2002 0.360412 -#> Residuals 12 1754.3 146.19 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1-
foulley.calving.Rd
Calving difficulty by calf sex and age of dam
-data("foulley.calving")- - -
A data frame with 54 observations on the following 4 variables.
sex
calf gender
age
dam age factor, 9 levels
score
score for birthing difficulty, S1 < S2 < S3
count
count of births for each category
These data are calving difficulty scores for purebred US Simmental - cows.
-The raw data show that the greatest calving difficulty is for young - dams with male calves. - Differences between male/female calves decreased with age of the dam.
-The goodness of fit can be improved by using a scaling effect for age - of dam.
-Note: The paper by Foulley and Gianola has '21943' as the count for - score 1, F, >8. This data uses '20943' so that the marginal totals - from this data match the marginal totals given in the paper.
-Used with permission of Jean-Louis Foulley.
-JL Foulley, D Gianola (1996). - Statistical Analysis of Ordered Categorical Data via a Structured - Heteroskedastic Threshold Model. - Genet Sel Evol, 28, 249--273. - https://doi.org/10.1051/gse:19960304
- --# \dontrun{ - -library(agridat) -data(foulley.calving) -dat <- foulley.calving - -## Plot -d2 <- transform(dat, - age=ordered(age, levels=c("0.0-2.0","2.0-2.5","2.5-3.0", - "3.0-3.5","3.5-4.0", - "4.0-4.5","4.5-5.0","5.0-8.0","8.0+")), - score=ordered(score, levels=c('S1','S2','S3'))) -libs(reshape2) -d2 <- acast(dat, sex+age~score, value.var='count') -d2 <- prop.table(d2, margin=1) -libs(lattice) -thm <- simpleTheme(col=c('skyblue','gray','pink')) -barchart(d2, par.settings=thm, main="foulley.calving", - xlab="Frequency of calving difficulty", ylab="Calf gender and dam age", - auto.key=list(columns=3, text=c("Easy","Assited","Difficult"))) -#> -#>#>-#> -#>#>-#> -#>#>-#> -#>#> formula: score ~ sex * age -#> data: dat -#> -#> link threshold nobs logLik AIC niter max.grad cond.H -#> probit flexible 363759 -108088.45 216214.90 7(0) 5.12e-12 6.0e+02 -#> -#> Coefficients: -#> Estimate Std. Error z value Pr(>|z|) -#> sexM 0.500605 0.015178 32.982 < 2e-16 *** -#> age2.0-2.5 -0.237643 0.013846 -17.163 < 2e-16 *** -#> age2.5-3.0 -0.681648 0.018894 -36.077 < 2e-16 *** -#> age3.0-3.5 -0.957138 0.018322 -52.241 < 2e-16 *** -#> age3.5-4.0 -1.082520 0.024356 -44.446 < 2e-16 *** -#> age4.0-4.5 -1.146834 0.022496 -50.981 < 2e-16 *** -#> age4.5-5.0 -1.175312 0.028257 -41.594 < 2e-16 *** -#> age5.0-8.0 -1.280587 0.016948 -75.559 < 2e-16 *** -#> age8.0+ -1.323749 0.024079 -54.974 < 2e-16 *** -#> sexM:age2.0-2.5 0.003035 0.019333 0.157 0.87527 -#> sexM:age2.5-3.0 -0.076677 0.026106 -2.937 0.00331 ** -#> sexM:age3.0-3.5 -0.080657 0.024635 -3.274 0.00106 ** -#> sexM:age3.5-4.0 -0.135774 0.032927 -4.124 3.73e-05 *** -#> sexM:age4.0-4.5 -0.124303 0.029819 -4.169 3.07e-05 *** -#> sexM:age4.5-5.0 -0.198897 0.038309 -5.192 2.08e-07 *** -#> sexM:age5.0-8.0 -0.135524 0.022804 -5.943 2.80e-09 *** -#> sexM:age8.0+ -0.131033 0.031852 -4.114 3.89e-05 *** -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 -#> -#> Threshold coefficients: -#> Estimate Std. Error z value -#> S1|S2 0.82504 0.01083 76.15 -#> S2|S3 1.52017 0.01138 133.62-## Coefficients: -## Estimate Std. Error z value Pr(>|z|) -## sexM 0.500605 0.015178 32.982 < 2e-16 *** -## age2.0-2.5 -0.237643 0.013846 -17.163 < 2e-16 *** -## age2.5-3.0 -0.681648 0.018894 -36.077 < 2e-16 *** -## age3.0-3.5 -0.957138 0.018322 -52.241 < 2e-16 *** -## age3.5-4.0 -1.082520 0.024356 -44.446 < 2e-16 *** -## age4.0-4.5 -1.146834 0.022496 -50.981 < 2e-16 *** -## age4.5-5.0 -1.175312 0.028257 -41.594 < 2e-16 *** -## age5.0-8.0 -1.280587 0.016948 -75.559 < 2e-16 *** -## age8.0+ -1.323749 0.024079 -54.974 < 2e-16 *** -## sexM:age2.0-2.5 0.003035 0.019333 0.157 0.87527 -## sexM:age2.5-3.0 -0.076677 0.026106 -2.937 0.00331 ** -## sexM:age3.0-3.5 -0.080657 0.024635 -3.274 0.00106 ** -## sexM:age3.5-4.0 -0.135774 0.032927 -4.124 3.73e-05 *** -## sexM:age4.0-4.5 -0.124303 0.029819 -4.169 3.07e-05 *** -## sexM:age4.5-5.0 -0.198897 0.038309 -5.192 2.08e-07 *** -## sexM:age5.0-8.0 -0.135524 0.022804 -5.943 2.80e-09 *** -## sexM:age8.0+ -0.131033 0.031852 -4.114 3.89e-05 *** -## --- -## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 - -## Threshold coefficients: -## Estimate Std. Error z value -## S1|S2 0.82504 0.01083 76.15 -## S2|S3 1.52017 0.01138 133.62 - -## Note 1.52017 - 0.82504 = 0.695 matches Foulley's '2-3' threshold estimate - -predict(m2) # probability of each category -#> $fit -#> [1] 0.627195037 0.711933503 0.860542204 0.913436999 0.938551496 0.944707720 -#> [7] 0.955306699 0.959118319 0.962397773 0.218838605 0.183177857 0.101747212 -#> [13] 0.066737379 0.048833512 0.044302103 0.036355388 0.033449788 0.030928311 -#> [19] 0.153966358 0.104888640 0.037710585 0.019825622 0.012614993 0.010990177 -#> [25] 0.008337912 0.007431893 0.006673917 0.795325167 0.856036899 0.934054457 -#> [31] 0.962639751 0.971775863 0.975687944 0.977268784 0.982381571 0.984174388 -#> [37] 0.140441286 0.104573858 0.052106611 0.030741447 0.023599423 0.020485574 -#> [43] 0.019216920 0.015069324 0.013597527 0.064233547 0.039389243 0.013838932 -#> [49] 0.006618802 0.004624713 0.003826482 0.003514297 0.002549106 0.002228085 -#>- - -# } -
fox.wheat.Rd
Wheat yields of 22 varieties at 14 sites in Australia
-data("fox.wheat")- - -
A data frame with 308 observations on the following 4 variables.
gen
genotype/variety factor, 22 levels
site
site factor, 14 levels
yield
yield, tonnes/ha
state
state in Australia
The 1975 Interstate Wheat Variety trial in Australia used RCB design - with 4 blocks, 22 varieties in 14 sites. Wagga is represented twice, by - trials sown in May and June.
-The 22 varieties were a highly selected and represent considerable - genetic diversity with four different groups. - (i) from the University of Sydney: Timson, Songlen, Gamenya. - (ii) widely grown on Mallee soils: Heron and Halberd. - (iii) late maturing varieties from Victoria: Pinnacle, KL-21, JL-157. - (iv) with Mexican parentage: WW-15 and Oxley.
-Fox, P.N. and Rathjen, A.J. (1981). - Relationships between sites used in the interstate wheat variety trials. - Australian Journal of Agricultural Research, 32, 691-702.
-Electronic version supplied by Jonathan Godfrey.
- ---library(agridat) - -data(fox.wheat) -dat <- fox.wheat - -# Means of varieties. Slight differences from Fox and Rathjen suggest -# they had more decimals of precision than shown. -tapply(dat$yield, dat$gen, mean)#> 64-WO-2-22 64-WO-2-29 8/20/09 Eagle Gamenya Halberd Heron -#> 2.046429 2.298571 2.466429 2.053571 1.767857 2.043571 1.861429 -#> JL-157 KL-21 MM/68/1 MMC/21/9 Oxley Pinnacle QX-333 -#> 2.167143 2.195000 2.204286 2.338571 2.394286 1.919286 1.822143 -#> RAC-185 RAC-255 RAC-88 Songlen Timson WW-11B WW-15 -#> 2.349286 2.141429 2.299286 1.952143 1.645000 2.172143 2.425000 -#> WW-97-2 -#> 2.077143-# Calculate genotype means, merge into the data -genm <- tapply(dat$yield, dat$gen, mean) -dat$genm <- genm[match(dat$gen, names(genm))] - -# Calculate slopes for each site. Matches Fox, Table 2, Col A. -m1 <- lm(yield~site+site:genm, data=dat) -sort(round(coef(m1)[15:28],2), dec=TRUE)#> siteLongerenong:genm siteWaggaMay:genm siteTurretfield:genm -#> 2.67 2.41 2.18 -#> siteUrania:genm siteWaggaJune:genm siteNarrabri:genm -#> 1.80 1.50 0.72 -#> siteNarrogin:genm siteWarwick:genm siteWonganHills:genm -#> 0.68 0.65 0.46 -#> siteNangari:genm siteWalpeup:genm siteTheGums:genm -#> 0.36 0.31 0.15 -#> sitePirrinuan:genm siteMerredin:genm -#> 0.10 0.00-# Figure 1 of Fox -libs(lattice) -xyplot(yield~genm|state, data=dat, type=c('p','r'), group=site, - auto.key=list(columns=4), - main="fox.wheat", xlab="Variety mean across all sites", - ylab="Variety yield at each site within states")-
garber.multi.uniformity.Rd
Uniformity trials of oat hay and wheat grain, at West Virginia - Agricultural Experiment Station, 1923-1924, on the same land.
-A data frame with 270 observations on the following 4 variables.
row
row
col
column
oats
yield of oat hay
wheat
yield of wheat grain
Each plot was 68 feet x 21 feet. After discarding a 3.5 foot border on - all sides, the harvested area was 61 feet x 14 feet. The plots were - laid out in doubles with a 14-foot roadway between the plots.
-Note: The orientation of the plots is a guess.
-Field width: 6 plots * 68 feet + 14 ft/roadway * 2 = 436 feet
-Field length: 45 plots * 21 feet/plot = 945 feet
-In 1923 the field was planted to oats and harvested as hay.
-In 1924 the field was planted to wheat and harvested for grain.
-Garber: "Plots 211 to 214, and 261 to 264, [note, these are rows - 11-14, columns 5-6] inclusive, were eliminated from this study because - of the fact that a few years ago a straw stack had stood on or in the - vicinity...which undoubtedly accounts for the relatively high yields - on plots 261 to 264, inclusive."
-Note: The source document contained mean-subtracted yields. The oat - yield in row 22, column 5 was given as +59.7. This is obviously - incorrect, since the negative yields all end in '.7' and positive - yields all ended in '.3'. We used -59.7 as the centered yield value - and added the mean of 1883.7 to all centered yields to obtain absolute - yields.
-Note: Another paper by these authors, - "A Method of Laying Out Experimental Plats", contains three additional - years of uniformity trials, with each crop expressed as a percentage. - https://archive.org/details/in.ernet.dli.2015.229753?q=method+of+laying+out+experiment+plats
-Garber, RJ and Mcllvaine, TC and Hoover, MM. 1926. - A study of soil heterogeneity in experiment plots. - Jour Agr Res, 33, 255-268. Tables 3, 5. - https://naldc.nal.usda.gov/download/IND43967148/PDF
- --# \dontrun{ - -library(agridat) - - data(garber.multi.uniformity) - dat <- garber.multi.uniformity - - libs(desplot) - desplot(dat, oats ~ col*row, - flip=TRUE, tick=TRUE, aspect=945/436, # true aspect - main="garber.multi.uniformity oats") -- desplot(dat, wheat ~ col*row, - flip=TRUE, tick=TRUE, aspect=945/436, # true aspect - main="garber.multi.uniformity wheat") -#> [1] 0.36992-# } -
gartner.corn.Rd
Yield monitor data from a corn field in Minnesota
-data("gartner.corn")- - -
A data frame with 4949 observations on the following 8 variables.
long
longitude
lat
latitude
mass
grain mass flow per second, pounds
time
GPS time, in seconds
seconds
seconds elapsed for each datum
dist
distance traveled for each datum, in inches
moist
grain moisture, percent
elev
elevation, feet
The data was collected 5 Nov 2011 from a corn field south of Mankato, - Minnesota, using a combine-mounted yield monitor. - https://www.google.com/maps/place/43.9237575,-93.9750632
-Each harvested swath was 12 rows wide = 360 inches.
-Time 0 is 5 Nov 2011, 12:38:03 Central Time. - Time 16359 = 4.54 hours later.
-Yield is calculated as total dry weight (corrected to 15.5 percent moisture), divided by 56 pounds (to get bushels), divided by the harvested area. - drygrain = [massflow * seconds * (100-moisture) / (100-15.5)] / 56 - harvested area = (distance * swath width) / 6272640 - yield = drygrain / area
-Originally from University of Minnesota Precision Agriculture Center. - https://www.soils.umn.edu/academics/classes/soil4111/hw/
-Retrieved 27 Aug 2015 from https://web.archive.org/web/20100717003256/https://www.soils.umn.edu/academics/classes/soil4111/files/yield_a.xls
-Used under Creative Commons BY-SA 3.0 license.
-Suman Rakshit, Adrian Baddeley, Katia Stefanova, Karyn Reeves, Kefei - Chen, Zhanglong Cao, Fiona Evans, Mark Gibberd (2020). - Novel approach to the analysis of spatially-varying treatment effects - in on-farm experiments. - Field Crops Research, 255, 15 September 2020, 107783. - https://doi.org/10.1016/j.fcr.2020.107783
- --# \dontrun{ - -library(agridat) -data(gartner.corn) -dat <- gartner.corn - -# Calculate yield -dat <- transform(dat, yield=(mass*seconds*(100-moist)/(100-15.5)/56)/(dist*360/6272640)) -# Delete yield outliers -dat <- subset(dat, yield >50) - -# Colors for yield -medy <- median(dat$yield) -ncols <- 20 -wwidth <- 150 -brks <- seq(from = -wwidth/2, to=wwidth/2, length=ncols-1) -brks <- c(-250, brks, 250) # 250 is safe..we cleaned data outside ?(50,450)? -yldbrks <- brks + medy -dat <- transform(dat, yldbin = as.numeric(cut(yield, breaks= yldbrks))) - -# Add polygons for soil map units -# Go to: https://websoilsurvey.nrcs.usda.gov/app/WebSoilSurvey.aspx -# Click: Lat and Long. 43.924, -93.975 -# Click the little AOI rectangle icon. Drag around the field -# In the AOI Properties, enter the Name: Gartner -# Click the tab Soil Map to see map unit symbols, names -# Click: Download Soils Data. Click: Create Download Link. -# Download the zip file and find the soilmu_a_aoi files. - -# Read shape files -libs(rgdal) -#>#>-#> -#> -#> -#> -#> -#> -#> -#> -#># shp <- readOGR("C:/x/rpack/agridat/inst/files","gartner.corn") -shp <- readOGR(system.file(package="agridat", "files"), "gartner.corn") -#> OGR data source with driver: ESRI Shapefile -#> Source: "C:\kw\R\win-library\4.0\agridat\files", layer: "gartner.corn" -#> with 14 features -#> It has 4 fields -#> Integer64 fields read as strings: SPATIALVER-# Plot the shapefiles first to set up the coordinate system -plot(shp, xlim=range(dat$long), ylim=range(dat$lat)) -redblue <- colorRampPalette(c("firebrick", "lightgray", "#375997")) -with(dat, points(long,lat, main="yield heat map", - col=redblue(ncols)[yldbin], cex=.75, pch=16)) -# Manual annotation of soil map units -text(x = c(-93.97641, -93.97787, -93.97550, -93.97693, -93.97654, -93.97480, - -93.97375, -93.978284, -93.977617, -93.976715, -93.975929), - y = c(43.92185, 43.92290, 43.92358, 43.92445, 43.92532, 43.92553, - 43.92568, 43.922163, 43.926427, 43.926993, 43.926631), - lab=c("110","319","319","230","105C","110","211","110","211","230","105C")) --# Trim off the ends of the field & re-do image above -dat <- subset(dat, lat < 43.925850 & lat > 43.921178) - -# Identify the soil type for each yield point -dat$ix <- over(SpatialPoints(dat[ , c('long','lat')]), - SpatialPolygons(shp@polygons)) -dat$mu <- shp@data[, "MUSYM"][dat$ix] -# Check the points are properly identified -# with(dat, points(long,lat, col=redblue(ncols)[ix], cex=.75, pch=16)) - -# Aggregate points by soil type and analyze -tapply(dat$yield, dat$mu, mean) -#> 105C 110 211 230 319 -#> 137.0062 134.9430 143.2656 135.3349 135.0155#> 105C 110 211 230 319 -#> 17.521462 11.166786 8.513848 11.958948 10.668256libs(lattice) -densityplot(~yield|mu, dat, layout=c(1,5), - main="gartner.corn - yield density plot") -- -if(0){ - # Draw a 3D surface. Clearly shows the low drainage area - libs(rgl) - dat <- transform(dat, x=long-min(long), y=lat-min(lat), z=elev-min(elev)) - clear3d() - points3d(dat$x, dat$y, dat$z/50000, - col=redblue(ncols)[dat$yldbin]) - axes3d() - title3d(xlab='x',ylab='y',zlab='elev') - rgl.close() -} - -# } -
gathmann.bt.Rd
Impact of Bt corn on non-target species
-A data frame with 16 observations on the following 3 variables.
gen
genotype/maize, Bt
ISO
thysan
thysan abundance
aranei
aranei abundance
The experiment involved comparing a Bt maize and a near-isogenic - control variety.
-Species abundances were measured for Thysanoptera (thrips) and - Araneida (spiders) in 8 different plots.
-Each response is probably a mean across repeated measurements.
-Used with permission of Achim Gathmann.
-L. A. Hothorn, 2005. - Evaluation of Bt-Maize Field Trials by a Proof of Safety. - https://www.seedtest.org/upload/cms/user/presentation7Hothorn.pdf
- --# \dontrun{ - -library(agridat) -data(gathmann.bt) -dat <- gathmann.bt - - -# EDA suggests Bt vs ISO is significant for thysan, not for aranei -libs(lattice) -libs(reshape2) -d2 <- melt(dat, id.var='gen') -bwplot(value ~ gen|variable, d2, - main="gathmann.bt", ylab="Insect abundance", - panel=function(x,y,...){ - panel.xyplot(jitter(as.numeric(x)),y,...) - panel.bwplot(x,y,...) - }, - scales=list(relation="free")) -- -if(0){ - - # ----- Parametric CI. Thysan significant, aranei not significant. - libs(equivalence) - - th0 <- with(dat, tost(thysan[1:8], thysan[9:16], alpha=.05, paired=FALSE)) - lapply(th0[c("estimate","tost.interval")], round, 2) - # 14.28-8.72=5.56, (2.51, 8.59) # match Gathmann p. 11 - - ar0 <- with(dat, tost(aranei[1:8], aranei[9:16], alpha=.05, epsilon=.4)) - lapply(ar0[c("estimate","tost.interval")], round, 2) - # .57-.47=.10, (-0.19, 0.40) # match Gathmann p. 11 - - # ----- Non-parametric exact CI. Same result. - libs(coin) - - th1 <- wilcox_test(thysan ~ gen, data=dat, conf.int=TRUE, conf.level=0.90) - lapply(confint(th1), round, 2) - # 6.36, (2.8, 9.2) # Match Gathmann p. 11 - - ar1 <- wilcox_test(aranei ~ gen, data=dat, conf.int=TRUE, conf.level=0.90) - lapply(confint(ar1), round, 2) - # .05 (-.2, .4) - - - # ----- Log-transformed exact CI. Same result. - th2 <- wilcox_test(log(thysan) ~ gen, data=dat, alternative=c("two.sided"), - conf.int=TRUE, conf.level=0.9) - lapply(confint(th2), function(x) round(exp(x),2)) - # 1.66, (1.38, 2.31) # Match Gathmann p 11 - - # ----- Log-transform doesn't work on aranei, but asinh(x/2) does - ar2 <- wilcox_test(asinh(aranei/2) ~ gen, data=dat, - alternative=c("two.sided"), - conf.int=TRUE, conf.level=0.9) - lapply(confint(ar2), function(x) round(sinh(x)*2,1)) - -} - -# } -
gauch.soy.Rd
New York soybean yields, 1977 to 1988, for 7 genotypes, 55 - environments (9 loc, 12 years), 2-3 reps.
-A data frame with 1454 observations on the following 4 variables.
yield
yield, kg/ha
rep
repeated measurement
gen
genotype, 7 levels
env
environment, 55 levels
year
year, 77-88
loc
location, 10 levels
Soybean yields at 13 percent moisture for 7 genotypes in 55 - environments with 4 replicates. Some environments had only 2 or 3 - replicates. The experiment was an RCB design, but some plots were - missing and there were many other soybean varieties in the experiment. - The replications appear in random order and do _NOT_ define blocks. - Environment names are a combination of the first letter of the - location name and the last two digits of the year. The location codes - are: - A=Aurora, C=Chazy, D=Riverhead, E=Etna, G=Geneseo, - I=Ithica, L=Lockport, N=Canton, R=Romulus, V=Valatie. - Plots were 7.6 m long, four rows wide (middle two rows were - harvested).
-This data has been widely used (in various subsets) to promote the - benefits of AMMI (Additive Main Effects Multiplicative Interactions) - analyses.
-The gen x env means of Table 1 (Zobel et al 1998) are least-squares - means (personal communication).
-Retrieved Sep 2011 from - https://www.microcomputerpower.com/matmodel/matmodelmatmodel_sample_.html
-Used with permission of Hugh Gauch.
-Zobel, RW and Wright, MJ and Gauch Jr, HG. 1998. - Statistical analysis of a yield trial. - Agronomy journal, 80, 388-393. - https://doi.org/10.2134/agronj1988.00021962008000030002x
-None
- --# \dontrun{ - -library(agridat) -data(gauch.soy) -dat <- gauch.soy - -## dat <- transform(dat, -## year = substring(env, 2), -## loc = substring(env, 1, 1)) - -# AMMI biplot -libs(agricolae) -# Figure 1 of Zobel et al 1988, means vs PC1 score -dat2 <- droplevels(subset(dat, is.element(env, c("A77","C77","V77", -"V78","A79","C79","G79","R79","V79","A80","C80","G80","L80","D80", -"R80","V80","A81","C81","G81","L81","D81","R81","V81","A82","L82", -"G82","V82","A83","I83","G83","A84","N84","C84","I84","G84")))) - -m2 <- with(dat2, AMMI(env, gen, rep, yield)) -bip <- m2$biplot -with(bip, plot(yield, PC1, type='n', main="gauch.soy -- AMMI biplot")) -with(bip, text(yield, PC1, rownames(bip), - col=ifelse(bip$type=="GEN", "darkgreen", "blue"), - cex=ifelse(bip$type=="GEN", 1.5, .75))) -# } -
george.wheat.Rd
Multi-location/year breeding trial in California
-data("george.wheat")- - -
A data frame with 13996 observations on the following 5 variables.
gen
genotype number
year
year
loc
location
block
block
yield
yield per plot
This is a nice example of data from a breeding trial, in which some - check genotypes are kepts during the whole experiment, while other - genotypes enter and leave the breeding program. The data is highly - unbalanced with respect to genotypes-by-environments.
-Results of late-stage small-trials of 211 genotypes of wheat in - California, conducted at 9 locations during the years 2004-2018.
-Each trial was an RCB with 4 blocks.
-The authors used this data to look at GGE biplots across years and - concluded that repeatable genotype-by-location patterns were weak, and - therefore the California cereal production region is a large, - unstable, mega-environment.
-Data downloaded 2019-10-29 from Dryad, - https://doi.org/10.5061/dryad.bf8rt6b. - Data are public domain.
-Nicholas George and Mark Lundy (2019). - Quantifying Genotype x Environment Effects in Long-Term Common Wheat Yield Trials from an Agroecologically Diverse Production Region. - Crop Science, 59, 1960-1972. - https://doi.org/10.2135/cropsci2019.01.0010
-None
- --# \dontrun{ - library(agridat) - libs(lattice, reshape2) - data(george.wheat) - dat <- george.wheat - - dat$env <- paste0(dat$year, ".", dat$loc) - # average reps, cast to matrix - mat <- reshape2::acast(dat, gen ~ env, value.var="yield", fun=mean, na.rm=TRUE) - lattice::levelplot(mat, aspect="m", - main="george.wheat", xlab="genotype", ylab="environment", - scales=list(x=list(cex=.3,rot=90),y=list(cex=.5))) --# } -
giles.wheat.Rd
Straw length and ear emergence for wheat genotypes. Data are - unbalanced with respect to experiment year and genotype.
-data("giles.wheat")- - -
A data frame with 247 observations on the following 4 variables.
gen
genotype. Note, this is numeric!
env
environment
straw
straw length
emergence
ear emergence, Julian date
Highly unbalanced data of straw length and ear emergence date for - wheat genotypes.
-The 'genotype' column is called 'Accession number' in original data. - The genotypes were chosen to represent the range of variation in the - trait.
-The Julian date was found to be preferable to other methods (such as - days from sowing).
-Piepho (2003) fit a bilinear model to the straw emergence data. This - is similar to Finlay-Wilkinson regression.
-R. Giles (1990). - Utilization of unreplicated observations of agronomic characters in a wheat germplasm collection. - In: Wheat Genetic Resources. Meeting Diverse Needs. - Wiley, Chichester, U.K., pp.113-130.
-Piepho, HP (2003). - Model-based mean adjustment in quantitative germplasm evaluation data. - Genetic Resources and Crop Evolution, 50, 281-290. - https://doi.org/10.1023/A:1023503900759
- --# \dontrun{ - -library(agridat) -data(giles.wheat) -dat <- giles.wheat -dat <- transform(dat, gen=factor(gen)) -dat <- transform(dat, env=factor(env)) -dat1 <- subset(dat, !is.na(straw)) -dat2 <- subset(dat, !is.na(emergence)) - -# Traits are not related -# with(dat, plot(straw~emergence)) - -# Show unbalancedness of data -libs(lattice, reshape2) -redblue <- colorRampPalette(c("firebrick", "lightgray", "#375997")) -levelplot(acast(dat, gen ~ env, value.var='emergence'), - col.regions=redblue, - xlab="genotype", ylab="year", - main="giles.wheat - straw length") -#> -#>#>-#> -#>-# Mean across years. Matches Piepho Table 7 'Simple' -m1 = lm(straw ~ gen, data=dat1) -emmeans(m1, 'gen') -#> gen emmean SE df lower.CL upper.CL -#> 264 113.7 6.78 40 100.0 127.4 -#> 271 89.2 5.87 40 77.4 101.1 -#> 277 110.7 6.78 40 97.0 124.4 -#> 303 73.7 6.78 40 60.0 87.4 -#> 590 35.7 6.78 40 22.0 49.4 -#> 788 84.3 6.78 40 70.6 98.0 -#> 789 107.7 6.78 40 94.0 121.4 -#> 929 81.3 6.78 40 67.6 95.0 -#> 988 132.7 6.78 40 119.0 146.4 -#> 1189 131.0 5.87 40 119.1 142.9 -#> 1567 68.3 6.78 40 54.6 82.0 -#> 1571 79.0 6.78 40 65.3 92.7 -#> 2079 96.3 6.78 40 82.6 110.0 -#> 2098 83.0 6.78 40 69.3 96.7 -#> 2194 78.7 6.78 40 65.0 92.4 -#> 2208 54.0 6.78 40 40.3 67.7 -#> 2217 103.3 6.78 40 89.6 117.0 -#> 2495 82.3 6.78 40 68.6 96.0 -#> 2499 111.3 6.78 40 97.6 125.0 -#> -#> Confidence level used: 0.95-# Simple two-way model. NOT the bi-additive model of Piepho. -m2 = lm(straw ~ gen + env, data=dat1) -emmeans(m2, 'gen') -#> gen emmean SE df lower.CL upper.CL -#> 264 124.3 7.52 30 109.0 139.7 -#> 271 97.9 6.35 30 85.0 110.9 -#> 277 121.3 7.52 30 106.0 136.7 -#> 303 84.3 7.52 30 69.0 99.7 -#> 590 45.9 6.16 30 33.3 58.4 -#> 788 82.0 5.65 30 70.5 93.6 -#> 789 105.4 5.65 30 93.8 116.9 -#> 929 78.5 5.41 30 67.5 89.6 -#> 988 128.9 5.40 30 117.9 139.9 -#> 1189 128.5 4.78 30 118.7 138.3 -#> 1567 64.1 6.32 30 51.2 77.0 -#> 1571 74.8 6.32 30 61.9 87.7 -#> 2079 92.6 6.01 30 80.3 104.9 -#> 2098 79.3 6.01 30 67.0 91.5 -#> 2194 73.2 6.24 30 60.4 85.9 -#> 2208 48.5 6.24 30 35.8 61.3 -#> 2217 97.9 6.24 30 85.1 110.6 -#> 2495 74.1 6.56 30 60.7 87.5 -#> 2499 103.1 6.56 30 89.7 116.5 -#> -#> Results are averaged over the levels of: env -#> Confidence level used: 0.95-# Bi-additive model. Matches Piepho Table 6, rows (c) -libs(gnm) -m3 <- gnm(straw ~ env + Mult(gen,env), data=dat1) -#> Initialising -#> Running start-up iterations.. -#> Running main iterations......................................................... -#> .......... -#> Done#> adjusted gen env straw emergence -#> 1 120 264 1970 121 156 -#> 2 94 271 1970 90 155 -#> 3 117 277 1970 117 148 -#> 4 83 303 1970 86 159 -#> 20 91 264 1971 90 146 -#> 21 67 271 1971 68 146 -#> 22 89 277 1971 89 137 -#> 23 56 303 1971 57 157 -#> 24 28 590 1971 27 157 -#> 39 130 264 1972 130 150 -#> 40 96 271 1972 98 152 -#> 41 126 277 1972 126 143 -#> 42 81 303 1972 78 154 -#> 43 41 590 1972 42 161 -#> 59 101 271 1973 101 NA -#> 63 80 788 1973 80 NA -#> 64 96 789 1973 96 NA -#> 81 38 590 1974 38 163 -#> 82 85 788 1974 82 154 -#> 83 106 789 1974 112 147 -#> 84 81 929 1974 81 149 -#> 85 121 988 1974 124 165 -#> 86 126 1189 1974 120 154 -#> 101 89 788 1975 91 160 -#> 102 119 789 1975 115 155 -#> 103 83 929 1975 83 157 -#> 104 142 988 1975 144 169 -#> 105 148 1189 1975 149 170 -#> 122 79 929 1976 80 151 -#> 124 115 1189 1976 110 158 -#> 125 67 1567 1976 60 153 -#> 126 76 1571 1976 80 151 -#> 127 89 2079 1976 100 148 -#> 128 83 2098 1976 80 134 -#> 142 133 988 1977 130 168 -#> 143 139 1189 1977 145 168 -#> 146 91 2079 1977 85 161 -#> 147 78 2098 1977 75 143 -#> 148 72 2194 1977 75 161 -#> 149 47 2208 1977 50 157 -#> 150 99 2217 1977 100 161 -#> 165 103 2079 1978 104 158 -#> 166 90 2098 1978 94 139 -#> 167 83 2194 1978 76 163 -#> 168 56 2208 1978 57 158 -#> 169 111 2217 1978 112 158 -#> 170 81 2495 1978 82 153 -#> 171 121 2499 1978 120 156 -#> 182 61 1567 1979 65 166 -#> 183 75 1571 1979 75 169 -#> 186 80 2194 1979 85 169 -#> 187 60 2208 1979 55 162 -#> 188 101 2217 1979 98 164 -#> 189 78 2495 1979 75 159 -#> 190 109 2499 1979 110 162 -#> 201 79 1567 1980 80 162 -#> 202 86 1571 1980 82 160 -#> 208 88 2495 1980 90 153 -#> 209 104 2499 1980 104 157-# ----- Analysis of Ear emergence ----- - -# Simple two-way model. -m4 = lm(emergence ~ 1 + gen + env, data=dat2) -emmeans(m4, c('gen','env')) # Matches Piepho Table 9. rpws (c) -#> gen env emmean SE df lower.CL upper.CL -#> 264 1970 155 1.31 43 152 157 -#> 271 1970 156 1.31 43 153 159 -#> 277 1970 146 1.31 43 144 149 -#> 303 1970 161 1.31 43 158 164 -#> 590 1970 167 1.51 43 164 170 -#> 788 1970 160 1.72 43 156 163 -#> 789 1970 154 1.72 43 151 158 -#> 929 1970 156 2.16 43 152 161 -#> 988 1970 168 2.10 43 164 173 -#> 1189 1970 164 2.10 43 160 168 -#> 1567 1970 160 2.51 43 155 166 -#> 1571 1970 160 2.51 43 155 165 -#> 2079 1970 158 2.43 43 153 163 -#> 2098 1970 141 2.43 43 136 146 -#> 2194 1970 162 2.48 43 157 167 -#> 2208 1970 157 2.48 43 152 162 -#> 2217 1970 159 2.48 43 154 164 -#> 2495 1970 153 2.54 43 148 158 -#> 2499 1970 156 2.54 43 151 161 -#> 264 1971 146 1.25 43 144 149 -#> 271 1971 148 1.25 43 145 150 -#> 277 1971 138 1.25 43 135 141 -#> 303 1971 153 1.25 43 150 155 -#> 590 1971 158 1.28 43 156 161 -#> 788 1971 151 1.62 43 148 155 -#> 789 1971 146 1.62 43 143 149 -#> 929 1971 148 2.06 43 144 152 -#> 988 1971 160 2.00 43 156 164 -#> 1189 1971 156 2.00 43 152 160 -#> 1567 1971 152 2.43 43 147 157 -#> 1571 1971 152 2.43 43 147 157 -#> 2079 1971 149 2.34 43 145 154 -#> 2098 1971 132 2.34 43 128 137 -#> 2194 1971 154 2.40 43 149 158 -#> 2208 1971 148 2.40 43 143 153 -#> 2217 1971 150 2.40 43 145 155 -#> 2495 1971 145 2.46 43 140 150 -#> 2499 1971 148 2.46 43 143 153 -#> 264 1972 150 1.25 43 147 152 -#> 271 1972 151 1.25 43 148 154 -#> 277 1972 141 1.25 43 139 144 -#> 303 1972 156 1.25 43 154 159 -#> 590 1972 162 1.28 43 159 164 -#> 788 1972 155 1.62 43 152 158 -#> 789 1972 149 1.62 43 146 153 -#> 929 1972 151 2.06 43 147 156 -#> 988 1972 163 2.00 43 159 168 -#> 1189 1972 159 2.00 43 155 163 -#> 1567 1972 156 2.43 43 151 160 -#> 1571 1972 155 2.43 43 150 160 -#> 2079 1972 153 2.34 43 148 158 -#> 2098 1972 136 2.34 43 131 141 -#> 2194 1972 157 2.40 43 152 162 -#> 2208 1972 152 2.40 43 147 157 -#> 2217 1972 154 2.40 43 149 159 -#> 2495 1972 148 2.46 43 143 153 -#> 2499 1972 151 2.46 43 146 156 -#> 264 1973a 151 1.20 43 149 154 -#> 271 1973a 152 1.20 43 150 155 -#> 277 1973a 143 1.20 43 140 145 -#> 303 1973a 158 1.20 43 155 160 -#> 590 1973a 163 1.18 43 161 165 -#> 788 1973a 156 1.33 43 154 159 -#> 789 1973a 151 1.33 43 148 153 -#> 929 1973a 153 1.87 43 149 157 -#> 988 1973a 165 1.81 43 161 169 -#> 1189 1973a 161 1.81 43 157 164 -#> 1567 1973a 157 2.28 43 152 162 -#> 1571 1973a 157 2.28 43 152 161 -#> 2079 1973a 154 2.18 43 150 159 -#> 2098 1973a 137 2.18 43 133 142 -#> 2194 1973a 158 2.24 43 154 163 -#> 2208 1973a 153 2.24 43 149 158 -#> 2217 1973a 155 2.24 43 151 160 -#> 2495 1973a 149 2.31 43 145 154 -#> 2499 1973a 153 2.31 43 148 157 -#> 264 1973b 152 1.20 43 150 154 -#> 271 1973b 153 1.20 43 151 156 -#> 277 1973b 144 1.20 43 141 146 -#> 303 1973b 158 1.20 43 156 161 -#> 590 1973b 164 1.18 43 161 166 -#> 788 1973b 157 1.33 43 154 160 -#> 789 1973b 151 1.33 43 149 154 -#> 929 1973b 154 1.87 43 150 157 -#> 988 1973b 166 1.81 43 162 169 -#> 1189 1973b 161 1.81 43 158 165 -#> 1567 1973b 158 2.28 43 153 162 -#> 1571 1973b 157 2.28 43 153 162 -#> 2079 1973b 155 2.18 43 151 159 -#> 2098 1973b 138 2.18 43 134 142 -#> 2194 1973b 159 2.24 43 155 164 -#> 2208 1973b 154 2.24 43 149 158 -#> 2217 1973b 156 2.24 43 151 160 -#> 2495 1973b 150 2.31 43 145 155 -#> 2499 1973b 153 2.31 43 149 158 -#> 264 1974 148 1.66 43 145 152 -#> 271 1974 150 1.66 43 146 153 -#> 277 1974 140 1.66 43 137 143 -#> 303 1974 155 1.66 43 152 158 -#> 590 1974 160 1.43 43 157 163 -#> 788 1974 153 1.33 43 151 156 -#> 789 1974 148 1.33 43 145 151 -#> 929 1974 150 1.42 43 147 153 -#> 988 1974 162 1.33 43 159 165 -#> 1189 1974 158 1.33 43 155 161 -#> 1567 1974 154 1.93 43 150 158 -#> 1571 1974 154 1.93 43 150 158 -#> 2079 1974 152 1.81 43 148 155 -#> 2098 1974 135 1.81 43 131 138 -#> 2194 1974 156 1.88 43 152 159 -#> 2208 1974 150 1.88 43 147 154 -#> 2217 1974 152 1.88 43 149 156 -#> 2495 1974 147 1.96 43 143 151 -#> 2499 1974 150 1.96 43 146 154 -#> 264 1975 156 1.80 43 153 160 -#> 271 1975 158 1.80 43 154 161 -#> 277 1975 148 1.80 43 144 152 -#> 303 1975 163 1.80 43 159 166 -#> 590 1975 168 1.66 43 165 172 -#> 788 1975 161 1.41 43 159 164 -#> 789 1975 156 1.41 43 153 159 -#> 929 1975 158 1.42 43 155 161 -#> 988 1975 170 1.33 43 167 173 -#> 1189 1975 166 1.33 43 163 169 -#> 1567 1975 162 1.93 43 158 166 -#> 1571 1975 162 1.93 43 158 166 -#> 2079 1975 159 1.81 43 156 163 -#> 2098 1975 142 1.81 43 139 146 -#> 2194 1975 164 1.88 43 160 167 -#> 2208 1975 158 1.88 43 154 162 -#> 2217 1975 160 1.88 43 156 164 -#> 2495 1975 155 1.96 43 151 159 -#> 2499 1975 158 1.96 43 154 162 -#> 264 1976 147 2.07 43 143 152 -#> 271 1976 149 2.07 43 144 153 -#> 277 1976 139 2.07 43 135 143 -#> 303 1976 154 2.07 43 150 158 -#> 590 1976 159 1.92 43 155 163 -#> 788 1976 152 1.78 43 149 156 -#> 789 1976 147 1.78 43 143 151 -#> 929 1976 149 1.48 43 146 152 -#> 988 1976 161 1.23 43 159 164 -#> 1189 1976 157 1.23 43 154 159 -#> 1567 1976 153 1.46 43 150 156 -#> 1571 1976 153 1.46 43 150 156 -#> 2079 1976 150 1.39 43 148 153 -#> 2098 1976 133 1.39 43 131 136 -#> 2194 1976 155 1.58 43 151 158 -#> 2208 1976 149 1.58 43 146 152 -#> 2217 1976 151 1.58 43 148 154 -#> 2495 1976 146 1.63 43 142 149 -#> 2499 1976 149 1.63 43 146 152 -#> 264 1977 156 2.14 43 152 161 -#> 271 1977 157 2.14 43 153 162 -#> 277 1977 148 2.14 43 144 152 -#> 303 1977 163 2.14 43 158 167 -#> 590 1977 168 1.99 43 164 172 -#> 788 1977 161 1.86 43 157 165 -#> 789 1977 156 1.86 43 152 159 -#> 929 1977 158 1.69 43 154 161 -#> 988 1977 170 1.25 43 167 172 -#> 1189 1977 166 1.25 43 163 168 -#> 1567 1977 162 1.64 43 159 165 -#> 1571 1977 162 1.64 43 158 165 -#> 2079 1977 159 1.37 43 157 162 -#> 2098 1977 142 1.37 43 140 145 -#> 2194 1977 163 1.38 43 161 166 -#> 2208 1977 158 1.38 43 155 161 -#> 2217 1977 160 1.38 43 157 163 -#> 2495 1977 154 1.62 43 151 158 -#> 2499 1977 158 1.62 43 155 161 -#> 264 1978 154 2.12 43 150 158 -#> 271 1978 155 2.12 43 151 160 -#> 277 1978 146 2.12 43 141 150 -#> 303 1978 160 2.12 43 156 165 -#> 590 1978 166 1.98 43 162 170 -#> 788 1978 159 1.84 43 155 163 -#> 789 1978 154 1.84 43 150 157 -#> 929 1978 156 1.67 43 152 159 -#> 988 1978 168 1.23 43 165 170 -#> 1189 1978 164 1.23 43 161 166 -#> 1567 1978 160 1.54 43 157 163 -#> 1571 1978 160 1.54 43 156 163 -#> 2079 1978 157 1.35 43 154 160 -#> 2098 1978 140 1.35 43 137 143 -#> 2194 1978 161 1.34 43 159 164 -#> 2208 1978 156 1.34 43 153 159 -#> 2217 1978 158 1.34 43 155 161 -#> 2495 1978 152 1.41 43 149 155 -#> 2499 1978 156 1.41 43 153 158 -#> 264 1979 161 2.27 43 156 166 -#> 271 1979 162 2.27 43 158 167 -#> 277 1979 153 2.27 43 148 157 -#> 303 1979 167 2.27 43 163 172 -#> 590 1979 173 2.13 43 169 177 -#> 788 1979 166 2.01 43 162 170 -#> 789 1979 161 2.01 43 156 165 -#> 929 1979 163 1.82 43 159 166 -#> 988 1979 175 1.48 43 172 178 -#> 1189 1979 170 1.48 43 167 173 -#> 1567 1979 167 1.41 43 164 170 -#> 1571 1979 166 1.41 43 164 169 -#> 2079 1979 164 1.59 43 161 167 -#> 2098 1979 147 1.59 43 144 150 -#> 2194 1979 168 1.40 43 165 171 -#> 2208 1979 163 1.40 43 160 166 -#> 2217 1979 165 1.40 43 162 168 -#> 2495 1979 159 1.38 43 156 162 -#> 2499 1979 163 1.38 43 160 165 -#> 264 1980 155 2.43 43 150 160 -#> 271 1980 156 2.43 43 152 161 -#> 277 1980 147 2.43 43 142 152 -#> 303 1980 162 2.43 43 157 167 -#> 590 1980 167 2.31 43 162 172 -#> 788 1980 160 2.19 43 156 165 -#> 789 1980 155 2.19 43 150 159 -#> 929 1980 157 2.01 43 153 161 -#> 988 1980 169 1.73 43 165 172 -#> 1189 1980 165 1.73 43 161 168 -#> 1567 1980 161 1.48 43 158 164 -#> 1571 1980 161 1.48 43 158 164 -#> 2079 1980 158 1.83 43 155 162 -#> 2098 1980 141 1.83 43 138 145 -#> 2194 1980 162 1.79 43 159 166 -#> 2208 1980 157 1.79 43 154 161 -#> 2217 1980 159 1.79 43 156 163 -#> 2495 1980 153 1.48 43 150 156 -#> 2499 1980 157 1.48 43 154 160 -#> -#> Confidence level used: 0.95emmeans(m4, 'gen') # Match Piepho table 10, Least Squares column -#> gen emmean SE df lower.CL upper.CL -#> 264 153 1.31 43 150 155 -#> 271 154 1.31 43 151 157 -#> 277 144 1.31 43 142 147 -#> 303 159 1.31 43 156 162 -#> 590 165 1.20 43 162 167 -#> 788 158 1.19 43 155 160 -#> 789 152 1.19 43 150 155 -#> 929 154 1.35 43 152 157 -#> 988 166 1.11 43 164 169 -#> 1189 162 1.11 43 160 164 -#> 1567 159 1.58 43 155 162 -#> 1571 158 1.58 43 155 161 -#> 2079 156 1.50 43 153 159 -#> 2098 139 1.50 43 136 142 -#> 2194 160 1.55 43 157 163 -#> 2208 155 1.55 43 152 158 -#> 2217 157 1.55 43 154 160 -#> 2495 151 1.60 43 148 154 -#> 2499 154 1.60 43 151 158 -#> -#> Results are averaged over the levels of: env -#> Confidence level used: 0.95-# } -
gilmour.serpentine.Rd
An RCB experiment of wheat in South Australia, with strong spatial - variation and serpentine row/column effects.
-A data frame with 330 observations on the following 5 variables.
col
column
row
row
rep
replicate factor, 3 levels
gen
wheat variety, 108 levels
yield
yield
A randomized complete block experiment. There are 108 varieties in 3 - reps. Plots are 6 meters long, 0.75 meters wide, trimmed to 4.2 - meters lengths before harvest. Trimming was done by spraying the wheat - with herbicide. The sprayer travelled in a serpentine pattern up and - down columns. The trial was sown in a serpentine manner with a - planter that seeds three rows at a time (Left, Middle, Right).
-Field width 15 columns * 6 m = 90 m
-Field length 22 plots * .75 m = 16.5 m
-Used with permission of Arthur Gilmour, in turn with permission from - Gil Hollamby.
-Arthur R Gilmour and Brian R Cullis and Arunas P Verbyla, 1997. - Accounting for natural and extraneous variation in the analysis of - field experiments. - Journal of Agric Biol Env Statistics, 2, 269-293.
-N. W. Galwey. 2014. - Introduction to Mixed Modelling: Beyond Regression and Analysis - of Variance. - Table 10.9
- --# \dontrun{ - - library(agridat) - data(gilmour.serpentine) - dat <- gilmour.serpentine - - libs(desplot) - desplot(dat, yield~ col*row, - num=gen, show.key=FALSE, out1=rep, - aspect = 16.5/90, # true aspect - main="gilmour.serpentine") -- - # Extreme field trend. Blocking insufficient--needs a spline/smoother - # xyplot(yield~col, data=dat, main="gilmour.serpentine") - - - # ---------------------------------------------------------------------------- - - - libs(asreml,lucid) # asreml4 - - dat <- transform(dat, rowf=factor(row), colf=factor(10*(col-8))) - dat <- dat[order(dat$rowf, dat$colf), ] # Sort order needed by asreml - - # RCB - m0 <- asreml(yield ~ gen, data=dat, random=~rep) -#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:08:38 2021 -#> LogLik Sigma2 DF wall cpu -#> 1 -1240.605 14296.31 223 17:08:38 0.0 -#> 2 -1238.949 14052.47 223 17:08:38 0.0 -#> 3 -1237.174 13779.88 223 17:08:38 0.0 -#> 4 -1235.989 13576.73 223 17:08:38 0.0 -#> 5 -1235.390 13443.10 223 17:08:38 0.0 -#> 6 -1235.240 13383.33 223 17:08:38 0.0 -#> 7 -1235.223 13362.53 223 17:08:38 0.0 -#> 8 -1235.222 13359.15 223 17:08:38 0.0- # Add AR1 x AR1 - m1 <- asreml(yield ~ gen, data=dat, - resid = ~ar1(rowf):ar1(colf)) -#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:08:38 2021 -#> LogLik Sigma2 DF wall cpu -#> 1 -1276.682 20479.20 223 17:08:38 0.0 (1 restrained) -#> 2 -1204.192 12555.38 223 17:08:38 0.0 (1 restrained) -#> 3 -1131.606 10258.80 223 17:08:38 0.0 -#> 4 -1107.525 13045.24 223 17:08:38 0.0 -#> 5 -1103.565 16993.13 223 17:08:38 0.0 -#> 6 -1103.220 18861.79 223 17:08:38 0.0 -#> 7 -1103.192 19475.06 223 17:08:38 0.0 -#> 8 -1103.190 19644.93 223 17:08:38 0.0 -#> 9 -1103.190 19689.59 223 17:08:38 0.0- # Add spline - m2 <- asreml(yield ~ gen + col, data=dat, - random= ~ spl(col) + colf, - resid = ~ar1(rowf):ar1(colf)) -#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:08:39 2021 -#> Spline: design points closer than 0.0014 have been merged. -#> LogLik Sigma2 DF wall cpu -#> 1 -1115.615 4519.781 222 17:08:39 0.0 -#> 2 -1098.274 3998.898 222 17:08:39 0.0 -#> 3 -1084.274 3762.414 222 17:08:39 0.0 -#> 4 -1078.173 3688.511 222 17:08:39 0.0 -#> 5 -1076.057 3634.376 222 17:08:39 0.0 -#> 6 -1075.757 3596.593 222 17:08:39 0.0 -#> 7 -1075.744 3588.592 222 17:08:39 0.0#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:08:39 2021 -#> Spline: design points closer than 0.0014 have been merged. -#> LogLik Sigma2 DF wall cpu -#> 1 -1075.744 3589.184 222 17:08:39 0.0 -#> 2 -1075.744 3589.280 222 17:08:39 0.0 -#> 3 -1075.744 3589.514 222 17:08:39 0.0- # Define column code (due to serpentine spraying) - # Rhelp doesn't like double-percent modulus symbol, so compute by hand - dat <- transform(dat, colcode = factor(dat$col-floor((dat$col-1)/4)*4 -1)) - - m3 <- asreml(yield ~ gen + lin(colf) + colcode, data=dat, - random= ~ colf + rowf + spl(colf), - resid = ~ar1(rowf):ar1(colf)) -#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:08:39 2021 -#> Spline: design points closer than 0.0014 have been merged. -#> LogLik Sigma2 DF wall cpu -#> 1 -1074.771 3215.959 219 17:08:39 0.0 -#> 2 -1065.402 2997.768 219 17:08:39 0.0 -#> 3 -1057.721 2912.815 219 17:08:39 0.0 -#> 4 -1054.628 2939.717 219 17:08:39 0.0 -#> 5 -1053.720 2984.784 219 17:08:39 0.0 -#> 6 -1053.619 3001.884 219 17:08:39 0.0 -#> 7 -1053.616 3009.864 219 17:08:39 0.0#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:08:39 2021 -#> Spline: design points closer than 0.0014 have been merged. -#> LogLik Sigma2 DF wall cpu -#> 1 -1053.616 3013.371 219 17:08:39 0.0 -#> 2 -1053.616 3013.726 219 17:08:39 0.0 -#> 3 -1053.616 3014.611 219 17:08:39 0.0text(1:22, p3$predicted, c('L','L','M','R','R','M','L','L', - 'M','R','R','M','L','L','M','R','R','M','L','L','M','R')) -- # Define row code (due to serpentine planting). 1=middle, 2=left/right - dat <- transform(dat, rowcode = factor(row)) - levels(dat$rowcode) <- c('2','2','1','2','2','1','2','2','1', - '2','2','1','2','2','1','2','2','1','2','2','1','2') - - m6 <- asreml(yield ~ gen + lin(colf) + colcode +rowcode, data=dat, - random= ~ colf + rowf + spl(col), - resid = ~ar1(rowf):ar1(colf)) -#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:08:39 2021 -#> Spline: design points closer than 0.0014 have been merged. -#> LogLik Sigma2 DF wall cpu -#> 1 -1069.223 3140.388 218 17:08:39 0.0 -#> 2 -1059.875 2949.849 218 17:08:39 0.0 -#> 3 -1052.068 2905.675 218 17:08:39 0.0 -#> 4 -1048.746 2983.113 218 17:08:39 0.0 -#> 5 -1047.717 3075.335 218 17:08:39 0.0 -#> 6 -1047.602 3113.167 218 17:08:39 0.0 -#> 7 -1047.597 3130.509 218 17:08:39 0.0 -#> 8 -1047.596 3137.866 218 17:08:39 0.0-# } -
gilmour.slatehall.Rd
Yields for a trial at Slate Hall Farm in 1978.
-A data frame with 150 observations on the following 5 variables.
row
row
col
column
yield
yield (grams/plot)
gen
genotype factor, 25 levels
rep
rep factor, 6 levels
The trial was of spring wheat at Slate Hall Farm in 1978. The - experiment was a balanced lattice with 25 varieties in 6 replicates. - The 'rep' labels are arbitrary (no rep labels appeared in the source - data). - Each row within a rep is an incomplete block. - The plot size was 1.5 meters by 4 meters.
-Field width: 10 plots x 4 m = 40 m
-Field length: 15 plots x 1.5 meters = 22.5 m
-Arthur R Gilmour and Brian R Cullis and Arunas P Verbyla (1997). - Accounting for natural and extraneous variation in the analysis - of field experiments. - Journal of Agricultural, Biological, and Environmental - Statistics, 2, 269-293. - https://doi.org/10.2307/1400446
-None.
- --# \dontrun{ - - library(agridat) - data(gilmour.slatehall) - dat <- gilmour.slatehall - - libs(desplot) - desplot(dat, yield ~ col * row, - aspect=22.5/40, num=gen, out1=rep, cex=1, - main="gilmour.slatehall") -- # ---------------------------------------------------------------------------- - - libs(asreml,lucid) # asreml4 - - # Model 4 of Gilmour et al 1997 - dat <- transform(dat, xf=factor(col), yf=factor(row)) - dat <- dat[order(dat$xf, dat$yf), ] - m4 <- asreml(yield ~ gen + lin(row), data=dat, - random = ~ dev(row) + dev(col), - resid = ~ ar1(xf):ar1(yf)) -#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:08:41 2021 -#> LogLik Sigma2 DF wall cpu -#> 1 -733.509 30064.20 124 17:08:41 0.0 -#> 2 -725.011 26801.71 124 17:08:41 0.0 -#> 3 -718.953 25508.52 124 17:08:41 0.0 -#> 4 -716.764 24942.33 124 17:08:41 0.0 -#> 5 -716.202 24265.54 124 17:08:41 0.0 -#> 6 -716.167 23974.18 124 17:08:41 0.0 -#> 7 -716.166 23946.12 124 17:08:41 0.0# coef(m4)$fixed[1] # linear row - # [1] 31.72252 # (sign switch due to row ordering) - - vc(m4) -#> effect component std.error z.ratio bound %ch -#> dev(col) 2519 1959 1.3 P 0 -#> dev(row) 20290 10260 2 P 0 -#> xf:yf!R 23950 4616 5.2 P 0 -#> xf:yf!xf!cor 0.439 0.113 3.9 U 0 -#> xf:yf!yf!cor 0.125 0.117 1.1 U 0## effect component std.error z.ratio bound - ## dev(col) 2519 1959 1.3 P 0 - ## dev(row) 20290 10260 2 P 0 - ## xf:yf(R) 23950 4616 5.2 P 0 - ## xf:yf!xf!cor 0.439 0.113 3.9 U 0 - ## xf:yf!yf!cor 0.125 0.117 1.1 U 0 - - plot(varioGram(m4), main="gilmour.slatehall") --# } -
gomez.fractionalfactorial.Rd
Rice fractional factorial experiment 1/2 2^6. - Two reps with 2 blocks in each rep.
-A data frame with 64 observations on the following 6 variables.
yield
grain yield in tons/ha
rep
replicate, 2 levels
block
block within rep, 2 levels
trt
treatment, levels (1) to abcdef
col
column position in the field
row
row position in the field
Grain yield from a 2^6 fractional factorial experiment in blocks of 16 - plots each, with two replications.
-Gomez has some inconsistencies. One example:
-Page 171: treatment (1) in rep 1, block 2 and rep 2, block 1.
-Page 172: treatment (1) in Rep 1, block 1 and rep 2, block 1.
-This data uses the layout shown on page 171.
-Used with permission of Kwanchai Gomez.
-Gomez, K.A. and Gomez, A.A.. 1984, - Statistical Procedures for Agricultural Research. - Wiley-Interscience. - Page 171-172.
- --# \dontrun{ - -library(agridat) -data(gomez.fractionalfactorial) -dat <- gomez.fractionalfactorial - -# trt abcdef has the highest yield -# Gomez, Figure 4.8 -libs(desplot) -desplot(dat, yield~col*row, - # aspect unknown - text=trt, shorten="none", show.key=FALSE, cex=1, - main="gomez.fractionalfactorial - treatment & yield")- -# Split treatment into individual factors -dat <- transform(dat, - a = -1 + 2 * grepl('a',trt), - b = -1 + 2 * grepl('b',trt), - c = -1 + 2 * grepl('c',trt), - d = -1 + 2 * grepl('d',trt), - e = -1 + 2 * grepl('e',trt), - f = -1 + 2 * grepl('f',trt)) - -# Gomez table 4.24, trt SS totalled together. -# Why didn't Gomez nest block within rep? -m0 <- lm(yield ~ rep * block + trt, dat) -anova(m0)#> Analysis of Variance Table -#> -#> Response: yield -#> Df Sum Sq Mean Sq F value Pr(>F) -#> rep 1 0.0564 0.05641 6.0982 0.01944 * -#> block 1 0.0039 0.00391 0.4223 0.52073 -#> trt 31 12.0815 0.38973 42.1346 < 2e-16 *** -#> Residuals 30 0.2775 0.00925 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1-# Gomez table 4.24, trt SS split apart -m1 <- lm(yield ~ rep * block + (a+b+c+d+e+f)^3, dat) -anova(m1)#> Analysis of Variance Table -#> -#> Response: yield -#> Df Sum Sq Mean Sq F value Pr(>F) -#> rep 1 0.0564 0.0564 6.0982 0.0194445 * -#> block 1 0.0039 0.0039 0.4223 0.5207290 -#> a 1 3.0016 3.0016 324.5072 < 2.2e-16 *** -#> b 1 0.5776 0.5776 62.4461 8.075e-09 *** -#> c 1 2.0022 2.0022 216.4665 2.928e-15 *** -#> d 1 3.2041 3.2041 346.4048 < 2.2e-16 *** -#> e 1 0.5041 0.5041 54.4998 3.175e-08 *** -#> f 1 1.7623 1.7623 190.5228 1.565e-14 *** -#> rep:block 1 0.0039 0.0039 0.4223 0.5207290 -#> a:b 1 0.0342 0.0342 3.7002 0.0639421 . -#> a:c 1 0.0132 0.0132 1.4298 0.2411643 -#> a:d 1 0.0016 0.0016 0.1730 0.6804364 -#> a:e 1 0.0001 0.0001 0.0108 0.9178793 -#> a:f 1 0.0410 0.0410 4.4333 0.0437219 * -#> b:c 1 0.0352 0.0352 3.8008 0.0606285 . -#> b:d 1 0.0410 0.0410 4.4333 0.0437219 * -#> b:e 1 0.0138 0.0138 1.4926 0.2313218 -#> b:f 1 0.0042 0.0042 0.4568 0.5043110 -#> c:d 1 0.3570 0.3570 38.5970 7.707e-07 *** -#> c:e 1 0.0116 0.0116 1.2494 0.2725423 -#> c:f 1 0.0030 0.0030 0.3270 0.5716668 -#> d:e 1 0.1388 0.1388 15.0014 0.0005404 *** -#> d:f 1 0.0400 0.0400 4.3245 0.0462114 * -#> e:f 1 0.0529 0.0529 5.7192 0.0232535 * -#> a:b:d 1 0.0046 0.0046 0.4926 0.4881840 -#> a:b:e 1 0.0039 0.0039 0.4223 0.5207290 -#> a:b:f 1 0.0240 0.0240 2.5974 0.1175108 -#> a:c:d 1 0.0915 0.0915 9.8930 0.0037271 ** -#> a:c:e 1 0.0176 0.0176 1.8981 0.1784872 -#> a:c:f 1 0.0009 0.0009 0.0973 0.7572498 -#> a:d:e 1 0.0495 0.0495 5.3523 0.0277314 * -#> a:d:f 1 0.0462 0.0462 4.9975 0.0329765 * -#> a:e:f 1 0.0000 0.0000 0.0027 0.9588823 -#> Residuals 30 0.2775 0.0092 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1#> -#> rep:block = a:b:c = d:e:f -#> a:b:d = c:e:f -#> a:b:e = c:d:f -#> a:b:f = c:d:e -#> a:c:d = b:e:f -#> a:c:e = b:d:f -#> a:c:f = b:d:e -#> a:d:e = b:c:f -#> a:d:f = b:c:e -#> a:e:f = b:c:dMEPlot(m1, select=3:8, - main="gomez.fractionalfactorial - main effects plot")-# } -
gomez.groupsplit.Rd
Group balanced split-plot design in rice
-A data frame with 270 observations on the following 7 variables.
col
column
row
row
rep
replicate factor, 3 levels
fert
fertilizer factor, 2 levels
gen
genotype factor, 45 levels
group
grouping (genotype) factor, 3 levels
yield
yield of rice
Genotype group S1 is less than 105 days growth duration, S2 is - 105-115 days growth duration, S3 is more than 115 days.
-Used with permission of Kwanchai Gomez.
-Gomez, K.A. and Gomez, A.A.. 1984, - Statistical Procedures for Agricultural Research. - Wiley-Interscience. - Page 120.
- --# \dontrun{ - -library(agridat) -data(gomez.groupsplit) -dat <- gomez.groupsplit - -# Gomez figure 3.10. Obvious fert and group effects -libs(desplot) -desplot(dat, group ~ col*row, - out1=rep, col=fert, text=gen, # aspect unknown - main="gomez.groupsplit")-# Gomez table 3.19 (not partitioned by group) -m1 <- aov(yield ~ fert*group + gen:group + fert:gen:group + - Error(rep/fert/group), data=dat) -summary(m1)#> -#> Error: rep -#> Df Sum Sq Mean Sq F value Pr(>F) -#> Residuals 2 4.917 2.458 -#> -#> Error: rep:fert -#> Df Sum Sq Mean Sq F value Pr(>F) -#> fert 1 96.05 96.05 68.7 0.0142 * -#> Residuals 2 2.80 1.40 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 -#> -#> Error: rep:fert:group -#> Df Sum Sq Mean Sq F value Pr(>F) -#> group 2 4.259 2.1294 6.674 0.0197 * -#> fert:group 2 0.628 0.3138 0.984 0.4150 -#> Residuals 8 2.553 0.3191 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 -#> -#> Error: Within -#> Df Sum Sq Mean Sq F value Pr(>F) -#> group:gen 42 20.494 0.4880 4.461 2.08e-12 *** -#> fert:group:gen 42 4.093 0.0975 0.891 0.662 -#> Residuals 168 18.378 0.1094 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1# } -
gomez.heterogeneity.Rd
RCB experiment of rice, heterogeneity of regressions
-data("gomez.heterogeneity")
gen
genotype
yield
yield kg/ha
tillers
tillers no/hill
An experiment with 3 genotypes to examine the relationship of yield to - number of tillers.
-Used with permission of Kwanchai Gomez.
-Gomez, K.A. and Gomez, A.A.. 1984, - Statistical Procedures for Agricultural Research. - Wiley-Interscience. - Page 377.
-None.
-gomez.heteroskedastic.Rd
RCB experiment of rice, heteroskedastic varieties
- -data("gomez.heteroskedastic")- -
A data frame with 105 observations on the following 4 variables.
gen
genotype
group
group of genotypes
rep
replicate
yield
yield
RCB design with three reps. Genotypes 1-15 are hybrids, 16-32 are - parents, 33-35 are checks.
- -Gomez, K.A. and Gomez, A.A.. 1984, - Statistical Procedures for Agricultural Research. - Wiley-Interscience. Page 310.
-Used with permission of Kwanchai Gomez.
- -None.
- - ---library(agridat) -data(gomez.heteroskedastic) -dat <- gomez.heteroskedastic - -# Fix the outlier as reported by Gomez p. 311 -dat[dat$gen=="G17" & dat$rep=="R2","yield"] <- 7.58 - -libs(lattice) -bwplot(gen ~ yield, dat, group=as.numeric(dat$group), - ylab="genotype", main="gomez.heterogeneous")#> Analysis of Variance Table -#> -#> Response: yield -#> Df Sum Sq Mean Sq F value Pr(>F) -#> rep 2 3.306 1.65304 5.6164 0.005528 ** -#> gen 34 40.020 1.17705 3.9992 5.806e-07 *** -#> Residuals 68 20.014 0.29432 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1## Response: yield -## Df Sum Sq Mean Sq F value Pr(>F) -## rep 2 3.306 1.65304 5.6164 0.005528 ** -## gen 34 40.020 1.17705 3.9992 5.806e-07 *** -## Residuals 68 20.014 0.29432 - -
gomez.multilocsplitplot.Rd
Grain yield was measured at 3 locations with 2 reps per location. - Within each rep, the main plot was 6 nitrogen fertilizer treatments - and the sub plot was 2 rice varieties.
- -A data frame with 108 observations on the following 5 variables.
loc
location, 3 levels
nitro
nitrogen in kg/ha
rep
replicate, 2 levels
gen
genotype, 2 levels
yield
yield, kg/ha
Gomez, K.A. and Gomez, A.A.. 1984, - Statistical Procedures for Agricultural Research. - Wiley-Interscience. Page 339.
-Used with permission of Kwanchai Gomez.
- - ---library(agridat) - -data(gomez.multilocsplitplot) -dat <- gomez.multilocsplitplot -dat$nf <- factor(dat$nitro) - -# Gomez figure 8.3 -libs(lattice) -xyplot(yield~nitro, dat, group=loc, type=c('p','smooth'), auto.key=TRUE, - main="gomez.multilocsplitplot")-# AOV -# Be careful to use the right stratum, 'nf' appears in both strata. -# Still not quite the same as Gomez table 8.21 -t1 <- terms(yield ~ loc * nf * gen + Error(loc:rep:nf), - "Error", keep.order=TRUE) -m1 <- aov(t1, data=dat)#> Warning: Error() model is singularsummary(m1)#> -#> Error: loc:rep:nf -#> Df Sum Sq Mean Sq -#> loc 2 4401065 2200532 -#> nf 5 136849095 27369819 -#> gen 1 2752683 2752683 -#> loc:nf 10 18591666 1859167 -#> loc:gen 2 258519 129260 -#> nf:gen 5 1018467 203693 -#> loc:nf:gen 10 6477080 647708 -#> -#> Error: Within -#> Df Sum Sq Mean Sq F value Pr(>F) -#> gen 1 7085791 7085791 18.326 7.67e-05 *** -#> loc:gen 2 5171261 2585630 6.687 0.00254 ** -#> nf:gen 5 3034192 606838 1.569 0.18437 -#> loc:nf:gen 10 1487520 148752 0.385 0.94801 -#> Residuals 54 20879417 386656 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1-# F values are somewhat similar to Gomez Table 8.21 - libs(lme4) - m2 <- lmer(yield ~ loc*nf*gen + (1|loc/rep/nf), dat)#> Warning: unable to evaluate scaled gradient#> Warning: Hessian is numerically singular: parameters are not uniquely determinedanova(m2)#> Analysis of Variance Table -#> Df Sum Sq Mean Sq F value -#> loc 2 407688 203844 0.5271 -#> nf 5 72885372 14577074 37.6944 -#> gen 1 7558837 7558837 19.5462 -#> loc:nf 10 10143064 1014306 2.6229 -#> loc:gen 2 4268700 2134350 5.5191 -#> nf:gen 5 1501333 300267 0.7765 -#> loc:nf:gen 10 1503043 150304 0.3887## Analysis of Variance Table - ## Df Sum Sq Mean Sq F value - ## loc 2 117942 58971 0.1525 - ## nf 5 72841432 14568286 37.6777 - ## gen 1 7557570 7557570 19.5460 - ## loc:nf 10 10137188 1013719 2.6218 - ## loc:gen 2 4270469 2135235 5.5223 - ## nf:gen 5 1501767 300353 0.7768 - ## loc:nf:gen 10 1502273 150227 0.3885 --
gomez.nitrogen.Rd
Soil nitrogen at three times for eight fertilizer treatments
- -A data frame with 96 observations on the following 4 variables.
trt
nitrogen treatment factor
nitro
soil nitrogen content, percent
rep
replicate
stage
growth stage, three periods
Eight fertilizer treatments were tested.
-Soil nitrogen content was measured at three times. P1 = 15 days post - transplanting. P2 = 40 days post transplanting. P3 = panicle initiation.
- -Gomez, K.A. and Gomez, A.A.. 1984, - Statistical Procedures for Agricultural Research. - Wiley-Interscience. Page 259.
-Used with permission of Kwanchai Gomez.
- -R-help mailing list, 9 May 2013. - Data provided by Cyril Lundrigan. Analysis method by Rich Heiberger.
- - ---library(agridat) - -data(gomez.nitrogen) -dat <- gomez.nitrogen - -# Note the depletion of nitrogen over time (stage) -libs(HH) -interaction2wt(nitro ~ rep/trt + trt*stage, data=dat, - x.between=0, y.between=0, - main="gomez.nitrogen")-# Just the fertilizer profiles -with(dat, interaction.plot(stage, trt, nitro, - col=1:4, lty=1:3, main="gomez.nitrogen", - xlab="Soil nitrogen at three times for each treatment"))#> -#> Error: rep -#> Df Sum Sq Mean Sq F value Pr(>F) -#> Residuals 3 0.8457 0.2819 -#> -#> Error: rep:trt -#> Df Sum Sq Mean Sq F value Pr(>F) -#> trt 7 1.2658 0.18083 4.935 0.00201 ** -#> Residuals 21 0.7695 0.03664 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 -#> -#> Error: Within -#> Df Sum Sq Mean Sq F value Pr(>F) -#> stage 2 52.04 26.021 715.871 < 2e-16 *** -#> trt:stage 14 3.57 0.255 7.008 1.53e-07 *** -#> Residuals 48 1.74 0.036 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1-# Gomez table 6.18 -# Treatment 1 2 3 4 5 6 7 8 -cont <- cbind("T7 vs others" = c( 1, 1, 1, 1, 1, 1,-7, 1), - "T8 vs others" = c( 1, 1, 1, 1, 1, 1, 0,-6), - "T2,T5 vs others" = c(-1, 2,-1,-1, 2,-1, 0, 0), - "T2 vs T5" = c( 0, 1, 0, 0,-1, 0, 0, 0)) -contrasts(dat$trt) <- cont -contrasts(dat$trt)#> T7 vs others T8 vs others T2,T5 vs others T2 vs T5 -#> T1 1 1 -1 0 -3.028130e-01 -#> T2 1 1 2 1 2.775558e-17 -#> T3 1 1 -1 0 -2.101031e-01 -#> T4 1 1 -1 0 -3.487772e-01 -#> T5 1 1 2 -1 -1.387779e-17 -#> T6 1 1 -1 0 8.616933e-01 -#> T7 -7 0 0 0 1.387779e-17 -#> T8 1 -6 0 0 -2.775558e-17 -#> -#> T1 -6.632738e-01 -4.673031e-01 -#> T2 8.326673e-17 1.387779e-17 -#> T3 -1.136421e-01 8.324315e-01 -#> T4 7.387109e-01 -2.875078e-01 -#> T5 5.551115e-17 1.387779e-17 -#> T6 3.820501e-02 -7.762061e-02 -#> T7 5.551115e-17 2.775558e-17 -#> T8 5.551115e-17 4.163336e-17-m2 <- aov(nitro ~ Error(rep/trt) + trt*stage, data=dat) -summary(m2, expand.split=FALSE, - split=list(trt=list( - "T7 vs others"=1, - "T8 vs others"=2, - "T2,T5 vs others"=3, - "T2 vs T5"=4, - rest=c(5,6,7)), - "trt:stage"=list( - "(T7 vs others):P"=c(1,8), - "(T8 vs others):P"=c(2,9), - "(T2,T5 vs others):P"=c(3,10), - "(T2 vs T5):P"=c(4,11), - "rest:P"=c(5,6,7,12,13,14)) - ))#> -#> Error: rep -#> Df Sum Sq Mean Sq F value Pr(>F) -#> Residuals 3 0.8457 0.2819 -#> -#> Error: rep:trt -#> Df Sum Sq Mean Sq F value Pr(>F) -#> trt 7 1.2658 0.1808 4.935 0.00201 ** -#> trt: T7 vs others 1 0.3511 0.3511 9.581 0.00548 ** -#> trt: T8 vs others 1 0.0455 0.0455 1.242 0.27761 -#> trt: T2,T5 vs others 1 0.0228 0.0228 0.621 0.43952 -#> trt: T2 vs T5 1 0.1176 0.1176 3.209 0.08764 . -#> trt: rest 3 0.7289 0.2430 6.630 0.00252 ** -#> Residuals 21 0.7695 0.0366 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 -#> -#> Error: Within -#> Df Sum Sq Mean Sq F value Pr(>F) -#> stage 2 52.04 26.021 715.871 < 2e-16 *** -#> trt:stage 14 3.57 0.255 7.008 1.53e-07 *** -#> trt:stage: (T7 vs others):P 2 2.14 1.068 29.391 4.63e-09 *** -#> trt:stage: (T8 vs others):P 2 0.54 0.268 7.373 0.001613 ** -#> trt:stage: (T2,T5 vs others):P 2 0.64 0.321 8.843 0.000538 *** -#> trt:stage: (T2 vs T5):P 2 0.02 0.011 0.298 0.743303 -#> trt:stage: rest:P 6 0.23 0.038 1.051 0.404967 -#> Residuals 48 1.74 0.036 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1-
gomez.nonnormal1.Rd
Insecticide treatment effectiveness
- -data("gomez.nonnormal1")- -
A data frame with 36 observations on the following 3 variables.
trt
insecticidal treatment
rep
replicate
larvae
number of larvae
Nine treatments (including the control, T9) were used on four - replicates. The number of living insect larvae were recorded.
-The data show signs of non-normality, and a log transform was used by Gomez.
- -Gomez, K.A. and Gomez, A.A.. 1984, - Statistical Procedures for Agricultural Research. - Wiley-Interscience. Page 300.
-Used with permission of Kwanchai Gomez.
- -None.
- - ---library(agridat) -data(gomez.nonnormal1) -dat <- gomez.nonnormal1 - -# Gomez figure 7.3 -## libs(dplyr) -## dat2 <- dat <!-- %>% group_by(trt) --> -## dat2 <- summarize(dat2, mn=mean(larvae), rng=diff(range(larvae))) -## plot(rng ~ mn, data=dat2, -## xlab="mean number of larvae", ylab="range of number of larvae", -## main="gomez.nonnormal1") - - -# Because some of the original values are less than 10, -# the transform used is log10(x+1) instead of log10(x). -dat <- transform(dat, tlarvae=log10(larvae+1)) - -# QQ plots for raw/transformed data -libs(reshape2, lattice) -qqmath( ~ value|variable, data=melt(dat), - main="gomez.nonnormal1 - raw/transformed QQ plot", - scales=list(relation="free"))#>#> Analysis of Variance Table -#> -#> Response: tlarvae -#> Df Sum Sq Mean Sq F value Pr(>F) -#> rep 3 0.9567 0.31889 3.6511 0.0267223 * -#> trt 8 3.9823 0.49779 5.6995 0.0004092 *** -#> Residuals 24 2.0961 0.08734 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1## Response: tlarvae -## Df Sum Sq Mean Sq F value Pr(>F) -## rep 3 0.9567 0.31889 3.6511 0.0267223 * -## trt 8 3.9823 0.49779 5.6995 0.0004092 *** -## Residuals 24 2.0961 0.08734 - -
gomez.nonnormal2.Rd
RCB experiment of rice, measuring white heads
- -data("gomez.nonnormal2")- -
A data frame with 42 observations on the following 3 variables.
gen
genotype
rep
replicate
white
percentage of white heads
The data are the percent of white heads from a rice variety trial of - 14 varieties with 3 reps. Because many of the values are less than - 10, the suggested data transformation is sqrt(x+.5).
- -Gomez, K.A. and Gomez, A.A.. 1984, - Statistical Procedures for Agricultural Research. - Wiley-Interscience. Page 300.
-Used with permission of Kwanchai Gomez.
- -None.
- - ---library(agridat) - -data(gomez.nonnormal2) -dat <- gomez.nonnormal2 - -# Gomez suggested sqrt transform -dat <- transform(dat, twhite = sqrt(white+.5)) - -# QQ plots for raw/transformed data -libs(reshape2, lattice) -qqmath( ~ value|variable, data=melt(dat), - main="gomez.nonnormal2 - raw/transformed QQ plot", - scales=list(relation="free"))#>#> Analysis of Variance Table -#> -#> Response: twhite -#> Df Sum Sq Mean Sq F value Pr(>F) -#> rep 2 2.401 1.2004 1.9137 0.1678 -#> gen 13 48.011 3.6931 5.8877 6.366e-05 *** -#> Residuals 26 16.309 0.6273 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1## Response: twhite2 -## Df Sum Sq Mean Sq F value Pr(>F) -## rep 2 2.401 1.2004 1.9137 0.1678 -## gen 13 48.011 3.6931 5.8877 6.366e-05 *** -## Residuals 26 16.309 0.6273 - -
gomez.nonnormal3.Rd
RCB experiment of rice, 12 varieties with leafhopper survival
- -data("gomez.nonnormal3")- -
A data frame with 36 observations on the following 3 variables.
gen
genotype/variety of rice
rep
replicate
hoppers
percentage of surviving leafhoppers
For each rice variety, 75 leafhoppers were caged and the percentage of - surviving insects was determined.
-Gomez suggest replacing 0 values by 1/(4*75) and replacing 100 by - 1-1/(4*75) where 75 is the number of insects.
-In effect, this means, for example, that (1/4)th of an insect survived.
-Because the data are percents, Gomez suggested using the arcsin - transformation.
- -Gomez, K.A. and Gomez, A.A.. 1984, - Statistical Procedures for Agricultural Research. - Wiley-Interscience. Page 307.
-Used with permission of Kwanchai Gomez.
- -None.
- - ---library(agridat) -data(gomez.nonnormal3) -dat <- gomez.nonnormal3 - -# First, replace 0, 100 values -dat$thoppers <- dat$hoppers -dat <- transform(dat, thoppers=ifelse(thoppers==0, 1/(4*75), thoppers)) -dat <- transform(dat, thoppers=ifelse(thoppers==100, 100-1/(4*75), thoppers)) -# Arcsin transformation of percentage p converted to degrees -# is arcsin(sqrt(p))/(pi/2)*90 -dat <- transform(dat, thoppers=asin(sqrt(thoppers/100))/(pi/2)*90) - -# QQ plots for raw/transformed data -libs(reshape2, lattice) -qqmath( ~ value|variable, data=melt(dat), - main="gomez.nonnormal3 - raw/transformed QQ plot", - scales=list(relation="free"))#>#> Analysis of Variance Table -#> -#> Response: thoppers -#> Df Sum Sq Mean Sq F value Pr(>F) -#> gen 11 16838.7 1530.79 16.502 1.316e-08 *** -#> Residuals 24 2226.4 92.77 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1## Response: thoppers -## Df Sum Sq Mean Sq F value Pr(>F) -## gen 11 16838.7 1530.79 16.502 1.316e-08 *** -## Residuals 24 2226.4 92.77 - -
gomez.rice.uniformity.Rd
Uniformity trial of rice in Philippines.
-A data frame with 648 observations on the following 3 variables.
row
row
col
column
yield
grain yield, grams/m^2
An area 20 meters by 38 meters was planted to rice variety IR8. At - harvest, a 1-meter border was removed around the field and discarded. - Each square meter (1 meter by 1 meter) was harvested and weighed.
-Field width: 18 plots x 1 m = 18 m
-Field length: 38 plots x 1 m = 38 m
-Used with permission of Kwanchai Gomez.
-Gomez, K.A. and Gomez, A.A. (1984). - Statistical Procedures for Agricultural Research. - Wiley-Interscience. Page 481.
- --# \dontrun{ - -library(agridat) -data(gomez.rice.uniformity) -dat <- gomez.rice.uniformity - -libs(desplot) -# Raw data plot -desplot(dat, yield ~ col*row, - aspect=38/18, # true aspect - main="gomez.rice.uniformity")-libs(desplot, reshape2) -# 3x3 moving average. Gomez figure 12.1 -dmat <- melt(dat, id.var=c('col','row')) -dmat <- acast(dmat, row~col) -m0 <- dmat -cx <- 2:17 -rx <- 2:35 -dmat3 <- (m0[rx+1,cx+1]+m0[rx+1,cx]+m0[rx+1,cx-1]+ - m0[rx,cx+1]+m0[rx,cx]+m0[rx,cx-1]+ - m0[rx-1,cx+1]+m0[rx-1,cx]+m0[rx-1,cx-1])/9 -dat3 <- melt(dmat3) -desplot(dat3, value~Var2*Var1, - aspect=38/18, - at=c(576,637,695,753,811,870,927), - main="gomez.rice.uniformity smoothed")- -libs(agricolae) - # Gomez table 12.4 -tab <- index.smith(dmat, - main="gomez.rice.uniformity", - col="red")$uniformitytab <- data.frame(tab) - -## # Gomez figure 12.2 -## op <- par(mar=c(5,4,4,4)+.1) -## m1 <- nls(Vx ~ 9041/Size^b, data=tab, start=list(b=1)) -## plot(Vx ~ Size, tab, xlab="Plot size, m^2") -## lines(fitted(m1) ~ tab$Size, col='red') -## axis(4, at=tab$Vx, labels=tab$CV) -## mtext("CV", 4, line=2) -## par(op) - -# }
gomez.seedrate.Rd
RCB experiment of rice, 6 densities
- -A data frame with 24 observations on the following 3 variables.
rate
kg seeds per hectare
rep
rep (block), four levels
yield
yield, kg/ha
Rice yield at six different densities in an RCB design.
- -Gomez, K.A. and Gomez, A.A. 1984, - Statistical Procedures for Agricultural Research. - Wiley-Interscience. Page 26.
-Used with permission of Kwanchai Gomez.
- - ---library(agridat) -data(gomez.seedrate) -dat <- gomez.seedrate - -libs(lattice) -xyplot(yield ~ rate, data=dat, group=rep, type='b', - main="gomez.seedrate", auto.key=list(columns=4))-# Quadratic response. Use raw polynomials so we can compute optimum -m1 <- lm(yield ~ rep + poly(rate,2,raw=TRUE), dat) --coef(m1)[5]/(2*coef(m1)[6]) # Optimum is at 29#> poly(rate, 2, raw = TRUE)1 -#> 29.148-# Plot the model predictions -libs(latticeExtra) -newdat <- expand.grid(rep=levels(dat$rep), rate=seq(25,150)) -newdat$pred <- predict(m1, newdat) -p1 <- aggregate(pred ~ rate, newdat, mean) # average reps - xyplot(yield ~ rate, data=dat, group=rep, type='b', - main="gomez.seedrate (with model predictions)", auto.key=list(columns=4)) + - xyplot(pred ~ rate, p1, type='l', col='black', lwd=2)-
gomez.splitplot.subsample.Rd
Split-plot experiment of rice, with subsamples
- -A data frame with 186 observations on the following 5 variables.
time
time factor, T1-T4
manage
management, M1-M6
rep
rep/block, R1-R3
sample
subsample, S1-S2
height
plant height (cm)
A split-plot experiment in three blocks. Whole-plot is 'management', - sub-plot is 'time' of application, with two subsamples. The data are - the heights, measured on two single-hill sampling units in each plot.
- -Gomez, K.A. and Gomez, A.A.. 1984, - Statistical Procedures for Agricultural Research. - Wiley-Interscience. Page 481.
-Used with permission of Kwanchai Gomez.
- - ---library(agridat) -data(gomez.splitplot.subsample) -dat <- gomez.splitplot.subsample - -libs(HH) -interaction2wt(height ~ rep + time + manage, data=dat, - x.between=0, y.between=0, - main="gomez.splitplot.subsample - plant height")- -# Management totals, Gomez table 6.8 -# tapply(dat$height, dat$manage, sum) - -# Gomez table 6.11 analysis of variance -m1 <- aov(height ~ rep + manage + time + manage:time + - Error(rep/manage/time), data=dat) -summary(m1)#> -#> Error: rep -#> Df Sum Sq Mean Sq -#> rep 2 2632 1316 -#> -#> Error: rep:manage -#> Df Sum Sq Mean Sq F value Pr(>F) -#> manage 7 1482 211.77 2.239 0.0944 . -#> Residuals 14 1324 94.59 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 -#> -#> Error: rep:manage:time -#> Df Sum Sq Mean Sq F value Pr(>F) -#> time 3 820.8 273.61 7.945 0.000211 *** -#> manage:time 21 475.3 22.63 0.657 0.851793 -#> Residuals 48 1653.1 34.44 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 -#> -#> Error: Within -#> Df Sum Sq Mean Sq F value Pr(>F) -#> Residuals 96 167.4 1.744## Error: rep -## Df Sum Sq Mean Sq -## rep 2 2632 1316 - -## Error: rep:manage -## Df Sum Sq Mean Sq F value Pr(>F) -## manage 7 1482 211.77 2.239 0.0944 . -## Residuals 14 1324 94.59 -## --- -## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 - -## Error: rep:manage:time -## Df Sum Sq Mean Sq F value Pr(>F) -## time 3 820.8 273.61 7.945 0.000211 *** -## manage:time 21 475.3 22.63 0.657 0.851793 -## Residuals 48 1653.1 34.44 -## --- -## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 - -## Error: Within -## Df Sum Sq Mean Sq F value Pr(>F) -## Residuals 96 167.4 1.744 - -
gomez.splitsplit.Rd
Grain yield of three varieties of rice grown in a split-split plot - arrangement with 3 reps, nitrogen level as the main plot, management - practice as the sub-plot, and rice variety as the sub-sub plot.
-A data frame with 135 observations on the following 7 variables.
rep
block, 3 levels
nitro
nitrogen fertilizer, in kilograms/hectare
management
plot management
gen
genotype/variety of rice
yield
yield
col
column position in the field
row
row position in the field
Used with permission of Kwanchai Gomez.
-Gomez, K.A. and Gomez, A.A.. 1984, - Statistical Procedures for Agricultural Research. - Wiley-Interscience. - Page 143.
-H. P. Piepho, R. N. Edmondson. (2018). - A tutorial on the statistical analysis of factorial experiments - with qualitative and quantitative treatment factor levels. - Jour Agronomy and Crop Science, 8, 1-27. - https://doi.org/10.1111/jac.12267
- --# \dontrun{ - -library(agridat) - -data(gomez.splitsplit) -dat <- gomez.splitsplit -dat$nf <- factor(dat$nitro) - -libs(desplot) -desplot(dat, nf ~ col*row, - # aspect unknown - out1=rep, col=management, num=gen, cex=1, - main="gomez.splitsplit")desplot(dat, yield ~ col*row, - # aspect unknown - out1=rep, main="gomez.splitsplit")- -libs(HH) -position(dat$nf) <- c(0,50,80,110,140) -interaction2wt(yield~rep+nf+management+gen, data=dat, - main="gomez.splitsplit", - x.between=0, y.between=0, - relation=list(x="free", y="same"), - rot=c(90,0), xlab="", - par.strip.text.input=list(cex=.7))- -# AOV. Gomez page 144-153 -m0 <- aov(yield~ nf * management * gen + Error(rep/nf/management), - data=dat) -summary(m0) # Similar to Gomez, p. 153.#> -#> Error: rep -#> Df Sum Sq Mean Sq F value Pr(>F) -#> Residuals 2 0.732 0.366 -#> -#> Error: rep:nf -#> Df Sum Sq Mean Sq F value Pr(>F) -#> nf 4 61.64 15.410 27.7 9.73e-05 *** -#> Residuals 8 4.45 0.556 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 -#> -#> Error: rep:nf:management -#> Df Sum Sq Mean Sq F value Pr(>F) -#> management 2 42.94 21.468 81.996 2.3e-10 *** -#> nf:management 8 1.10 0.138 0.527 0.823 -#> Residuals 20 5.24 0.262 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 -#> -#> Error: Within -#> Df Sum Sq Mean Sq F value Pr(>F) -#> gen 2 206.01 103.01 207.867 < 2e-16 *** -#> nf:gen 8 14.14 1.77 3.568 0.00192 ** -#> management:gen 4 3.85 0.96 1.943 0.11490 -#> nf:management:gen 16 3.70 0.23 0.467 0.95376 -#> Residuals 60 29.73 0.50 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1-# } -
gomez.stripplot.Rd
A strip-plot experiment with three reps, variety as the horizontal - strip and nitrogen fertilizer as the vertical strip.
-yield
Grain yield in kg/ha
rep
Rep
nitro
Nitrogen fertilizer in kg/ha
gen
Rice variety
col
column
row
row
Note, this is a subset of the the 'gomez.stripsplitplot' data.
-Used with permission of Kwanchai Gomez.
-Gomez, K.A. and Gomez, A.A.. 1984, - Statistical Procedures for Agricultural Research. - Wiley-Interscience. - Page 110.
-Jan Gertheiss (2014). - ANOVA for Factors With Ordered Levels. - J Agric Biological Environmental Stat, 19, 258-277.
- --# \dontrun{ - -library(agridat) -data(gomez.stripplot) -dat <- gomez.stripplot - -# Gomez figure 3.7 -libs(desplot) -desplot(dat, gen ~ col*row, - # aspect unknown - out1=rep, out2=nitro, num=nitro, cex=1, - main="gomez.stripplot")- -# Gertheiss figure 1 -# library(lattice) -# dotplot(factor(nitro) ~ yield|gen, data=dat) - -# Gomez table 3.12 -# tapply(dat$yield, dat$rep, sum) -# tapply(dat$yield, dat$gen, sum) -# tapply(dat$yield, dat$nitro, sum) - -# Gomez table 3.15. Anova table for strip-plot -dat <- transform(dat, nf=factor(nitro)) -m1 <- aov(yield ~ gen * nf + Error(rep + rep:gen + rep:nf), data=dat) -summary(m1)#> -#> Error: rep -#> Df Sum Sq Mean Sq F value Pr(>F) -#> Residuals 2 9220962 4610481 -#> -#> Error: rep:gen -#> Df Sum Sq Mean Sq F value Pr(>F) -#> gen 5 57100201 11420040 7.653 0.00337 ** -#> Residuals 10 14922619 1492262 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 -#> -#> Error: rep:nf -#> Df Sum Sq Mean Sq F value Pr(>F) -#> nf 2 50676061 25338031 34.07 0.00307 ** -#> Residuals 4 2974908 743727 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 -#> -#> Error: Within -#> Df Sum Sq Mean Sq F value Pr(>F) -#> gen:nf 10 23877979 2387798 5.801 0.000427 *** -#> Residuals 20 8232917 411646 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1## Error: rep -## Df Sum Sq Mean Sq F value Pr(>F) -## Residuals 2 9220962 4610481 - -## Error: rep:gen -## Df Sum Sq Mean Sq F value Pr(>F) -## gen 5 57100201 11420040 7.653 0.00337 ** -## Residuals 10 14922619 1492262 -## --- -## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 - -## Error: rep:nf -## Df Sum Sq Mean Sq F value Pr(>F) -## nf 2 50676061 25338031 34.07 0.00307 ** -## Residuals 4 2974908 743727 -## --- -## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 - -## Error: Within -## Df Sum Sq Mean Sq F value Pr(>F) -## gen:nf 10 23877979 2387798 5.801 0.000427 *** -## Residuals 20 8232917 411646 - - -# More compact view -## libs(agricolae) -## with(dat, strip.plot(rep, nf, gen, yield)) - -## Analysis of Variance Table -## Response: yield -## Df Sum Sq Mean Sq F value Pr(>F) -## rep 2 9220962 4610481 11.2001 0.0005453 *** -## nf 2 50676061 25338031 34.0690 0.0030746 ** -## Ea 4 2974908 743727 1.8067 0.1671590 -## gen 5 57100201 11420040 7.6528 0.0033722 ** -## Eb 10 14922619 1492262 3.6251 0.0068604 ** -## gen:nf 10 23877979 2387798 5.8006 0.0004271 *** -## Ec 20 8232917 411646 - - -# Mixed-model version -## libs(lme4) -## m3 <- lmer(yield ~ gen * nf + (1|rep) + (1|rep:nf) + (1|rep:gen), data=dat) -## anova(m3) - -## Analysis of Variance Table -## Df Sum Sq Mean Sq F value -## gen 5 15751300 3150260 7.6528 -## nf 2 28048730 14024365 34.0690 -## gen:nf 10 23877979 2387798 5.8006 - -# } -
gomez.stripsplitplot.Rd
A strip-split-plot experiment with three reps, genotype as the horizontal - strip, nitrogen fertilizer as the vertical strip, and planting method - as the subplot factor.
-yield
grain yield in kg/ha
planting
planting factor, P1=broadcast, P2=transplanted
rep
rep, 3 levels
nitro
nitrogen fertilizer, kg/ha
gen
genotype, G1 to G6
col
column
row
row
Note, this is a superset of the the 'gomez.stripplot' data.
-Used with permission of Kwanchai Gomez.
-Gomez, K.A. and Gomez, A.A.. 1984, - Statistical Procedures for Agricultural Research. - Wiley-Interscience. - Page 155.
- --# \dontrun{ - -library(agridat) -data(gomez.stripsplitplot) -dat <- gomez.stripsplitplot - -# Layout -libs(desplot) -desplot(dat, gen ~ col*row, - out1=rep, col=nitro, text=planting, cex=1, - main="gomez.stripsplitplot")- -# Gomez table 4.19, ANOVA of strip-split-plot design -dat <- transform(dat, nf=factor(nitro)) -m1 <- aov(yield ~ nf * gen * planting + - Error(rep + rep:nf + rep:gen + rep:nf:gen), data=dat) -summary(m1)#> -#> Error: rep -#> Df Sum Sq Mean Sq F value Pr(>F) -#> Residuals 2 15289498 7644749 -#> -#> Error: rep:nf -#> Df Sum Sq Mean Sq F value Pr(>F) -#> nf 2 116489166 58244583 36.62 0.00268 ** -#> Residuals 4 6361491 1590373 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 -#> -#> Error: rep:gen -#> Df Sum Sq Mean Sq F value Pr(>F) -#> gen 5 49119270 9823854 3.676 0.0379 * -#> Residuals 10 26721828 2672183 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 -#> -#> Error: rep:nf:gen -#> Df Sum Sq Mean Sq F value Pr(>F) -#> nf:gen 10 24595731 2459573 2.575 0.0344 * -#> Residuals 20 19106733 955337 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 -#> -#> Error: Within -#> Df Sum Sq Mean Sq F value Pr(>F) -#> planting 1 723079 723079 1.715 0.1986 -#> nf:planting 2 2468132 1234066 2.927 0.0664 . -#> gen:planting 5 23761441 4752288 11.271 1.37e-06 *** -#> nf:gen:planting 10 7512072 751207 1.782 0.1000 . -#> Residuals 36 15179354 421649 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1-# There is a noticeable linear trend along the y coordinate which may be -# an artifact that blocking will remove, or may need to be modeled. -# Note the outside values in the high-nitro boxplot. -libs("HH") -interaction2wt(yield ~ nitro + gen + planting + row, dat, - x.between=0, y.between=0, - x.relation="free")-# } -
gomez.wetdry.Rd
Rice yield in wet & dry seasons with nitrogen fertilizer treatments
-A data frame with 96 observations on the following 4 variables.
season
season = wet/dry
nitrogen
nitrogen fertilizer kg/ha
rep
replicate
yield
grain yield, t/ha
Five nitrogen fertilizer treatments were tested in 2 seasons using 3 reps.
-Used with permission of Kwanchai Gomez.
-Gomez, K.A. and Gomez, A.A.. 1984, - Statistical Procedures for Agricultural Research. - Wiley-Interscience. - Page 318.
-Rong-Cai Yang, Patricia Juskiw. (2011). - Analysis of covariance in agronomy and crop research. - Canadian Journal of Plant Science, 91:621-641. - https://doi.org/10.4141/cjps2010-032
- --# \dontrun{ - -library(agridat) -data(gomez.wetdry) -dat <- gomez.wetdry - -libs(lattice) -foo1 <- xyplot(yield ~ nitrogen|season, data=dat, - group=rep,type='l',auto.key=list(columns=3), - ylab="yield in each season", - main="gomez.wetdry raw data & model") - -# Yang & Juskiw fit a quadratic model with linear and quadratic -# contrasts using non-equal intervals of nitrogen levels. -# This example below omits the tedious contrasts - -libs(latticeExtra, lme4) -m1 <-lmer(yield ~ season*poly(nitrogen, 2) + (1|season:rep), data=dat) -#>pdat <- expand.grid(season=c('dry','wet'), - nitrogen=seq(from=0,to=150,by=5)) -pdat$pred <- predict(m1, newdata=pdat, re.form= ~ 0) -foo1 + - xyplot(pred ~ nitrogen|season, data=pdat, type='l',lwd=2,col="black") -- -# m2 <-lmer(yield ~ poly(nitrogen, 2) + (1|season:rep), data=dat) -# anova(m1,m2) -## m2: yield ~ poly(nitrogen, 2) + (1 | season:rep) -## m1: yield ~ season * poly(nitrogen, 2) + (1 | season:rep) -## Df AIC BIC logLik deviance Chisq Chi Df Pr(>Chisq) -## m2 5 86.418 93.424 -38.209 76.418 -## m1 8 64.216 75.425 -24.108 48.216 28.202 3 3.295e-06 *** - -# } -
gotway.hessianfly.Rd
Hessian fly damage to wheat varieties
-block
block factor, 4 levels
genotype factor, 16 wheat varieties
lat
latitude, numeric
long
longitude, numeric
y
number of damaged plants
n
number of total plants
The response is binomial.
-Each plot was square.
-C. A. Gotway and W. W. Stroup. - A Generalized Linear Model Approach to Spatial Data Analysis and Prediction - Journal of Agricultural, Biological, and Environmental - Statistics, 2, 157-178.
-https://doi.org/10.2307/1400401
-The GLIMMIX procedure. https://www.ats.ucla.edu/stat/SAS/glimmix.pdf
- --# \dontrun{ - - library(agridat) - data(gotway.hessianfly) - dat <- gotway.hessianfly - - dat$prop <- dat$y / dat$n - - libs(desplot) - desplot(dat, prop~long*lat, - aspect=1, # true aspect - out1=block, num=gen, cex=.75, - main="gotway.hessianfly") -- - # ---------------------------------------------------------------------------- - - # spaMM package example - libs(spaMM) -#>-#> -#> -#>#>-#> -#> -#>#> -#>#>-#> -#>m1 = HLCor(cbind(y, n-y) ~ 1 + gen + (1|block) + Matern(1|long+lat), - data=dat, family=binomial(), ranPars=list(nu=0.5, rho=1/.7)) - summary(m1) -#> formula: cbind(y, n - y) ~ 1 + gen + (1 | block) + Matern(1 | long + lat) -#> Estimation of lambda by Laplace REML approximation (p_bv). -#> Estimation of fixed effects by Laplace ML approximation (p_v). -#> Family: binomial ( link = logit ) -#> ------------ Fixed effects (beta) ------------ -#> Estimate Cond. SE t-value -#> (Intercept) 2.1958 0.6424 3.4181 -#> genG02 -0.5166 0.8296 -0.6227 -#> genG03 -0.9161 0.8380 -1.0932 -#> genG04 -1.8245 0.8010 -2.2777 -#> genG05 -0.7466 0.8636 -0.8645 -#> genG06 -1.5772 0.8311 -1.8977 -#> genG07 -1.1878 0.8337 -1.4248 -#> genG08 -2.2601 0.8212 -2.7523 -#> genG09 -2.0346 0.7992 -2.5457 -#> genG10 -1.2166 0.8583 -1.4175 -#> genG11 -2.3692 0.8228 -2.8794 -#> genG12 -1.9480 0.8070 -2.4139 -#> genG13 -4.6014 0.9629 -4.7785 -#> genG14 -3.2362 0.8525 -3.7960 -#> genG15 -3.0618 0.8279 -3.6984 -#> genG16 -4.1374 0.8887 -4.6554 -#> --------------- Random effects --------------- -#> Family: gaussian ( link = identity ) -#> --- Correlation parameters: -#> 2.rho 2.nu -#> 1.428571 0.500000 -#> --- Variance parameters ('lambda'): -#> lambda = var(u) for u ~ Gaussian; -#> block : 4.807e-08 -#> long + lat : 0.8619 -#> --- Coefficients for log(lambda): -#> Group Term Estimate Cond.SE -#> block (Intercept) -16.85 932.1 -#> long + lat (Intercept) -0.1486 0.2781 -#> # of obs: 64; # of groups: block, 4; long + lat, 64 -#> ------------- Likelihood values ------------- -#> logLik -#> p_v(h) (marginal L): -129.594 -#> p_beta,v(h) (ReL): -123.561fixef(m1) -#> (Intercept) genG02 genG03 genG04 genG05 genG06 -#> 2.1957920 -0.5166378 -0.9160873 -1.8245162 -0.7466366 -1.5771913 -#> genG07 genG08 genG09 genG10 genG11 genG12 -#> -1.1877620 -2.2600861 -2.0345601 -1.2165977 -2.3692284 -1.9480056 -#> genG13 genG14 genG15 genG16 -#> -4.6014047 -3.2361680 -3.0618020 -4.1374257# The following line fails with "Invalid graphics state" - # when trying to use pkgdown::build_site - # filled.mapMM(m1) - - # ---------------------------------------------------------------------------- - - # Block random. See Glimmix manual, output 1.18. - # Note: (Different parameterization) - - libs(lme4) - l2 <- glmer(cbind(y, n-y) ~ gen + (1|block), data=dat, family=binomial, - control=glmerControl(check.nlev.gtr.1="ignore")) - coef(l2) -#> $block -#> (Intercept) genG02 genG03 genG04 genG05 genG06 genG07 -#> B1 1.507497 -0.1938602 -0.5408074 -1.434189 -0.2037025 -0.9783249 -0.6040858 -#> B2 1.502923 -0.1938602 -0.5408074 -1.434189 -0.2037025 -0.9783249 -0.6040858 -#> B3 1.493663 -0.1938602 -0.5408074 -1.434189 -0.2037025 -0.9783249 -0.6040858 -#> B4 1.509754 -0.1938602 -0.5408074 -1.434189 -0.2037025 -0.9783249 -0.6040858 -#> genG08 genG09 genG10 genG11 genG12 genG13 genG14 -#> B1 -1.677434 -1.398435 -0.6817111 -1.462973 -1.45909 -3.55288 -2.507322 -#> B2 -1.677434 -1.398435 -0.6817111 -1.462973 -1.45909 -3.55288 -2.507322 -#> B3 -1.677434 -1.398435 -0.6817111 -1.462973 -1.45909 -3.55288 -2.507322 -#> B4 -1.677434 -1.398435 -0.6817111 -1.462973 -1.45909 -3.55288 -2.507322 -#> genG15 genG16 -#> B1 -2.087175 -2.969689 -#> B2 -2.087175 -2.969689 -#> B3 -2.087175 -2.969689 -#> B4 -2.087175 -2.969689 -#> -#> attr(,"class") -#> [1] "coef.mer"-# } -
goulden.barley.uniformity.Rd
Uniformity trial of barley
-A data frame with 400 observations on the following 3 variables.
row
row
col
column
yield
yield, grams per plot
Yield in grams for 400 square-yard barley plots.
-Field width: 20 plots x 3 feet = 60 feet
-Field length: 20 plots x 3 feet = 60 feet
-C. H. Goulden, (1939). - Methods of statistical analysis, 1st ed. Page 18. - https://archive.org/stream/methodsofstatist031744mbp
-Erwin LeClerg, Warren Leonard, Andrew Clark (1962). - Field Plot Technique, 2nd ed. Page 27.
-Alternatively, page 39 in 1939 edition of "Field Plot Technique". - https://archive.org/stream/fieldplottechniq00leon
- --# \dontrun{ - -library(agridat) -data(goulden.barley.uniformity) -dat <- goulden.barley.uniformity - -libs(desplot) -desplot(dat, yield ~ col*row, - aspect=20/20, # true aspect - main="goulden.barley.uniformity") --# Left skewed distribution. See LeClerg, Leonard, Clark -hist(dat$yield, main="goulden.barley.uniformity", - breaks=c(21,40,59,78,97,116,135,154,173,192,211,230,249)+.5) --# } -
goulden.eggs.Rd
Sample of egg weights on 24 consecutive days
-data("goulden.eggs")- - -
A data frame with 240 observations on the following 2 variables.
day
day
weight
weight
Data are the weights of 10 eggs taken at random on each day for 24 - days. Day 1 was Dec 10, and Day 24 was Jan 2.
-The control chart for standard deviations shows 4 values beyond the - upper limits. The data reveals a single, unusually large egg on each - of these days. These are almost surely double-yolk eggs.
-Cyrus H. Goulden (1952). - Methods of Statistical Analysis, 2nd ed. Page 425.
-None.
- --#># Figure 19-4 of Goulden. (Goulden uses 1/n when calculating std dev) -op <- par(mfrow=c(2,1)) -qic(weight, x = day, data = dat, chart = 'xbar', - main = 'goulden.eggs - Xbar chart', - xlab = 'Date', ylab = 'Avg egg weight' ) -qic(weight, x = day, data = dat, chart = 's', - main = 'goulden.eggs - S chart', - xlab = 'Date', ylab = 'Std dev egg weight' ) -
goulden.latin.Rd
Latin square experiment for testing fungicide
-data("goulden.latin")- - -
A data frame with 25 observations on the following 4 variables.
trt
treatment factor, 5 levels
yield
yield
row
row
col
column
Five treatments were tested to control stem rust in wheat. Treatment - codes and descriptions: - A = Dusted before rains. - B = Dusted after rains. - C = Dusted once each week. - D = Drifting, once each week. - E = Not dusted.
-Cyrus H. Goulden (1952). - Methods of Statistical Analysis, 2nd ed. Page 216.
- --# \dontrun{ - -library(agridat) -library(agridat) -data(goulden.latin) -dat <- goulden.latin - - -libs(desplot) -desplot(dat, yield ~ col*row, - text=trt, cex=1, # aspect unknown - main="goulden.latin") -#> Analysis of Variance Table -#> -#> Response: yield -#> Df Sum Sq Mean Sq F value Pr(>F) -#> trt 4 196.608 49.152 21.0321 2.366e-05 *** -#> factor(row) 4 46.668 11.667 4.9923 0.01328 * -#> factor(col) 4 14.020 3.505 1.4998 0.26343 -#> Residuals 12 28.044 2.337 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1-# } -
goulden.splitsplit.Rd
Split-split-plot experiment of wheat
-data("goulden.splitsplit")- - -
A data frame with 160 observations on the following 9 variables.
row
row
col
column
yield
yield
inoc
inoculate
trt
treatment number
gen
genotype
dry
dry/wet dust application
dust
dust treatment
block
block
An interesting split-split plot experiment in which the sub-plot - treatments have a 2*5 factorial structure.
-An experiment was conducted in 1932 on the experimental field of the - Dominion Rust Research Laboratory. The study was designed to - determine the effect on the incidence of root rot, of variety of - wheat, kinds of dust for seed treatment, method of application of the - dust, and efficacy of soil inoculation with the root-rot organism.
-The field had 4 blocks.
-Each block has 2 whole plots for the genotypes.
-Each whole-plot had 10 sub-plots for the 5 different kinds of dust and - 2 methods of application.
-Each sub-plot had 2 sub-sub-plots, one for inoculated soil and the - other one for uninoculated soil.
-C. H. Goulden, (1939). - Methods of statistical analysis, 1st ed. Page 18. - https://archive.org/stream/methodsofstatist031744mbp
-None
- --# \dontrun{ - -library(agridat) -data(goulden.splitsplit) -dat <- goulden.splitsplit - -libs(desplot) - -## Experiment design. Goulden p. 152-153 -## desplot(gen ~ col*row, data=dat, -## out1=block, out2=trt, text=dust, col=inoc, cex=1, -## main="goulden.splitsplit") - -desplot(dat, yield ~ col*row, - out1=block, out2=gen, - col=inoc, num=trt, cex=1, - main="goulden.splitsplit") -- -# Match Goulden table 40 -m1 <- aov(yield ~ gen - + dust + dry + dust:dry + gen:dust + gen:dry + gen:dust:dry - + inoc + inoc:gen + inoc:dust + inoc:dry - + inoc:dust:dry +inoc:gen:dust + inoc:gen:dry - + Error(block/(gen+gen:dust:dry+gen:inoc:dry)), data=dat) -#> Warning: Error() model is singular#> -#> Error: block -#> Df Sum Sq Mean Sq F value Pr(>F) -#> Residuals 3 989.5 329.8 -#> -#> Error: block:gen -#> Df Sum Sq Mean Sq F value Pr(>F) -#> gen 1 3639 3639 16.86 0.0262 * -#> Residuals 3 648 216 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 -#> -#> Error: block:gen:dust:dry -#> Df Sum Sq Mean Sq F value Pr(>F) -#> dust 4 987.6 246.90 12.587 2.65e-07 *** -#> dry 1 117.3 117.31 5.980 0.0178 * -#> dust:dry 4 46.2 11.54 0.588 0.6725 -#> gen:dust 4 146.7 36.67 1.869 0.1292 -#> gen:dry 1 91.5 91.51 4.665 0.0352 * -#> gen:dust:dry 4 148.1 37.02 1.887 0.1260 -#> Residuals 54 1059.2 19.62 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 -#> -#> Error: block:gen:dry:inoc -#> Df Sum Sq Mean Sq F value Pr(>F) -#> inoc 1 965.3 965.3 90.023 6.3e-07 *** -#> gen:inoc 1 0.3 0.3 0.029 0.8686 -#> dry:inoc 1 68.9 68.9 6.426 0.0262 * -#> gen:dry:inoc 1 3.9 3.9 0.364 0.5574 -#> Residuals 12 128.7 10.7 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 -#> -#> Error: Within -#> Df Sum Sq Mean Sq F value Pr(>F) -#> dust:inoc 4 379.8 94.95 6.153 0.000394 *** -#> dust:dry:inoc 4 25.8 6.45 0.418 0.794754 -#> gen:dust:inoc 4 119.4 29.85 1.935 0.118502 -#> Residuals 52 802.4 15.43 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1-# } -
graybill.heteroskedastic.Rd
Wheat varieties with heteroskedastic yields
-A data frame with 52 observations on the following 3 variables.
env
environment, 13 levels
gen
genotype, 4 levels
yield
yield
Yield of 4 varieties of wheat at 13 locations in Oklahoma, USA.
-The data was used to explore variability between varieties.
-F. A. Graybill, 1954. - Variance heterogeneity in a randomized block design, - Biometrics, 10, 516-520.
-Hans-Pieter Piepho, 1994. - Missing observations in the analysis of stability. - Heredity, 72, 141--145. - https://doi.org/10.1038/hdy.1994.20
- --# \dontrun{ - -library(agridat) -data(graybill.heteroskedastic) -dat <- graybill.heteroskedastic - -# Genotypes are obviously not homoscedastic -boxplot(yield ~ gen, dat, main="graybill.heteroskedastic") --# Shukla stability variance of each genotype, same as Grubbs' estimate -# Matches Piepho 1994 page 143. -# Do not do this! Nowadays, use mixed models instead. -libs("reshape2") -datm <- acast(dat, gen~env) -#>w <- datm -w <- sweep(w, 1, rowMeans(datm)) -w <- sweep(w, 2, colMeans(datm)) -w <- w + mean(datm) -w <- rowSums(w^2) -k=4; n=13 -sig2 <- k*w/((k-2)*(n-1)) - sum(w)/((k-1)*(k-2)*(n-1)) -## sig2 -## G1 G2 G3 G4 -## 145.98 -14.14 75.15 18.25 - -var.shukla <- function(x,N){ - # Estimate variance of shukla stability statistics - # Piepho 1994 equation (5) - K <- length(x) # num genotypes - S <- outer(x,x) - S1 <- diag(S) - S2 <- rowSums(S) - S1 - S[!upper.tri(S)] <- 0 # Make S upper triangular - # The ith element of S3 is the sum of the upper triangular elements of S, - # excluding the ith row and ith column - S3 <- sum(S) - rowSums(S) - colSums(S) - var.si2 <- 2*S1/(N-1) + 4/( (N-1)*(K-1)^2 ) * ( S2 + S3/(K-2)^2 ) - return(var.si2) -} - -# Set negative estimates to zero -sig2[sig2<0] <- 0 - -# Variance of shukla stat. Match Piepho 1994, table 5, example 1 -var.shukla(sig2,13) -#> G1 G2 G3 G4 -#> 4069.3296 138.9424 1423.0797 306.5270## G1 G2 G3 G4 -## 4069.3296 138.9424 1423.0797 306.5270 - -# } -
gregory.cotton.Rd
Factorial experiment of cotton in Sudan.
-data("gregory.cotton")- - -
A data frame with 144 observations on the following 6 variables.
yield
a numeric vector
year
year
nitrogen
nitrogen level
date
sowing date
water
irrigation amount
spacing
spacing between plants
Experiment conducted in Sudan at the Gezira Research Farm in 1929-1930 - and 1930-1931. The effects on yield of four factors was studied in - all possible combinations.
-Sowing dates in 1929: D1 = Jul 24, D2 = Aug 11, D3 = Sep 2, D4 = Sep 25.
-Spacing: S1 = 25 cm between holes, S2 = 50 cm, S3 = 75 cm. The usual - spacing is 50-70 cm.
-Irrigation: I1 = Light, I2 = Medium, I3 = Heavy.
-Nitrogen: N0 = None/Control, N1 = 600 rotls/feddan.
-In each year there were 4*3*2*2=72 treatments, each replicated four - times. The means are given here.
-Gregory (1932) has two interesting graphics: - 1. radial bar plot - 2. photographs of 3D model of treatment means.
-Gregory, FG and Crowther, F and Lambert, AR (1932). - The interrelation of factors controlling the production of cotton - under irrigation in the Sudan. - The Journal of Agricultural Science, 22, 617-638. Table 1, 10. - https://doi.org/10.1017/S0021859600054137
-Paterson, D. Statistical Technique in Agricultural Research, p. 211.
- --# \dontrun{ - -library(agridat) -data(gregory.cotton) -dat <- gregory.cotton - -# Main effect means, Gregory table 2 -## libs(dplyr) -## dat -## dat -## dat -## dat - - -# Figure 2 of Gregory. Not recommended, but an interesting exercise. -# https://stackoverflow.com/questions/13887365 -if(FALSE){ - libs(ggplot2) - d1 <- subset(dat, year=="Y1") - d1 <- transform(d1, grp=factor(paste(date,nitrogen,water,spacing))) - d1 <- d1[order(d1$grp),] # for angles - # Rotate labels on the left half 180 deg. First 18, last 18 labels - d1$ang <- 90+seq(from=(360/nrow(d1))/1.5, to=(1.5*(360/nrow(d1)))-360, - length.out=nrow(d1))+80 - d1$ang[1:18] <- d1$ang[1:18] + 180 - d1$ang[55:72] <- d1$ang[55:72] + 180 - # Lables on left half to right-adjusted - d1$hjust <- 0 - d1$hjust[1:18] <- d1$hjust[55:72] <- 1 - - gg <- ggplot(d1, aes(x=grp,y=yield,fill=factor(spacing))) + - geom_col() + - guides(fill=FALSE) + # no legend for 'spacing' - coord_polar(start=-pi/2) + # default is to start at top - labs(title="gregory.cotton 1929",x="",y="",label="") + - # The bar columns are centered on 1:72, subtract 0.5 to add radial axes - geom_vline(xintercept = seq(1, 72, by=3)-0.5, color="gray", size=.25) + - geom_vline(xintercept = seq(1, 72, by=18)-0.5, size=1) + - geom_vline(xintercept = seq(1, 72, by=9)-0.5, size=.5) + - geom_hline(yintercept=c(1,2,3)) + - geom_text(data=d1, aes(x=grp, y=max(yield), label=grp, angle=ang, hjust=hjust), - size=2) + - theme(panel.background=element_blank(), - axis.title=element_blank(), - panel.grid=element_blank(), - axis.text.x=element_blank(), - axis.text.y=element_blank(), - axis.ticks=element_blank() ) - print(gg) - -} -# } -
grover.diallel.Rd
Diallel 6x6 in 4 blocks.
-data("grover.diallel")
A data frame with 144 observations on the following 5 variables.
yield
a numeric vector
rep
a character vector
parent1
a character vector
parent2
a character vector
cross
a character vector
Yield for a 6x6 diallel with 4 reps.
-Note: The mean for the 2x2 cross is slightly different than Grover - p. 252. There appears to be an unknown error in the one of the 4 reps - in the data on page 250.
-Grover, Deepak & Lajpat Rai (2010). - Experimental Designing And Data Analysis In Agriculture And Biology. - Agrotech Publishing Academy. Page 85. - https://archive.org/details/expldesnanddatanalinagblg00023
-None
-# \dontrun{
- data(grover.diallel)
- dat <- grover.diallel
-
- anova(aov(yield ~ rep + cross, data=dat))
-#> Analysis of Variance Table
-#>
-#> Response: yield
-#> Df Sum Sq Mean Sq F value Pr(>F)
-#> rep 3 2034 677.86 5.7478 0.001113 **
-#> cross 35 32773 936.38 7.9399 < 2.2e-16 ***
-#> Residuals 105 12383 117.93
-#> ---
-#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
-
- # These effects match the GCA and SCA values in Grover table 3, page 253.
-
- library(lmDiallel)
- m2 <- lm.diallel(yield ~ parent1 + parent2, Block=rep,
- data=dat, fct="GRIFFING1")
- library(multcomp)
-#> Loading required package: mvtnorm
-#> Loading required package: survival
-#>
-#> Attaching package: 'survival'
-#> The following object is masked from 'package:asreml':
-#>
-#> rats
-#> Loading required package: TH.data
-#>
-#> Attaching package: 'TH.data'
-#> The following object is masked from 'package:MASS':
-#>
-#> geyser
- summary( glht(linfct=diallel.eff(m2), test=adjusted(type="none")) )
-#> Warning: Completion with error > abseps
-#> Warning: Completion with error > abseps
-#> Warning: Completion with error > abseps
-#> Warning: Completion with error > abseps
-#> Warning: Completion with error > abseps
-#> Warning: Completion with error > abseps
-#> Warning: Completion with error > abseps
-#> Warning: Completion with error > abseps
-#> Warning: Completion with error > abseps
-#> Warning: Completion with error > abseps
-#> Warning: Completion with error > abseps
-#> Warning: Completion with error > abseps
-#>
-#> Simultaneous Tests for General Linear Hypotheses
-#>
-#> Linear Hypotheses:
-#> Estimate Std. Error t value Pr(>|t|)
-#> Intercept == 0 93.0774 0.9050 102.851 <0.01 ***
-#> g_P1 == 0 1.4851 1.4309 1.038 1.0000
-#> g_P2 == 0 -0.9911 1.4309 -0.693 1.0000
-#> g_P3 == 0 2.2631 1.4309 1.582 0.9749
-#> g_P4 == 0 5.4247 1.4309 3.791 0.0303 *
-#> g_P5 == 0 -4.2490 1.4309 -2.969 0.1970
-#> g_P6 == 0 -3.9328 1.4309 -2.748 0.3000
-#> ts_P1:P1 == 0 -10.4026 4.5249 -2.299 0.6025
-#> ts_P1:P2 == 0 -9.7214 3.2629 -2.979 0.1931
-#> ts_P1:P3 == 0 -0.4581 3.2629 -0.140 1.0000
-#> ts_P1:P4 == 0 17.0428 3.2629 5.223 <0.01 ***
-#> ts_P1:P5 == 0 25.4765 3.2629 7.808 <0.01 ***
-#> ts_P1:P6 == 0 -21.9372 3.2629 -6.723 <0.01 ***
-#> ts_P2:P1 == 0 -9.7214 3.2629 -2.979 0.1925
-#> ts_P2:P2 == 0 7.0899 4.5249 1.567 0.9772
-#> ts_P2:P3 == 0 13.7157 3.2629 4.203 0.0110 *
-#> ts_P2:P4 == 0 -8.7710 3.2629 -2.688 0.3351
-#> ts_P2:P5 == 0 13.5728 3.2629 4.160 0.0124 *
-#> ts_P2:P6 == 0 -15.8860 3.2629 -4.869 <0.01 **
-#> ts_P3:P1 == 0 -0.4581 3.2629 -0.140 1.0000
-#> ts_P3:P2 == 0 13.7157 3.2629 4.203 0.0108 *
-#> ts_P3:P3 == 0 -23.5335 4.5249 -5.201 <0.01 ***
-#> ts_P3:P4 == 0 1.2699 3.2629 0.389 1.0000
-#> ts_P3:P5 == 0 0.1836 3.2629 0.056 1.0000
-#> ts_P3:P6 == 0 8.8224 3.2629 2.704 0.3256
-#> ts_P4:P1 == 0 17.0428 3.2629 5.223 <0.01 ***
-#> ts_P4:P2 == 0 -8.7710 3.2629 -2.688 0.3352
-#> ts_P4:P3 == 0 1.2699 3.2629 0.389 1.0000
-#> ts_P4:P4 == 0 -12.2868 4.5249 -2.715 0.3193
-#> ts_P4:P5 == 0 -9.9156 3.2629 -3.039 0.1707
-#> ts_P4:P6 == 0 12.6607 3.2629 3.880 0.0245 *
-#> ts_P5:P1 == 0 25.4765 3.2629 7.808 <0.01 ***
-#> ts_P5:P2 == 0 13.5728 3.2629 4.160 0.0123 *
-#> ts_P5:P3 == 0 0.1836 3.2629 0.056 1.0000
-#> ts_P5:P4 == 0 -9.9156 3.2629 -3.039 0.1705
-#> ts_P5:P5 == 0 -30.4793 4.5249 -6.736 <0.01 ***
-#> ts_P5:P6 == 0 1.1619 3.2629 0.356 1.0000
-#> ts_P6:P1 == 0 -21.9372 3.2629 -6.723 <0.01 ***
-#> ts_P6:P2 == 0 -15.8860 3.2629 -4.869 <0.01 **
-#> ts_P6:P3 == 0 8.8224 3.2629 2.704 0.3259
-#> ts_P6:P4 == 0 12.6607 3.2629 3.880 0.0244 *
-#> ts_P6:P5 == 0 1.1619 3.2629 0.356 1.0000
-#> ts_P6:P6 == 0 15.1782 4.5249 3.354 0.0851 .
-#> r_P1:P2 == 0 3.1600 3.8395 0.823 1.0000
-#> r_P1:P3 == 0 -5.8625 3.8395 -1.527 0.9831
-#> r_P1:P4 == 0 -2.0850 3.8395 -0.543 1.0000
-#> r_P1:P5 == 0 4.5000 3.8395 1.172 0.9996
-#> r_P1:P6 == 0 -0.1425 3.8395 -0.037 1.0000
-#> r_P2:P1 == 0 -3.1600 3.8395 -0.823 1.0000
-#> r_P2:P3 == 0 3.5100 3.8395 0.914 1.0000
-#> r_P2:P4 == 0 -0.5700 3.8395 -0.148 1.0000
-#> r_P2:P5 == 0 -1.4800 3.8395 -0.385 1.0000
-#> r_P2:P6 == 0 0.9725 3.8395 0.253 1.0000
-#> r_P3:P1 == 0 5.8625 3.8395 1.527 0.9832
-#> r_P3:P2 == 0 -3.5100 3.8395 -0.914 1.0000
-#> r_P3:P4 == 0 -0.6400 3.8395 -0.167 1.0000
-#> r_P3:P5 == 0 3.0100 3.8395 0.784 1.0000
-#> r_P3:P6 == 0 0.6550 3.8395 0.171 1.0000
-#> r_P4:P1 == 0 2.0850 3.8395 0.543 1.0000
-#> r_P4:P2 == 0 0.5700 3.8395 0.148 1.0000
-#> r_P4:P3 == 0 0.6400 3.8395 0.167 1.0000
-#> r_P4:P5 == 0 0.9475 3.8395 0.247 1.0000
-#> r_P4:P6 == 0 -1.4350 3.8395 -0.374 1.0000
-#> r_P5:P1 == 0 -4.5000 3.8395 -1.172 0.9996
-#> r_P5:P2 == 0 1.4800 3.8395 0.385 1.0000
-#> r_P5:P3 == 0 -3.0100 3.8395 -0.784 1.0000
-#> r_P5:P4 == 0 -0.9475 3.8395 -0.247 1.0000
-#> r_P5:P6 == 0 -1.9075 3.8395 -0.497 1.0000
-#> r_P6:P1 == 0 0.1425 3.8395 0.037 1.0000
-#> r_P6:P2 == 0 -0.9725 3.8395 -0.253 1.0000
-#> r_P6:P3 == 0 -0.6550 3.8395 -0.171 1.0000
-#> r_P6:P4 == 0 1.4350 3.8395 0.374 1.0000
-#> r_P6:P5 == 0 1.9075 3.8395 0.497 1.0000
-#> ---
-#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
-#> (Adjusted p values reported -- single-step method)
-#>
- ## Linear Hypotheses:
- ## Estimate Std. Error t value Pr(>|t|)
- ## Intercept == 0 93.0774 0.9050 102.851 <0.01 ***
- ## g_P1 == 0 1.4851 1.4309 1.038 1.0000
- ## g_P2 == 0 -0.9911 1.4309 -0.693 1.0000
- ## g_P3 == 0 2.2631 1.4309 1.582 0.9748
- ## g_P4 == 0 5.4247 1.4309 3.791 0.0302 *
- ## g_P5 == 0 -4.2490 1.4309 -2.969 0.1972
- ## g_P6 == 0 -3.9328 1.4309 -2.748 0.3008
- ## ts_P1:P1 == 0 -10.4026 4.5249 -2.299 0.6014
- ## ts_P1:P2 == 0 -9.7214 3.2629 -2.979 0.1933
- ## ts_P1:P3 == 0 -0.4581 3.2629 -0.140 1.0000
- ## ts_P1:P4 == 0 17.0428 3.2629 5.223 <0.01 ***
- ## ts_P1:P5 == 0 25.4765 3.2629 7.808 <0.01 ***
- ## ts_P1:P6 == 0 -21.9372 3.2629 -6.723 <0.01 ***
- ## ts_P2:P1 == 0 -9.7214 3.2629 -2.979 0.1928
- ## ts_P2:P2 == 0 7.0899 4.5249 1.567 0.9773
-
-# }
-
grover.rcb.subsample.Rd
An experiment on rice with 9 fertilizer treatments in 4 blocks, - 4 hills per plot.
-data("grover.rcb.subsample")
A data frame with 144 observations on the following 4 variables.
tiller
number of tillers
trt
treatment factor
block
block factor
unit
subsample unit
An experiment on rice with 9 fertilizer treatments in 4 blocks, - 4 hills per plot. The response variable is tiller count (per hill). - The hills are sampling units.
-Grover, Deepak & Lajpat Rai (2010). - Experimental Designing And Data Analysis In Agriculture And Biology. - Agrotech Publishing Academy. Page 85. - https://archive.org/details/expldesnanddatanalinagblg00023
-None.
-# \dontrun{
- data(grover.rcb.subsample)
- # Fixed-effects ANOVA. Matches Grover page 86.
- anova(aov(tiller ~ block + trt + block:trt, data=grover.rcb.subsample))
-#> Analysis of Variance Table
-#>
-#> Response: tiller
-#> Df Sum Sq Mean Sq F value Pr(>F)
-#> block 3 930 310.01 3.6918 0.01415 *
-#> trt 8 11816 1477.00 17.5891 < 2e-16 ***
-#> block:trt 24 4721 196.71 2.3425 0.00158 **
-#> Residuals 108 9069 83.97
-#> ---
-#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
- ## Response: tiller
- ## Df Sum Sq Mean Sq F value Pr(>F)
- ## block 3 930 310.01 3.6918 0.01415 *
- ## trt 8 11816 1477.00 17.5891 < 2e-16 ***
- ## block:trt 24 4721 196.71 2.3425 0.00158 **
- ## Residuals 108 9069 83.97
-# }
-
gumpertz.pepper.Rd
Phytophtera disease incidence in a pepper field
-A data frame with 800 observations on the following 6 variables.
field
field factor, 2 levels
row
x ordinate
quadrat
y ordinate
disease
presence (Y) or absence (N) of disease
water
soil moisture percent
leaf
leaf assay count
Each field is 20 rows by 20 quadrates, with 2 to 3 bell pepper plants - per plot. If any plant was wilted, dead, or had lesions, the - Phytophthora disease was considered to be present in the plot. The - soil pathogen load was assayed as the number of leaf disks colonized - out of five. In field 2, the pattern of disease presence appears to - follow soil water content. In field 1, no obvious trends were - present.
-Gumpertz et al. model the presence of disease using soil moisture and - leaf assay as covariates, and using disease presence of neighboring - plots as covariates in an autologistic model.
-Used with permission of Marcia Gumpertz. Research funded by USDA.
-Marcia L. Gumpertz; Jonathan M. Graham; Jean B. Ristaino (1997). - Autologistic Model of Spatial Pattern of Phytophthora Epidemic - in Bell Pepper: Effects of Soil Variables on Disease Presence. - Journal of Agricultural, Biological, and Environmental - Statistics, Vol. 2, No. 2., pp. 131-156.
- --# \dontrun{ - -library(agridat) -data(gumpertz.pepper) -dat <- gumpertz.pepper - -# Gumpertz deletes two outliers -dat[ dat$field =="F1" & dat$row==20 & dat$quadrat==10, 'water'] <- NA -dat[ dat$field =="F2" & dat$row==5 & dat$quadrat==4, 'water'] <- NA - -# Horizontal flip -dat <- transform(dat, row=21-row) - -# Disease presence. Gumpertz fig 1a, 2a. -libs(desplot) -grays <- colorRampPalette(c("#d9d9d9","#252525")) -desplot(dat, disease ~ row*quadrat|field, - col.regions=c('white','black'), aspect=1, # uncertain aspect - main="gumpertz.pepper disease presence", ) --# Soil water. Gumpertz fig 1b, 2b -desplot(dat, water ~ row*quadrat|field, - col.regions=grays(5), aspect=1, # uncertain aspect - at=c(5,7.5,10,12.5,15,18), - main="gumpertz.pepper soil moisture") --# Leaf assay. Gumpertz fig 1c, 2c -desplot(dat, leaf ~ row*quadrat|field, - col.regions=grays(6), - at=c(0,1,2,3,4,5,6)-.5, aspect=1, # uncertain aspect - main="gumpertz.pepper leaf assay", ) -- -# Use the inner 16x16 grid of plots in field 2 -dat2 <- droplevels(subset(dat, field=="F2" & !is.na(water) & - row > 2 & row < 19 & quadrat > 2 & quadrat < 19)) - -m21 <- glm(disease ~ water + leaf, data=dat2, family=binomial) -coef(m21) # These match Gumpertz et al table 4, model 1 -#> (Intercept) water leaf -#> -9.1019623 0.7059993 0.4603931## (Intercept) water leaf -## -9.1019623 0.7059993 0.4603931 -dat2$res21 <- resid(m21) -if(0){ - libs(desplot) - desplot(dat2, res21 ~ row*quadrat, - main="gumpertz.pepper field 2, model 1 residuals") - # Still shows obvious trends. Gumpertz et al add spatial covariates for - # neighboring plots, but with only minor improvement in misclassification -} - -# } -
hadasch.lettuce.Rd
Lettuce resistance to downy mildew resistance (with marker data).
-data("hadasch.lettuce")
A data frame with 703 observations on the following 4 variables.
loc
locations
gen
genotype
rep
replicate
dmr
downy mildew resistance
A biparental cross of 95 recombinant inbred lines of "Salinas 88" (susceptible) and "La Brillante" (highly resistant to downy mildew). The 89 RILs were evaluated in field experiments performed in 2010 and 2011 near Salinas, California. Each loc had a 2 or 3 rep RCB design. There were approximately 30 plants per plot. Plots were scored 0 (no disease) to 5 (severe disease).
-The authors used the following model in a first-stage analysis to compute adjusted means for each genotype:
-y = loc + gen + gen:loc + block:loc + error
-where gen was fixed and all other terms random. The adjusted means were used as the response in a second stage:
-mn = 1 + Zu + error
-where Z is the design matrix of marker effects. The error term is fixed to have covariance matrix R be the same as from the first stage.
-Genotyping was performed with 95 SNPs and 205 amplified fragment length -polymporphism markers so that a marker matrix M (89Ă300) was -provided. The biallelic marker M(iw) for the ith genotype and the wth -marker with alleles A1 (i.e. the reference allele) and A2 was coded as 1 -for A1,A1, -1 for A2,A2 and 0 for A1,A2 and A2,A2.
-The electronic version of the lettuce data are licensed CC-BY 4 and were -downloaded 20 Feb 2021. -https://figshare.com/articles/dataset/Lettuce_trial_phenotypic_and_marker_data_/8299493
-Hadasch, S., I. Simko, R. J. Hayes, J. O. Ogutu, and H.P. Piepho (2016). -Comparing the predictive abilities of phenotypic and -marker-assisted selection methods in a biparental lettuce population. -Plant Genome 9. -https://doi.org/10.3835/plantgenome2015.03.0014
-Hayes, R. J., Galeano, C. H., Luo, Y., Antonise, R., & Simko, I. (2014). -Inheritance of Decay of Fresh-cut Lettuce in a Recombinant Inbred Line Population from "Salinas 88" Ă "La Brillante". -J. Amer. Soc. Hort. Sci., 139(4), 388-398. -https://doi.org/10.21273/JASHS.139.4.388
-hanks.sprinkler.Rd
Three wheat varieties planted in 3 blocks, with a line sprinkler - crossing all whole plots.
-A data frame with 108 observations on the following 7 variables.
block
block
row
row
subplot
column
gen
genotype, 3 levels
yield
yield (tons/ha)
irr
irrigation level, 1..6
dir
direction from sprinkler, N/S
A line-source sprinkler is placed through the middle of the experiment - (between subplots 6 and 7). Subplots closest to the sprinkler receive - the most irrigation. Subplots far from the sprinkler (near the edges) - have the lowest yields.
-One data value was modified from the original (following - the example of other authors).
-Hanks, R.J., Sisson, D.V., Hurst, R.L, and Hubbard K.G. (1980). - Statistical Analysis of Results from Irrigation Experiments Using the - Line-Source Sprinkler System. - Soil Science Society of America Journal, 44, 886-888. - https://doi.org/10.2136/sssaj1980.03615995004400040048x
-Johnson, D. E., Chaudhuri, U. N., and Kanemasu, E. T. (1983). - Statistical Analysis of Line-Source Sprinkler Irrigation Experiments - and Other Nonrandomized Experiments Using Multivariate Methods. - Soil Science Society American Journal, 47, 309-312.
-Stroup, W. W. (1989). - Use of Mixed Model Procedure to Analyze Spatially Correlated Data: An - Example Applied to a Line-Source Sprinkler Irrigation Experiment. - Applications of Mixed Models in Agriculture and Related - Disciplines, Southern Cooperative Series Bulletin No. 343, 104-122.
-SAS Stat User's Guide. - https://support.sas.com/documentation/cdl/en/statug/63347/HTML/default/viewer.htm#statug_mixed_sect038.htm
- --# \dontrun{ - - library(agridat) - data(hanks.sprinkler) - dat <- hanks.sprinkler - - # The line sprinkler is vertical between subplots 6 & 7 - libs(desplot) - desplot(dat, yield~subplot*row, - out1=block, out2=irr, cex=1, # aspect unknown - num=gen, main="hanks.sprinkler") -- - libs(lattice) - xyplot(yield~subplot|block, dat, type=c('b'), group=gen, - layout=c(1,3), auto.key=TRUE, - main="hanks.sprinkler", - panel=function(x,y,...){ - panel.xyplot(x,y,...) - panel.abline(v=6.5, col='wheat') - }) -- # ---------------------------------------------------------------------------- - - ## This is the model from the SAS documentation - ## proc mixed; - ## class block gen dir irr; - ## model yield = gen|dir|irr@2; - ## random block block*dir block*irr; - ## repeated / type=toep(4) sub=block*gen r; - - # ---------------------------------------------------------------------------- - - # asreml 3 - libs(asreml,lucid) - if( utils::packageVersion("asreml") < "4") { - # asreml3 - - dat <- transform(dat, subf=factor(subplot), - irrf=factor(irr)) - dat <- dat[order(dat$block, dat$gen, dat$subplot),] - - m1 <- asreml(yield ~ gen + dir + irrf + gen:dir + gen:irrf + dir:irrf, - data=dat, - random= ~ block + block:dir + block:irrf, - rcov= ~ block:gen:corb(subf, k=4)) - - libs(lucid) - vc(m1) - ## effect component std.error z.ratio constr - ## block!block.var 0.2194 0.2393 0.92 pos - ## block:dir!block.var 0.01768 0.03154 0.56 pos - ## block:irrf!block.var 0.03539 0.03617 0.98 pos - ## R!variance 0.285 0.05086 5.6 pos - ## R!cor1 0.02802 0.1143 0.25 uncon - ## R!cor2 0.005095 0.1278 0.04 uncon - ## R!cor3 -0.3246 0.0905 -3.6 uncon - - ## # convert asreml correlations to SAS covariances - ## round(.2850 * c(1, .02802, .005095, -.3246),4) # res var * (cor1, cor2, cor3) - ## [1] 0.2850 0.0080 0.0015 -0.0925 - } - - # asreml 4 - libs(asreml,lucid) - if( utils::packageVersion("asreml") > "4") { - - dat <- transform(dat, subf=factor(subplot), - irrf=factor(irr)) - dat <- dat[order(dat$block, dat$gen, dat$subplot),] - - # In asreml3, we can specify corb(subf, 3) - # In asreml4, only corb(subf, 1) runs. corb(subf, 3) says: - # Correlation structure is not positive definite - m1 <- asreml(yield ~ gen + dir + irrf + gen:dir + gen:irrf + dir:irrf, - data=dat, - random= ~ block + block:dir + block:irrf, - resid = ~ block:gen:corb(subf, 2)) - - lucid::vc(m1) - # effect component std.error z.ratio bound - # block 0.194 0.2231 0.87 P 0.5 - # block:dir 0.02729 0.04959 0.55 P 0 - # block:irrf 0.02275 0.0347 0.66 P 0.1 - # block:gen:subf!R 0.3234 0.05921 5.5 P 0 - # block:gen:subf!subf!cor1 0.169 0.09906 1.7 P 0.1 - - } -#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:08:44 2021 -#> LogLik Sigma2 DF wall cpu -#> 1 -22.0631 0.331054 82 17:08:44 0.0 -#> 2 -20.5511 0.353273 82 17:08:44 0.0 -#> 3 -20.8457 0.496038 82 17:08:44 0.0 -#> 4 -30.1543 0.850251 82 17:08:44 0.0 (3 restrained) -#> Likelihood evaluation failed with fault 1005 ; trying with reduced updates#> Error in asreml(yield ~ gen + dir + irrf + gen:dir + gen:irrf + dir:irrf, data = dat, random = ~block + block:dir + block:irrf, resid = ~block:gen:corb(subf, 2)): Correlation structure is not positive definite-# } -
hanover.whitepine.Rd
Mating crosses of white pine trees
-data("hanover.whitepine")- - -
A data frame with 112 observations on the following 4 variables.
rep
replicate
female
female parent
male
male parent
length
epicotyl length, cm
Four male (pollen parent) White Pine trees were mated to seven female - trees and 2654 progeny were grown in four replications, one plot per - mating in each replication. Parent trees were sourced from Idaho, - USA. The data are plot means of epicotyl length.
-Becker (1984) used these data to demonstrate the calculation of - heritability.
-Hanover, James W and Barnes, Burton V. (1962). - Heritability of height growth in year-old western white pine. - Proc Forest Genet Workshop. 22, 71--76.
-Walter A. Becker (1984). - Manual of Quantitative Genetics, 4th ed. Page 83.
-None
- --# \dontrun{ - - library(agridat) - data(hanover.whitepine) - dat <- hanover.whitepine - - libs(lattice) - # Relatively high male-female interaction in growth comared - # to additive gene action. Response is more consistent within - # male progeny than female progeny. - # with(dat, interaction.plot(female, male, length)) - # with(dat, interaction.plot(male, female, length)) - bwplot(length ~ male|female, data=dat, - main="hanover.whitepine - length for male:female crosses", - xlab="Male parent", ylab="Epicotyl length") -#> [1] 380.58#> female male length -#> 1 F193 M17 15.87 -#> 2 F195 M17 14.49 -#> 3 F197 M17 18.89 -#> 4 F201 M17 11.93 -#> 5 F203 M17 16.61 -#> 6 F204 M17 12.82 -#> 7 F208 M17 15.91 -#> 8 F193 M19 12.49 -#> 9 F195 M19 10.95 -#> 10 F197 M19 10.39 -#> 11 F201 M19 11.02 -#> 12 F203 M19 15.90 -#> 13 F204 M19 9.94 -#> 14 F208 M19 10.78 -#> 15 F193 M22 16.94 -#> 16 F195 M22 12.80 -#> 17 F197 M22 14.06 -#> 18 F201 M22 15.01 -#> 19 F203 M22 12.92 -#> 20 F204 M22 13.65 -#> 21 F208 M22 14.58 -#> 22 F193 M58 14.52 -#> 23 F195 M58 14.28 -#> 24 F197 M58 13.94 -#> 25 F201 M58 12.41 -#> 26 F203 M58 11.63 -#> 27 F204 M58 11.78 -#> 28 F208 M58 14.07- # Sum of squares matches Becker p 85 - m1 <- aov(length ~ rep + male + female + male:female, data=dat) - anova(m1) -#> Analysis of Variance Table -#> -#> Response: length -#> Df Sum Sq Mean Sq F value Pr(>F) -#> rep 3 1.8218 0.6073 3.0299 0.03406 * -#> male 3 12.3538 4.1179 20.5460 5.393e-10 *** -#> female 6 6.4977 1.0829 5.4032 9.740e-05 *** -#> male:female 18 13.4609 0.7478 3.7312 2.266e-05 *** -#> Residuals 81 16.2344 0.2004 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1- # Variance components match Becker p. 85 - libs(lme4) - libs(lucid) - m2 <- lmer(length ~ (1|rep) + (1|male) + (1|female) + (1|male:female), data=dat) - #as.data.frame(lme4::VarCorr(m2)) - vc(m2) -#> grp var1 var2 vcov sdcor -#> male:female (Intercept) <NA> 0.1369 0.3699 -#> female (Intercept) <NA> 0.02094 0.1447 -#> male (Intercept) <NA> 0.1204 0.3469 -#> rep (Intercept) <NA> 0.01453 0.1205 -#> Residual <NA> <NA> 0.2004 0.4477## grp var1 var2 vcov sdcor - ## male:female (Intercept) <NA> 0.1369 0.3699 - ## female (Intercept) <NA> 0.02094 0.1447 - ## male (Intercept) <NA> 0.1204 0.3469 - ## rep (Intercept) <NA> 0.01453 0.1205 - ## Residual <NA> <NA> 0.2004 0.4477 - - # Becker used this value for variability between individuals, within plot - s2w <- 1.109 - - # Calculating heritability for individual trees - s2m <- .120 - s2f <- .0209 - s2mf <- .137 - vp <- s2m + s2f + s2mf + s2w # variability of phenotypes = 1.3869 - 4*s2m / vp # heritability male 0.346 -#> [1] 0.34609564*s2f / vp # heritability female 0.06 -#> [1] 0.060278322*(s2m+s2f)/vp # heritability male+female .203 -#> [1] 0.203187# As shown in the boxplot, heritability is stronger through the - # males than through the females. -# } - -
harris.multi.uniformity.Rd
Uniformity trials with multiple crops, at Huntley Field Station, - Montana, 1911-1925.
-A data frame with 1058 observations on the following 5 variables.
series
series (field coordinate)
plot
plot number (field coordinate)
year
year, 1911-1925
crop
crop factor
yield
yield, numeric
Field width: 2 plots * 317 ft + 5 feet alley = 639 feet
-Field length: 23 plots * 23.3 feet = 536 feet
-All yields are given in pound per plot, except sugar beets, which are - given in tons per acre. Harris (1928) shows a map of the location.
-Harris 1920: - In the spring of 1911 this field was laid out into 46 plots, each - measuring 23.5 by 317 feet and containing 0.17 acre, arranged in two - parallel series of 23 plots each. The two series of plots were - separated merely by a temporary irrigation ditch. In 1911 it was - planted to sugar beets, and in the spring of 1912 it was seeded to - alfalfa, and one cutting was harvested that year. This stand remained - on the ground during 1913 and 1914, when the entire field was - fall-plowed. In 1913 three cuttings were made, but the third cutting - was lost in a heavy wind which scattered and mixed the crop before - weighings from the various plots could be made. The first cutting, - designated as alfalfa I, was made on plots one-half the original - size. The second cutting was harvested from plots one-quarter the - original size. The first and second cuttings in 1914 were weighed for - plots one-quarter the original size--that is, 0.0425-acre plots--while - the third cutting was recorded for plots one-third the original - size. These furnish the data for alfalfa I, II, and III for 1914. - Total yields for the first and second cuttings in 1913 and 1914 and - for the first, second, and third cuttings in 1914 are also considered. - In 1915 and 1916 ear corn was grown. In 1917 the fields were planted - to oats, and records were made of grain, straw, and total yield. In - 1918 silage corn was grown. In 1919 the land produced a crop of - barley.
-Harris 1928: - The southeast corner of Series II, the east series, is - about 80 feet from the main canal, and the southwest corner of Series - III is about 50 feet from Ouster Coulee. The main project canal - carries normally during the irrigation season about 400 second-feet of - water. The water surface in the canal is about 4 feet above the high - corner of the field. It is evident from surface conditions, as well as - from borings made between the canal and the field, that there is - extensive seepage from the canal into the subsoil of the field. The - volume of this seepage has been larger in recent years than it was in - the earlier years of the cropping experiments, probably because the - canal bank has been worn away by internal erosion, exposing a stratum - of sandy subsoil that underlies the canal and part of the field.
-Whereas in the earlier crops Series II was better for alfalfa, Series - III was better for alfalfa in the later period. The writers feel - inclined to suggest that in the earlier experiments the height of the - water table had no harmful effect upon a deep-rooted crop such as - alfalfa. It is quite possible that during drier periods the higher - water table actually favored alfalfa growth on Series II. The higher - water tables of recent years have probably had a deleterious - influence, which has been especially marked on Series II, where the - water apparently comes nearer to the surface than in Series III.
-Harris, J Arthur and Scofield, CS. (1920). - Permanence of differences in the plats of an experimental field. - Jour. Agr. Res, 20, 335-356. - https://naldc.nal.usda.gov/catalog/IND43966236
-Harris, J Arthur and Scofield, CS. (1928). - Further studies on the permanence of differences in the plots of an - experimental field. - Jour. Agr. Res, 36, 15--40. - https://naldc.nal.usda.gov/catalog/IND43967538
- --# \dontrun{ -library(agridat) - -data(harris.multi.uniformity) -dat <- harris.multi.uniformity -# Combine year/crop into 'harvest' -dat <- transform(dat, harv = factor(paste0(year,".",crop))) -# Convert 1911 from tons to pounds -dat$yield[dat$year==1911] <- 340 * dat$yield[dat$year==1911] - -# Average yields. Harris 1928, table 2. -aggregate(yield~harv, dat, mean) -#> harv yield -#> 1 1911.sugarbeet 4181.5565 -#> 2 1912.alfalfa1 356.5435 -#> 3 1913.alfalfa1 541.4130 -#> 4 1913.alfalfa2 483.2609 -#> 5 1914.alfalfa1 489.1304 -#> 6 1914.alfalfa2 499.3478 -#> 7 1914.alfalfa3 471.9565 -#> 8 1915.corn 522.5870 -#> 9 1916.corn 396.1522 -#> 10 1917.oat 555.8043 -#> 11 1917.straw 521.5435 -#> 12 1918.silage 3175.4348 -#> 13 1919.barley 358.1957 -#> 14 1919.straw 230.5000 -#> 15 1920.silage 2394.1304 -#> 16 1921.barley 525.6087 -#> 17 1921.straw 324.8261 -#> 18 1922.alfalfa3 379.4565 -#> 19 1923.alfalfa1 604.1304 -#> 20 1923.alfalfa3 300.2174 -#> 21 1924.alfalfa2 642.3913 -#> 22 1924.alfalfa3 357.6087 -#> 23 1925.silage 4267.9348#> -#>#>-#> -#>mat <- acast(dat, series+plot~harv, value.var='yield') -corrgram(mat, main="harris.multi.uniformity - correlation of crop yields") -- -# Compare to Harris 1928, table 4. More positive than negative correlations. -# densityplot(as.vector(cor(mat)), xlab="correlations", -# main="harris.multi.uniformity") - - -# Standardize yields for each year -mats <- scale(mat) -# Melt and re-name columns so we can make field maps. Obvious spatial -# patterns that persist over years -d2 <- melt(mats) -names(d2) <- c('ord','harv','yield') -d2$series <- as.numeric(substring(d2$ord,1,1)) -d2$plot <- as.numeric(substring(d2$ord,3)) - -# Series 2 is on the east side, so switch 2 and 3 for correct plotting -d2$xord <- 5 - dat$series -# Note that for alfalfa, higher-yielding plots in 1912-1914 were -# lower-yielding in 1922-1923. -libs(desplot) -desplot(d2, yield ~ xord*plot|harv, - aspect=536/639, flip=TRUE, # true aspect - main="harris.multi.uniformity") --# Crude fertility map by averaging across years shows probable -# sub-surface water effects -agg <- aggregate(yield ~ xord + plot, data=d2, mean) -desplot(agg, yield ~ xord + plot, - aspect=536/639, # true aspect - main="harris.multi.uniformity fertility") --# } -
harris.wateruse.Rd
Water use by horticultural trees
-A data frame with 1040 observations on the following 6 variables.
species
species factor, 2 levels
age
age factor, 2 levels
tree
tree factor, 40 (non-consecutive) levels
day
day, numeric
water
water use, numeric
Ten trees in each of four groups (two species, by two ages) were - assessed for water usage, approximately every five days.
-Missing values are included for the benefit of asreml, which needs a - 'balanced' data set due to the kronecker-like syntax of the R matrix.
-Used with permission of Roger Harris at Virginia Polytechnic.
-Schabenberger, Oliver and Francis J. Pierce. 2002. - Contemporary Statistical Models for the Plant and Soil Sciences. - CRC Press. Page 512.
- --# \dontrun{ - - library(agridat) - data(harris.wateruse) - dat <- harris.wateruse - - # Compare to Schabenberger & Pierce, fig 7.23 - libs(latticeExtra) -#> -#>#>-#> -#>useOuterStrips(xyplot(water ~ day|species*age,dat, as.table=TRUE, - group=tree, type=c('p','smooth'), - main="harris.wateruse 2 species, 2 ages (10 trees each)")) -- - # Note that measurements on day 268 are all below the trend line and - # thus considered outliers. Delete them. - dat <- subset(dat, day!=268) - - - # Schabenberger figure 7.24 - xyplot(water ~ day|tree,dat, subset=age=="A2" & species=="S2", - as.table=TRUE, type=c('p','smooth'), - ylab="Water use profiles of individual trees", - main="harris.wateruse (Age 2, Species 2)") -- # Rescale day for nicer output, and convergence issues, add quadratic term - dat <- transform(dat, ti=day/100) - dat <- transform(dat, ti2=ti*ti) - - # Start with a subgroup: age 2, species 2 - d22 <- droplevels(subset(dat, age=="A2" & species=="S2")) - - # ----- Model 1, for subgroup A2,S2 - - # First, a fixed quadratic that is common to all trees, plus - # a random quadratic deviation for each tree. - - ## Schabenberger, Output 7.26 - ## proc mixed; - ## class tree; - ## model water = ti ti*ti / s; - ## random intercept ti ti*ti/subject=tree; - - libs(nlme,lucid) -#> -#>#>-#> -#>## We use pdDiag() to get uncorrelated random effects - m1n <- lme(water ~ 1 + ti + ti2, data=d22, na.action=na.omit, - random = list(tree=pdDiag(~1+ti+ti2))) - # vc(m1n) - ## effect variance stddev - ## (Intercept) 0.2691 0.5188 - ## ti 0 0.0000144 - ## ti2 0 0.0000039 - ## Residual 0.1472 0.3837 - - if(0){ - # Various other models with lme4 & asreml - - libs(lme4, lucid) - m1l <- lmer(water ~ 1 + ti + ti2 + (1|tree) + - (0+ti|tree) + (0+ti2|tree), data=d22) - # vc(m1l) - ## grp var1 var2 vcov sdcor - ## tree (Intercept) <NA> 0.2691 0.5188 - ## tree.1 ti <NA> 0 0 - ## tree.2 ti2 <NA> 0 0 - ## Residual <NA> <NA> 0.1472 0.3837 - - - # Once the overall quadratic trend has been removed, there is not - # too much evidence for consecutive observations being correlated - ## d22r <- subset(d22, !is.na(water)) - ## d22r$res <- resid(m1n) - ## xyplot(res ~ day|tree,d22r, - ## as.table=TRUE, type=c('p','smooth'), - ## ylab="residual", - ## main="harris.wateruse - Residuals of individual trees") - ## op <- par(mfrow=c(4,3)) - ## tapply(d22r$res, d22r$tree, acf) - ## par(op) - - # ----- Model 2, add correlation of consecutive measurements - - ## Schabenberger (page 516) adds correlation. - ## Note how the fixed quadratic model is on the "ti = day/100" scale - ## and the correlated observations are on the "day" scale. The - ## only impact this has on the fitted model is to increase the - ## correlation parameter by a factor of 100, which was likely - ## done to get better convergence. - - ## proc mixed data=age2sp2; - ## class tree; - ## model water = ti ti*ti / s ; - ## random intercept /subject=tree s; - ## repeated /subject=tree type=sp(exp)(day); - - ## Same as SAS, use ti for quadratic, day for correlation - m2l <- lme(water ~ 1 + ti + ti2, data=d22, - random = ~ 1|tree, - cor = corExp(form=~ day|tree), - na.action=na.omit) - m2l # Match output 7.27. Same fixef, ranef, variances, exp corr - - # vc(m2l) - ## effect variance stddev - ## (Intercept) 0.2656 0.5154 - ## Residual 0.1541 0.3926 - - # --- - - ## Now use asreml. When I tried rcov=~tree:exp(ti), - ## the estimated parameter value was on the 'boundary', i.e. 0. - ## Changing rcov to the 'day' scale produced a sensible estimate - ## that matched SAS. - ## Note: SAS and asreml use different parameterizations for the correlation - ## SAS uses exp(-d/phi) and asreml uses phi^d. - ## SAS reports 3.79, asreml reports 0.77, and exp(-1/3.7945) = 0.7683274 - ## Note: normally a quadratic would be included as 'pol(day,2)' - - libs(asreml) - d22 <- d22[order(d22$tree, d22$day),] - m2a <- asreml(water ~ 1 + ti + ti2, - data=d22, - random = ~ tree, - rcov=~tree:exp(day)) - # code below is for asremlr 4 - ## m2a <- asreml(water ~ 1 + ti + ti2, - ## data=d22, - ## random = ~ tree, - ## resid= ~tree:exp(day)) - - vc(m2a) - ## effect component std.error z.ratio constr - ## tree!tree.var 0.2656 0.1301 2 pos - ## R!variance 0.1541 0.01611 9.6 pos - ## R!day.pow 0.7683 0.04191 18 uncon - - - # ----- Model 3. Full model for all species/ages. Schabenberger p. 518 - - ## /* Continuous AR(1) autocorrelations included */ - ## proc mixed data=wateruse; - ## class age species tree; - ## model water = age*species age*species*ti age*species*ti*ti / noint s; - ## random intercept ti / subject=age*species*tree s; - ## repeated / subject=age*species*tree type=sp(exp)(day); - - - m3l <- lme(water ~ 0 + age:species + age:species:ti + age:species:ti2, - data=dat, na.action=na.omit, - random = list(tree=pdDiag(~1+ti)), - cor = corExp(form=~ day|tree) ) - - m3l # Match Schabenberger output 7.27. Same fixef, ranef, variances, exp corr - - # vc(m3l) - ## effect variance stddev - ## (Intercept) 0.1549 0.3936 - ## ti 0.02785 0.1669 - ## Residual 0.16 0.4 - - # --- asreml - - dat <- dat[order(dat$tree,dat$day),] - m3a <- asreml(water ~ 0 + age:species + age:species:ti + age:species:ti2, - data=dat, - random = ~ age:species:tree + age:species:tree:ti, - rcov = ~ tree:exp(day) ) - # code for asremlr 4 - ## m3a <- asreml(water ~ 0 + age:species + age:species:ti + age:species:ti2, - ## data=dat, - ## random = ~ age:species:tree + age:species:tree:ti, - ## resid = ~ tree:exp(day) ) - - # vc(m3a) # Note: day.pow = .8091 = exp(-1/4.7217) - ## effect component std.error z.ratio constr - ## age:species:tree!age.var 0.1549 0.07192 2.2 pos - ## age:species:tree:ti!age.var 0.02785 0.01343 2.1 pos - ## R!variance 0.16 0.008917 18 pos - ## R!day.pow 0.8091 0.01581 51 uncon - - } - -# } -
harrison.priors.Rd
Ranges of analytes in soybean from other authors
-A data frame with 80 observations on the following 5 variables.
source
Source document
substance
Analyte substance
min
minimum amount (numeric)
max
maximum analyte amount (numeric)
number
number of substances
Harrison et al. show how to construct an informative Bayesian prior - from previously-published ranges of concentration for several - analytes.
-The units for daidzein, genistein, and glycitein are micrograms per - gram.
-The raffinose and stachyose units were converted to a common 'percent' - scale.
-The author names in the 'source' variable are shortened forms of the - citations in the supplemental information of Harrison et al.
-Jay M. Harrison, Matthew L. Breeze, Kristina H. Berman, George - G. Harrigan. 2013. - Bayesian statistical approaches to compositional analyses of transgenic - crops 2. Application and validation of informative prior distributions. - Regulatory Toxicology and Pharmacology, 65, 251-258. - https://doi.org/10.1016/j.yrtph.2012.12.002
-Data retrieved from the Supplemental Information of this source.
-Jay M. Harrison, Derek Culp, George G. Harrigan. 2013. - Bayesian MCMC analyses for regulatory assessments of safety in food composition - Proceedings of the 24th Conference on Applied Statistics in - Agriculture (2012).
- --# \dontrun{ - -library(agridat) -data(harrison.priors) -dat <- harrison.priors - -d1 <- subset(dat, substance=="daidzein") - -# Stack the data to 'tall' format and calculate empirical cdf -d1t <- with(d1, data.frame(xx = c(min, max), yy=c(1/(number+1), number/(number+1)))) - -# Harrison 2012 Example 4: Common prior distribution -# Harrison uses the minimum and maximum levels of daidzein from previous -# studies as the first and last order statistics of a lognormal -# distribution, and finds the best-fit lognormal distribution. - -m0 <- mean(log(d1t$xx)) # 6.37 -s0 <- sd(log(d1t$xx)) # .833 -mod <- nls(yy ~ plnorm(xx, meanlog, sdlog), data=d1t, - start=list(meanlog=m0, sdlog=s0)) -coef(mod) # Matches Harrison 2012 -#> meanlog sdlog -#> 6.4187829 0.6081558## meanlog sdlog -## 6.4187829 0.6081558 - -plot(yy~xx, data=d1t, xlim=c(0,2000), ylim=c(0,1), - main="harrison.priors - Common prior", xlab="daidzein level", ylab="CDF") -mlog <- coef(mod)[1] # 6.4 -slog <- coef(mod)[2] # .61 -xvals <- seq(0, 2000, length=100) -lines(xvals, plnorm(xvals, meanlog=mlog, sdlog=slog)) -- -d1a <- d1 -d1a$source <- as.character(d1a$source) -d1a[19,'source'] <- "(All)" # Add a blank row for the densitystrip -d1 -#> source substance min max number -#> 1 Hutabarat daidzein 343.00 1400.00 4 -#> 2 Primomo daidzein 434.00 696.00 7 -#> 3 Morrison daidzein 696.00 1230.00 14 -#> 4 Berman-U daidzein 198.95 1273.94 21 -#> 5 Berman-A daidzein 361.48 1458.24 21 -#> 6 Lundry-U daidzein 274.88 1526.23 13 -#> 7 Lundry-A daidzein 224.03 1571.91 14 -#> 8 Devi daidzein 215.00 353.00 7 -#> 9 Seguin daidzein 194.00 600.00 20 -#> 10 Zhou-1 daidzein 218.20 1530.30 25 -#> 11 Zhou-2 daidzein 174.80 1235.90 16 -#> 12 Zhou-3 daidzein 293.20 1168.40 12 -#> 13 Zhou-4 daidzein 417.40 1424.30 12 -#> 14 Zhou-5 daidzein 228.10 1084.40 12 -#> 15 Zhou-6 daidzein 336.90 1837.50 12 -#> 16 Zhou-7 daidzein 128.50 1424.80 12 -#> 17 Zhou-8 daidzein 594.90 1529.10 12 -#> 18 Zhou-9 daidzein 347.60 1504.80 10libs(latticeExtra) -# Plot the range for each source, a density curve (with arbitary -# vertical scale) for the common prior distribution, and a density -# strip by stacking the individual bands and using transparency -segplot(factor(source) ~ min+max, d1a, - main="harrison.priors",xlab="daidzein level",ylab="source") + - xyplot(5000*dlnorm(xvals, mlog, slog)~xvals, type='l') + - segplot(factor(rep(1,18)) ~ min+max, d1, 4, level=d1$number, - col.regions="gray20", alpha=.1) --# } -
hartman.tomato.uniformity.Rd
Uniformity trial of tomato in Indiana
-data("hartman.tomato.uniformity")- - -
A data frame with 384 observations on the following 3 variables.
row
row
col
column
yield
yield, pounds per plot
Grown in Indiana in 1941. - Plants were spaced 3 feet apart in rows 6 feet apart, 330 feet - long. Each row was divided into 3 sections of 34 plants sparated by - strips 12 feet long to provide roadways for vehicles.
-Each row was divided into 4-plant plots, with 8 plots in each section of - row and with one plant left as a guard at the end of each section.
-There were 49 plants missing out of 3072 total plants, but these have been ignored.
-Note, the data given in Table 1 of Hartman are for 8-plant plots!
-Field width: 3 sections (34 plants * 3 feet) + 2 roads * 12 feet = 330 feet.
-Field length: 32 rows * 6 feet = 192 feet
-As oriented on the page, plots were, on average, 330/12=27.5. feet wide, 6 feet tall.
-Discussion notes from Hartman.
-Total yield is 26001 pounds. Hartman says the yield of the field was - 10.24 tons per acre, which we can verify:
-26001 lb/field * (1/384 field/plot) * (1/(24*6) plot/ft2) * (43560 ft2/acre) * (1/2000 tons/lb) = 10.24 tons/acre
-The rows on the top/bottom (north/south) were intended as guard rows, - and had yields similar to the other rows, suggesting that competition - between rows did not exist. For comparing varieties, 96*6 foot plots - work well.
-J. D. Hartman and E. C. Stair (1942). - Proceedings Of The American Society For Horticultural Science, 41, 315-320. - https://archive.org/details/in.ernet.dli.2015.240678
-None
- --# \dontrun{ - -library(agridat) -data(hartman.tomato.uniformity) -libs(desplot) -desplot(hartman.tomato.uniformity, yield ~ col*row, - flip=TRUE, aspect=192/330, # true aspect - main="hartman.tomato.uniformity") --# } -
harvey.lsmeans.Rd
Average daily gain of 65 steers for 3 lines, 9 sires.
-data("harvey.lsmeans")- - -
A data frame with 65 observations on the following 7 variables.
line
line of the dam
sire
sire
damage
age class of the dam
calf
calf number
weanage
calf age at weaning
weight
calf weight at start of feeding
adg
average daily gain
The average daily gain 'adg' for each of 65 Hereford steers.
-The calf age at weaning and initial weight at the beginning of the - test feeding is also given.
-The steers were fed for the same length of time in the feed lot.
-It is assumed that each calf has a unique dam and there are no twins - or repeat matings.
-Harvey (1960) is one of the earliest papers presenting least squares - means (lsmeans).
-Harvey, Walter R. (1960). - Least-squares Analysis of Data with Unequal Subclass Numbers. - Technical Report ARS No 20-8. USDA, Agricultural Research Service. - Page 101-102.
-Reprinted as ARS H-4, 1975. - https://archive.org/details/leastsquaresanal04harv
-Also appears in the 'dmm' package as 'harv101.df' See that package - vignette for a complete analysis of the data.
- --# \dontrun{ - -library(agridat) -data(harvey.lsmeans) -dat = harvey.lsmeans - -libs(lattice) -dotplot(adg ~ sire|line,dat, - main="harvey.lsmeans", xlab="sire", ylab="average daily gain") --# Model suggested by Harvey on page 103 -m0 <- lm(adg ~ 1 + line + sire + damage + line:damage + weanage + - weight, data=dat) - -# Due to contrast settings, it can be hard to compare model coefficients to Harvey, -# but note the slopes of the continuous covariates match Harvey p. 107, where his -# b is weanage, d is weight -# coef(m0) -# weanage weight -# -0.008154879 0.001970446 - -# A quick attempt to reproduce table 4 of Harvey, p. 109. Not right. -# libs(emmeans) -# emmeans(m0,c('line','sire','damage')) - -# } -
harville.lamb.Rd
Birth weight of lambs from different lines/sires
-data("harville.lamb")- - -
A data frame with 62 observations on the following 4 variables.
line
genotype line number
sire
sire number
damage
dam age, class 1,2,3
weight
lamb birth weight
Weight at birth of 62 lambs. There were 5 distinct lines.
-Some sires had multiple lambs. Each dam had one lamb.
-The age of the dam is a category: 1 (1-2 years), 2 (2-3 years) or 3 (over 3 years).
-Note: Jiang, gives the data in table 1.2, but there is a small error. - Jiang has a weight 9.0 for sire 31, line 3, age 3. The correct value is 9.5.
-David A. Harville and Alan P. Fenech (1985). - Confidence Intervals for a Variance Ratio, or for Heritability, in an - Unbalanced Mixed Linear Model. - Biometrics, 41, 137-152. - https://doi.org/10.2307/2530650
-Jiming Jiang, - Linear and Generalized Linear Mixed Models and Their Applications. Table 1.2.
-Andre I. Khuri, Linear Model Methodology. Table 11.5. Page 368. - https://books.google.com/books?id=UfDvCAAAQBAJ&pg=PA164
-Daniel Gianola, Keith Hammond. - Advances in Statistical Methods for Genetic Improvement of - Livestock. Table 8.1, page 165.
- --
hayman.tobacco.Rd
Diallel cross of Aztec tobacco in 2 reps
-year
year
block
block factor, 2 levels
male
male parent, 8 levels
female
female parent
day
mean flowering time (days)
Data was collected in 1951 (Hayman 1954a) and 1952 (Hayman 1954b).
-In each year there were 8 varieties of Aztec tobacco, Nicotiana rustica L..
-Each cross/self was represented by 10 progeny, in two plots of 5 - plants each. The data are the mean flowering time per plot.
-Note, the 1951 data as published in Hayman (1954a) Table 5 contain - "10 times the mean flowering time". The data here have been divided - by 10 so as to be comparable with the 1952 data.
-Hayman (1954b) says "Table 2 lists...three characters from a diallel - cross of Nicotiana rustica varieties which was repeated for three years." - This seems to indicate that the varieties are the same in 1951 and - 1952. Calculating the GCA effects separately for 1951 and 1952 and - then comparing these estimates shows that they are highly correlated.
-B. I. Hayman (1954a). The Analysis of Variance of Diallel Tables. - Biometrics, 10, 235-244. Table 5, page 241. - https://doi.org/10.2307/3001877
-Hayman, B.I. (1954b). The theory and analysis of diallel crosses. - Genetics, 39, 789-809. Table 3, page 805. - https://www.genetics.org/content/39/6/789.full.pdf
-# For 1951 data
-Mohring, Melchinger, Piepho. (2011). - REML-Based Diallel Analysis. - Crop Science, 51, 470-478.
-# For 1952 data
-C. Clark Cockerham and B. S. Weir. (1977). - Quadratic analyses of reciprocal crosses. - Biometrics 33, 187-203. Appendix C.
-Andrea Onofri, Niccolo Terzaroli, Luigi Russi (2020). - Linear models for diallel crosses: A review with R functions. - Theoretical and Applied Genetics. - https://doi.org/10.1007/s00122-020-03716-8
-# \dontrun{
-
- library(agridat)
-
- # 1951 data. Fit the first REML model of Mohring 2011 Supplement.
- data(hayman.tobacco)
- dat1 <- subset(hayman.tobacco, year==1951)
-
-
- # Hayman's model
- # dat1 <- subset(hayman.tobacco, year==1951)
- # libs(lmDiallel)
- # m1 <- lm.diallel(day ~ male+female, Block=block, data=dat1, fct="HAYMAN2")
- # anova(m1) # Similar to table 7 of Hayman 1954a
- ## Response: day
- ## Df Sum Sq Mean Sq F value Pr(>F)
- ## Block 1 1.42 1.42 0.3416 0.56100
- ## Mean Dom. Dev. 1 307.97 307.97 73.8840 3.259e-12 ***
- ## GCA 7 2777.17 396.74 95.1805 < 2.2e-16 ***
- ## Dom. Dev. 7 341.53 48.79 11.7050 1.957e-09 ***
- ## SCA 20 372.89 18.64 4.4729 2.560e-06 ***
- ## RGCA 7 67.39 9.63 2.3097 0.03671 *
- ## RSCA 21 123.73 5.89 1.4135 0.14668
- ## Residuals 63 262.60
-
-
- # Griffing's model
- # https://www.statforbiology.com/2021/stat_met_diallel_griffing/
- # dat1 <- subset(hayman.tobacco, year==1951)
- # libs(lmDiallel)
- # contrasts(dat1$block) <- "contr.sum"
- # dmod1 and dmod2 are the same model with different syntax
- # dmod1 <- lm(day ~ block + GCA(male, female) + tSCA(male, female) +
- # REC(male, female) , data = dat1)
- # dmod2 <- lm.diallel(day ~ male + female, Block=block,
- # data = dat1, fct = "GRIFFING1")
- # anova(dmod1)
- # anova(dmod2)
- ## Response: day
- ## Df Sum Sq Mean Sq F value Pr(>F)
- ## Block 1 1.42 1.42 0.3416 0.56100
- ## GCA 7 2777.17 396.74 95.1805 < 2.2e-16 ***
- ## SCA 28 1022.38 36.51 8.7599 6.656e-13 ***
- ## Reciprocals 28 191.12 6.83 1.6375 0.05369 .
- ## Residuals 63 262.60
-
-
- # Make a factor 'comb' in which G1xG2 is the same cross as G2xG1
- dat1 <- transform(dat1,
- comb =
- ifelse(as.character(male) < as.character(female),
- paste0(male,female), paste0(female,male)))
- # 'dr' is the direction of the cross, 0 for self
- dat1$dr <- 1
- dat1 <- transform(dat1,
- dr = ifelse(as.character(male) < as.character(female), -1, dr))
- dat1 <- transform(dat1,
- dr = ifelse(as.character(male) == as.character(female), 0, dr))
-
- # asreml r version 3 & 4 code for Mixed Griffing.
- # Mohring Table 2, column 2 (after dividing by 10^2) gives variances:
- # GCA 12.77, SCA 11.09, RSCA .65, Error 4.23.
- # Mohring Supplement ASREML code part1 model is:
- # y ~ mu r !r mother and(father) combination combination.dr
- # Note that the levels of 'male' and 'female' are the same, so the
- # and(female) term tells asreml to use the same levels (or, equivalently,
- # fix the correlation of the male/female levels to be 1.
- # The block effect is minimial and therefore ignored.
- ## libs(asreml, lucid)
- ## m1 <- asreml(day~1, data=dat1,
- ## random = ~ male + and(female) + comb + comb:dr)
- ## vc(m1)
- ## effect component std.error z.ratio con
- ## male!male.var 12.77 7.502 1.7 Positive
- ## comb!comb.var 11.11 3.353 3.3 Positive
- ## comb:dr!comb.var 0.6603 0.4926 1.3 Positive
- ## R!variance 4.185 0.7449 5.6 Positive
-
- # ----------
-
- # 1952 data. Reproduce table 3 and figure 2 of Hayman 1954b.
-
- dat2 <- subset(hayman.tobacco, year==1952)
-
- # Does flowering date follow a gamma distn? Maybe.
- libs(lattice)
- densityplot(~day, data=dat2, main="hayman.tobacco",
- xlab="flowering date")
-
-
-
- d1 <- subset(dat2, block=='B1')
- d2 <- subset(dat2, block=='B2')
-
- libs(reshape2)
- m1 <- acast(d1, male~female, value.var='day')
- m2 <- acast(d2, male~female, value.var='day')
-
- mn1 <- (m1+t(m1))/2
- mn2 <- (m2+t(m2))/2
-
- # Variance and covariance of 'rth' offspring
- vr1 <- apply(mn1, 1, var)
- vr2 <- apply(mn2, 1, var)
- wr1 <- apply(mn1, 1, cov, diag(mn1))
- wr2 <- apply(mn2, 1, cov, diag(mn2))
- # Remove row names to prevent a mild warning
- rownames(mn1) <- rownames(mn2) <- NULL
- summ <- data.frame(rbind(mn1,mn2))
- summ$block <- rep(c('B1','B2'), each=8)
- summ$vr <- c(vr1,vr2)
- summ$wr <- c(wr1,wr2)
- summ$male <- rep(1:8,2) # Vr and Wr match Hayman table 3
-
- with(summ, plot(wr~vr, type='n', main="hayman.tobacco"))
- with(summ, text(vr, wr, male)) # Match Hayman figure 2
- abline(0,1,col="gray")
-
- # Hayman notes that 1 and 3 do not lie along the line,
- # so modifies them and re-analyzes.
-
-# }
-
hazell.vegetables.Rd
Gross profit for 4 vegetable crops in 6 years
-data("hazell.vegetables")- - -
A data frame with 6 observations on the following 5 variables.
year
year factor, 6 levels
carrot
Carrot profit, dollars/acre
celery
Celery profit, dollars/acre
cucumber
Cucumber profit, dollars/acre
pepper
Pepper profit, dollars/acre
The values in the table are gross profits (loss) in dollars per acre. - The criteria in the example below are (1) total acres < 200, (2) total - labor < 10000, (3) crop rotation.
-The example shows how to use linear programming to maximize expected profit.
-P.B.R. Hazell, (1971). - A linear alternative to quadratic and semivariance programming for farm planning - under uncertainty. - Am. J. Agric. Econ., 53, 53-62. - https://doi.org/10.2307/3180297
-Carlos Romero, Tahir Rehman. (2003). - Multiple Criteria Analysis for Agricultural Decisions. Elsevier.
- --# \dontrun{ - - library(agridat) - data(hazell.vegetables) - dat <- hazell.vegetables - - libs(lattice) - xyplot(carrot+celery+cucumber+pepper ~ year,dat, - ylab="yearly profit by crop", - type='b', auto.key=list(columns=4), - panel.hline=0) -- # optimal strategy for planting crops (calculated below) - dat2 <- apply(dat[,-1], 1, function(x) x*c(0, 27.5, 100, 72.5))/1000 - colnames(dat2) <- rownames(dat) - barplot(dat2, legend.text=c(" 0 carrot", "27.5 celery", " 100 cucumber", "72.5 pepper"), - xlim=c(0,7), ylim=c(-5,120), - col=c('orange','green','forestgreen','red'), - xlab="year", ylab="Gross profit, $1000", - main="hazell.vegetables - retrospective profit from optimal strategy", - args.legend=list(title="acres, crop")) -#># colMeans(dat[ , -1]) - # 252.8333 442.6667 283.8333 515.8333 - - # cvec = avg across-years profit per acre for each crop - cvec <- c(253, 443, 284, 516) - - # Maximize c'x for Ax=b - A <- rbind(c(1,1,1,1), c(25,36,27,87), c(-1,1,-1,1)) - colnames(A) <- names(cvec) <- c("carrot","celery","cucumber","pepper") - rownames(A) <- c('land','labor','rotation') - - # bvec criteria = (1) total acres < 200, (2) total labor < 10000, - # (3) crop rotation. - - bvec <- c(200,10000,0) - const.dir <- c("<=","<=","<=") - - m1 <- solveLP(cvec, bvec, A, maximum=TRUE, const.dir=const.dir, lpSolve=TRUE) - # m1$solution # optimal number of acres for each crop - # carrot celery cucumber pepper - # 0.00000 27.45098 100.00000 72.54902 - - # Average income for this plan - ## sum(cvec * m1$solution) - ## [1] 77996.08 - - # Year-to-year income for this plan - ## as.matrix(dat[,-1]) - ## [,1] - ## [1,] 80492.16 - ## [2,] 80431.37 - ## [3,] 81884.31 - ## [4,] 106868.63 - ## [5,] 37558.82 - ## [6,] 80513.73 - - # optimum allocation that minimizes year-to-year income variability. - # brute-force search - - # For generality, assume we have unequal probabilities for each year. - probs <- c(.15, .20, .20, .15, .15, .15) - # Randomly allocate crops to 200 acres, 100,000 times - #set.seed(1) - mat <- matrix(runif(4*100000), ncol=4) - mat <- 200*sweep(mat, 1, rowSums(mat), "/") - # each row is one strategy, showing profit for each of the six years - # profit <- mat - profit <- tcrossprod(mat, as.matrix(dat[,-1])) # Each row is profit, columns are years - # calculate weighted variance using year probabilities - wtvar <- apply(profit, 1, function(x) cov.wt(as.data.frame(x), wt=probs)$cov) - # five best planting allocations that minimizes the weighted variance - ix <- order(wtvar)[1:5] - mat[ix,] -#> [,1] [,2] [,3] [,4] -#> [1,] 69.78990 27.78428 87.63774 14.78808 -#> [2,] 72.46053 28.76455 82.99749 15.77743 -#> [3,] 68.78445 28.07023 86.57654 16.56877 -#> [4,] 73.12205 29.29729 82.24620 15.33445 -#> [5,] 70.28423 29.73192 86.69204 13.29181## carrot celery cucumber pepper - ## [,1] [,2] [,3] [,4] - ## [1,] 71.26439 28.09259 85.04644 15.59657 - ## [2,] 72.04428 27.53299 84.29760 16.12512 - ## [3,] 72.16332 27.35147 84.16669 16.31853 - ## [4,] 72.14622 29.24590 84.12452 14.48335 - ## [5,] 68.95226 27.39246 88.61828 15.03700 - -# } -
heady.fertilizer.Rd
Yield of corn, alfalfa, clover with two fertilizers
-data("heady.fertilizer")- - -
A data frame with 81 observations on the following 3 variables.
crop
crop
rep
replicate (not block)
P
phosphorous, pounds/acre
K
potassium, pounds/acre
N
nitrogen, pounds/acre
yield
yield
Heady et al. fit two-variable semi-polynomial response surfaces for - each crop.
-Clover and alfalfa yields are in tons/acre. - The clover and alfalfa experiments were grown in 1952.
-Corn yields are given as bu/acre. - The corn experiments were grown in 1952 and 1953. The same test plots - were used in 1953 and in 1952, but no fertilizer was - applied in 1953--any response in yield is due to residual fertilizer - from 1952.
-All experiments used an incomplete factorial design. - Not all treatment combinations were present.
-Earl O. Heady, John T. Pesek, William G. Brown. (1955). - Crop Response Surfaces and Economic Optima in Fertilizer Use. - Agricultural Experiment Station, Iowa State College. Research bulletin - 424. Pages 330-332. - https://lib.dr.iastate.edu/cgi/viewcontent.cgi?filename=12&article=1032&context=ag_researchbulletins&type=additional
-Pesek, John and Heady, Earl O. 1956. - A two nutrient-response function with determination of economic optima - for the rate and grade of fertilizer for alfalfa. - Soil Science Society of America Journal, 20, 240-246. - https://doi.org/10.2136/sssaj1956.03615995002000020025x
- ---library(agridat) - -data(heady.fertilizer) -dat <- heady.fertilizer - -libs(lattice) -xyplot(yield ~ P|crop, data=dat, scales=list(relation="free"), - groups=factor(paste(dat$N,dat$K)), auto.key=list(columns=5), - main="heady.fertilizer", xlab="Phosphorous") --# Corn. Matches Heady, p. 292 -d1 <- subset(dat, crop=="corn") -m1 <- lm(yield ~ N + P + sqrt(N) + sqrt(P) + sqrt(N*P), data=d1) -summary(m1) -#> -#> Call: -#> lm(formula = yield ~ N + P + sqrt(N) + sqrt(P) + sqrt(N * P), -#> data = d1) -#> -#> Residuals: -#> Min 1Q Median 3Q Max -#> -39.486 -8.091 1.188 9.740 30.194 -#> -#> Coefficients: -#> Estimate Std. Error t value Pr(>|t|) -#> (Intercept) -5.69442 6.62729 -0.859 0.392 -#> N -0.31622 0.03996 -7.913 2.35e-12 *** -#> P -0.41749 0.03996 -10.447 < 2e-16 *** -#> sqrt(N) 6.35320 0.86815 7.318 4.70e-11 *** -#> sqrt(P) 8.51766 0.86815 9.811 < 2e-16 *** -#> sqrt(N * P) 0.34096 0.03854 8.847 1.92e-14 *** -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 -#> -#> Residual standard error: 13.57 on 108 degrees of freedom -#> (48 observations deleted due to missingness) -#> Multiple R-squared: 0.9181, Adjusted R-squared: 0.9143 -#> F-statistic: 242.2 on 5 and 108 DF, p-value: < 2.2e-16 -#>- -# Alfalfa. Matches Heady, p. 292. Also Pesek equation 3, p. 241 -d2 <- subset(dat, crop=="alfalfa") -m2 <- lm(yield ~ K + P + sqrt(K) + sqrt(P) + sqrt(K*P), data=d2) -summary(m2) -#> -#> Call: -#> lm(formula = yield ~ K + P + sqrt(K) + sqrt(P) + sqrt(K * P), -#> data = d2) -#> -#> Residuals: -#> Min 1Q Median 3Q Max -#> -0.73355 -0.16627 0.01388 0.15149 0.61572 -#> -#> Coefficients: -#> Estimate Std. Error t value Pr(>|t|) -#> (Intercept) 1.8735521 0.1222501 15.326 < 2e-16 *** -#> K -0.0013943 0.0007371 -1.891 0.061237 . -#> P -0.0050195 0.0007371 -6.810 5.74e-10 *** -#> sqrt(K) 0.0617458 0.0160142 3.856 0.000196 *** -#> sqrt(P) 0.1735383 0.0160142 10.837 < 2e-16 *** -#> sqrt(K * P) -0.0014402 0.0007109 -2.026 0.045237 * -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 -#> -#> Residual standard error: 0.2502 on 108 degrees of freedom -#> (48 observations deleted due to missingness) -#> Multiple R-squared: 0.7732, Adjusted R-squared: 0.7627 -#> F-statistic: 73.64 on 5 and 108 DF, p-value: < 2.2e-16 -#>## Coefficients: -## Estimate Std. Error t value Pr(>|t|) -## (Intercept) 1.8735521 0.1222501 15.326 < 2e-16 *** -## K -0.0013943 0.0007371 -1.891 0.061237 . -## P -0.0050195 0.0007371 -6.810 5.74e-10 *** -## sqrt(K) 0.0617458 0.0160142 3.856 0.000196 *** -## sqrt(P) 0.1735383 0.0160142 10.837 < 2e-16 *** -## sqrt(K * P) -0.0014402 0.0007109 -2.026 0.045237 * - - -# Clover. Matches Heady, p. 292. -d3 <- subset(dat, crop=="clover") -m3 <- lm(yield ~ P + sqrt(K) + sqrt(P) + sqrt(K*P), data=d3) -summary(m3) -#> -#> Call: -#> lm(formula = yield ~ P + sqrt(K) + sqrt(P) + sqrt(K * P), data = d3) -#> -#> Residuals: -#> Min 1Q Median 3Q Max -#> -0.57245 -0.16915 -0.02067 0.14439 0.69123 -#> -#> Coefficients: -#> Estimate Std. Error t value Pr(>|t|) -#> (Intercept) 2.4698101 0.1133703 21.785 < 2e-16 *** -#> P -0.0039131 0.0007097 -5.514 2.38e-07 *** -#> sqrt(K) 0.0266867 0.0086756 3.076 0.00265 ** -#> sqrt(P) 0.1272024 0.0154128 8.253 3.92e-13 *** -#> sqrt(K * P) -0.0009570 0.0006859 -1.395 0.16578 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 -#> -#> Residual standard error: 0.2415 on 109 degrees of freedom -#> (48 observations deleted due to missingness) -#> Multiple R-squared: 0.644, Adjusted R-squared: 0.631 -#> F-statistic: 49.3 on 4 and 109 DF, p-value: < 2.2e-16 -#>-# Corn with residual fertilizer. Matches Heady eq 56, p. 322. -d4 <- subset(dat, crop=="corn2") -m4 <- lm(yield ~ N + P + sqrt(N) + sqrt(P) + sqrt(N*P), data=d4) -summary(m4) -#> -#> Call: -#> lm(formula = yield ~ N + P + sqrt(N) + sqrt(P) + sqrt(N * P), -#> data = d4) -#> -#> Residuals: -#> Min 1Q Median 3Q Max -#> -27.349 -6.885 -1.070 6.857 38.863 -#> -#> Coefficients: -#> Estimate Std. Error t value Pr(>|t|) -#> (Intercept) 18.31681 5.09183 3.597 0.000487 *** -#> N 0.09482 0.03070 3.088 0.002558 ** -#> P -0.04405 0.03070 -1.435 0.154262 -#> sqrt(N) -2.10479 0.66701 -3.156 0.002076 ** -#> sqrt(P) 0.23531 0.66701 0.353 0.724935 -#> sqrt(N * P) 0.21933 0.02961 7.407 3.01e-11 *** -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 -#> -#> Residual standard error: 10.42 on 108 degrees of freedom -#> (48 observations deleted due to missingness) -#> Multiple R-squared: 0.7709, Adjusted R-squared: 0.7603 -#> F-statistic: 72.7 on 5 and 108 DF, p-value: < 2.2e-16 -#>
heath.raddish.uniformity.Rd
Uniformity trial of raddish in four containers.
-data("heath.raddish.uniformity")- - -
A data frame with 400 observations on the following 4 variables.
row
row
col
column
block
block
yield
weight per plant
Weight of 399 radish plants grown at 1in x 1in spacing in four plastic basins. -Seed wetted 1968-02-15, planted 1968-02-17, harvested 1968-03-26.
-Heath said, Most of the large plants were round the edges...one important source of variation might have been competition for light.
-O.V.S. Heath (1970). - Investigation by Experiment. Table 1. - https://archive.org/details/investigationbye0000heat
-None
- --# \dontrun{ - require(agridat) - data(heath.raddish.uniformity) - dat <- heath.raddish.uniformity - libs(desplot, dplyr) -#> -#>#>-#> -#>#>-#> -#>#>-#> -#>desplot(dat, yield ~ col*row|block, - aspect=1, - main="heath.raddish.uniformity") -- # Indicator for border/interior plants - dat <- mutate(dat, - inner = row > 1 & row < 10 & col > 1 & col < 10) - # Heath has 5.80 and 9.63 (we assume this is a typo of 9.36) - dat <- group_by(dat, inner) - summarize(dat, mean=mean(yield, na.rm=TRUE)) -#>#> # A tibble: 2 x 2 -#> inner mean -#> <lgl> <dbl> -#> 1 FALSE 9.36 -#> 2 TRUE 5.80#> Analysis of Variance Table -#> -#> Response: yield -#> Df Sum Sq Mean Sq F value Pr(>F) -#> block 3 30.4 10.15 0.5055 0.6787 -#> inner 1 1166.3 1166.30 58.0944 1.883e-13 *** -#> Residuals 394 7909.9 20.08 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1# lattice::bwplot(yield ~ inner, dat, horiz=0) - # similar to Heath fig 2-2 - # lattice::histogram( ~ yield|inner, dat, layout=c(1,2), n=20) -# } -
henderson.milkfat.Rd
Average daily fat yields (kg/day) from milk from a single cow for each of 35 weeks.
-A data frame with 35 observations on the following 2 variables.
week
week, numeric
yield
yield, kg/day
Charles McCulloch. Workshop on Generalized Linear Mixed Models.
-Used with permission of Charles McCulloch and Harold Henderson.
-None.
- --# \dontrun{ - -library(agridat) -data(henderson.milkfat) -dat <- henderson.milkfat - -plot(yield~week, data=dat, cex = 0.8, ylim=c(0,.9), - main="henderson.milkfat", xlab = "Week", - ylab = "Fat yield (kg/day)") --# Yield ~ a * t^b * exp(g*t) # where t is time -m1 <- nls(yield ~ alpha * week^beta * exp(gamma * week), - data=dat, - start=list(alpha=.1, beta=.1, gamma=.1)) - -# Or, take logs and fit a linear model -# log(yield) ~ log(alpha) + beta*log(t) + gamma*t -m2 <- lm(log(yield) ~ 1 + log(week) + week, dat) - -# Or, use glm and a link to do the transform -m3 <- glm(yield ~ 1 + log(week) + week, quasi(link = "log"), dat) - -# Note: m2 has E[log(y)] = log(alpha) + beta*log(t) + gamma*t -# and m3 has log(E[y]) = log(alpha) + beta*log(t) + gamma*t - -# Generalized additive models -libs("mgcv") -#>#> -#>#>-#> -#>m4 <- gam(log(yield) ~ s(week), gaussian, dat) -m5 <- gam(yield ~ s(week), quasi(link = "log"), dat) - -# Model predictions -pdat <- data.frame(week = seq(1, 35, by = 0.1)) -pdat <- transform(pdat, p1 = predict(m1, pdat), - p2 = exp(predict(m2, pdat)), # back transform - p3 = predict(m3, pdat, type="resp"), # response scale - p4 = exp(predict(m4, pdat)), - p5 = predict(m5, pdat, type="response")) - -# Compare fits -with(pdat, { - lines(week, p1) - lines(week, p2, col = "red", lty="dotted") - lines(week, p3, col = "red", lty="dashed") - lines(week, p4, col = "blue", lty = "dashed") - lines(week, p5, col = "blue") -}) --legend("topright", - c("obs", "lm, log-transformed", "glm, log-link", - "gam, log-transformed", "gam, log-link"), - lty = c("solid", "dotted", "dashed", "dashed", "solid"), - col = c("black", "red", "red", "blue", "blue"), - cex = 0.8, bty = "n") --# } -
hernandez.nitrogen.Rd
Corn response to nitrogen fertilizer at 5 sites.
-A data frame with 136 observations on the following 5 variables.
site
site factor, 5 levels
loc
location name
rep
rep, 4 levels
nitro
nitrogen, kg/ha
yield
yield, Mg/ha
Experiment was conducted in 2006 at 5 sites in Minnesota.
-Hernandez, J.A. and Mulla, D.J. 2008. - Estimating uncertainty of economically optimum fertilizer rates, - Agronomy Journal, 100, 1221-1229. - https://doi.org/10.2134/agronj2007.0273
-Electronic data kindly supplied by Jose Hernandez.
- --# \dontrun{ - - library(agridat) - data(hernandez.nitrogen) - dat <- hernandez.nitrogen - cprice <- 118.1 # $118.1/Mg or $3/bu - nprice <- 0.6615 # $0.66/kg N or $0.30/lb N - - # Hernandez optimized yield with a constraint on the ratio of the prices. - # Simpler to just calculate the income and optimize that. - dat <- transform(dat, inc = yield * cprice - nitro * nprice) - libs(lattice) - xyplot(inc ~ nitro|site, dat, groups=rep, auto.key=list(columns=4), - xlab="nitrogen", ylab="income", main="hernandez.nitrogen") -- # Site 5 only - dat1 <- subset(dat, site=='S5') - - # When we optimize on income, a simple quadratic model works just fine, - # and matches the results of the nls model below. - # Note, 'poly(nitro)' gives weird coefs - lm1 <- lm(inc ~ 1 + nitro + I(nitro^2), data=dat1) - c1 <- coef(lm1) - -c1[2] / (2*c1[3]) -#> nitro -#> 191.7198## nitro - ## 191.7198 # Optimum nitrogen is 192 for site 5 - - - # Use the delta method to get a conf int - libs("car") -#>#>-#> -#> -#> -#> -#>#> -#>#>-#> -#>del1 <- deltaMethod(lm1, "-b1/(2*b2)", parameterNames= paste("b", 0:2, sep="")) - # Simple Wald-type conf int for optimum - del1$Est + c(-1,1) * del1$SE * qt(1-.1/2, nrow(dat1)-length(coef(lm1))) -#> [1] 118.9329 264.5067## 118.9329 264.5067 - - - # Nonlinear regression - # Reparameterize b0 + b1*x + b2*x^2 using th2 = -b1/2b2 so that th2 is optimum - nls1 <- nls(inc ~ th11- (2*th2*th12)*nitro + th12*nitro^2, - data = dat1, start = list(th11 = 5, th2 = 150, th12 =-0.1),) - summary(nls1) -#> -#> Formula: inc ~ th11 - (2 * th2 * th12) * nitro + th12 * nitro^2 -#> -#> Parameters: -#> Estimate Std. Error t value Pr(>|t|) -#> th11 1.009e+03 4.228e+01 23.871 < 2e-16 *** -#> th2 1.917e+02 4.230e+01 4.532 0.000182 *** -#> th12 -1.766e-02 6.762e-03 -2.612 0.016288 * -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 -#> -#> Residual standard error: 93.29 on 21 degrees of freedom -#> -#> Number of iterations to convergence: 2 -#> Achieved convergence tolerance: 1.789e-07 -#># Wald conf int - wald <- function(object, alpha=0.1){ - nobs <- length(resid(object)) - npar <- length(coef(object)) - est <- coef(object) - stderr <- summary(object)$parameters[,2] - tval <- qt(1-alpha/2, nobs-npar) - ci <- cbind(est - tval * stderr, est + tval * stderr) - colnames(ci) <- paste(round(100*c(alpha/2, 1-alpha/2), 1), "pct", sep= "") - return(ci) - } - round(wald(nls1),2) -#> 5pct 95pct -#> th11 936.44 1081.93 -#> th2 118.93 264.51 -#> th12 -0.03 -0.01## 5 - ## th11 936.44 1081.93 - ## th2 118.93 264.51 # th2 is the optimum - ## th12 -0.03 -0.01 - - - # Likelihood conf int - libs(MASS) -#> -#>#>-#> -#>#>-#> -#>#>#> 5% 95% -#> 147.96 401.65#> -#>#>-#> -#>#>-#> -#>dat1$fit <- fitted(nls1) - bootfun <- function(rs, i) { # bootstrap the residuals - dat1$y <- dat1$fit + rs[i] - coef(nls(y ~ th11- (2*th2*th12)*nitro + th12*nitro^2, dat1, - start = coef(nls1) )) - } - res1 <- scale(resid(nls1), scale = FALSE) # remove the mean. Why? It is close to 0. - set.seed(5) # Sometime the bootstrap fails, but this seed works - boot1 <- boot(res1, bootfun, R = 500) - boot.ci(boot1, index = 2, type = c("perc"), conf = 0.9) -#> BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS -#> Based on 500 bootstrap replicates -#> -#> CALL : -#> boot.ci(boot.out = boot1, conf = 0.9, type = c("perc"), index = 2) -#> -#> Intervals : -#> Level Percentile -#> 90% (150.3, 359.7 ) -#> Calculations and Intervals on Original Scale## Level Percentile - ## 90 - -# } -
hessling.argentina.Rd
Relation between wheat yield and weather in Argentina
-A data frame with 30 observations on the following 15 variables.
yield
average yield, kg/ha
year
year
p05
precipitation (mm) in May
p06
precip in June
p07
precip in July
p08
precip in August
p09
precip in Septempber
p10
precip in October
p11
precip in November
p12
precip in December
t06
june temperature deviation from normal, deg Celsius
t07
july temp deviation
t08
august temp deviation
t09
september temp deviation
t10
october temp deviation
t11
november temp deviation
In Argentina wheat is typically sown May to August. Harvest begins in - November or December.
-N. A. Hessling, 1922. - Relations between the weather and the yield of wheat in the - Argentine republic, Monthly Weather Review, 50, 302-308. - https://doi.org/10.1175/1520-0493(1922)50<302:RBTWAT>2.0.CO;2
- --# \dontrun{ - -library(agridat) -data(hessling.argentina) -dat <- hessling.argentina - -# Fig 1 of Hessling. Use avg Aug-Nov temp to predict yield -dat <- transform(dat, avetmp=(t08+t09+t10+t11)/4) # Avg temp -m0 <- lm(yield ~ avetmp, dat) -plot(yield~year, dat, ylim=c(100,1500), type='l', -main="hessling.argentina: observed (black) and predicted yield (blue)") -#> -#>#>-#> -#>yld <- dat[,"yield",drop=FALSE] -yld <- as.matrix(sweep(yld, 2, colMeans(yld))) -cov <- dat[,c("p06","p07","p08","p09","p10","p11", "t08","t09","t10","t11")] -cov <- as.matrix(scale(cov)) -m2 <- plsr(yld~cov) - -# biplot(m2, which="x", var.axes=TRUE, main="hessling.argentina") - - -libs(corrgram) -corrgram(dat, main="hessling.argentina - correlations of yield and covariates") --# } -
hildebrand.systems.Rd
Maize yields for four cropping systems at 14 on-farm trials.
-A data frame with 56 observations on the following 4 variables.
village
village, 2 levels
farm
farm, 14 levels
system
cropping system
yield
yield, t/ha
Yields from 14 on-farm trials in Phalombe Project region of - south-eastern Malawi. The farms were located near two different - villages.
-On each farm, four different cropping systems were tested. The - systems were: - LM = Local Maize, LMF = Local Maize with Fertilizer, - CCA = Improved Composite, CCAF = Improved Composite with Fertilizer.
-P. E. Hildebrand, 1984. - Modified Stability Analysis of Farmer Managed, On-Farm Trials. - Agronomy Journal, 76, 271--274. - https://doi.org/10.2134/agronj1984.00021962007600020023x
-H. P. Piepho, 1998. - Methods for Comparing the Yield Stability of Cropping Systems. - Journal of Agronomy and Crop Science, 180, 193--213. - https://doi.org/10.1111/j.1439-037X.1998.tb00526.x
- --# \dontrun{ - - library(agridat) - data(hildebrand.systems) - dat <- hildebrand.systems - - # Piepho 1998 Fig 1 - libs(lattice) - dotplot(yield ~ system, dat, groups=village, auto.key=TRUE, - main="hildebrand.systems", xlab="cropping system by village") -- - # Plot of risk of 'failure' of System 2 vs System 1 - s11 = .30; s22 <- .92; s12 = .34 - mu1 = 1.35; mu2 = 2.70 - lambda <- seq(from=0, to=5, length=20) - system1 <- pnorm((lambda-mu1)/sqrt(s11)) - system2 <- pnorm((lambda-mu2)/sqrt(s22)) - - # A simpler view - plot(lambda, system1, type="l", xlim=c(0,5), ylim=c(0,1), - xlab="Yield level", ylab="Prob(yield < level)", - main="hildebrand.systems - risk of failure for each system") -#> [1] 0.03309629# .0331 - - # ---------- - - libs(asreml,lucid) # asreml4 - - # Environmental variance model, unstructured correlations - - dat <- dat[order(dat$system, dat$farm),] - m1 <- asreml(yield ~ system, data=dat, - resid = ~us(system):farm) -#> Model fitted using the sigma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:08:45 2021 -#> LogLik Sigma2 DF wall cpu -#> 1 -10.2291 1.0 52 17:08:45 0.0 -#> 2 -6.9482 1.0 52 17:08:45 0.0 -#> 3 -3.8775 1.0 52 17:08:45 0.0 -#> 4 -2.3455 1.0 52 17:08:45 0.0 -#> 5 -2.2515 1.0 52 17:08:45 0.0 -#> 6 -2.2510 1.0 52 17:08:45 0.0- # Means, table 5 - ## predict(m1, data=dat, classify="system")$pvals - ## system pred.value std.error est.stat - ## CCA 1.164 0.2816 Estimable - ## CCAF 2.657 0.3747 Estimable - ## LM 1.35 0.1463 Estimable - ## LMF 2.7 0.2561 Estimable - - # Variances, table 5 - # vc(m1)[c(2,4,7,11),] - ## effect component std.error z.ratio constr - ## R!system.CCA:CCA 1.11 0.4354 2.5 pos - ## R!system.CCAF:CCAF 1.966 0.771 2.5 pos - ## R!system.LM:LM 0.2996 0.1175 2.5 pos - ## R!system.LMF:LMF 0.9185 0.3603 2.5 pos - - # Stability variance model - m2 <- asreml(yield ~ system, data=dat, - random = ~ farm, - resid = ~ dsum( ~ units|system)) -#> Multi-section model using the sigma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:08:46 2021 -#> LogLik Sigma2 DF wall cpu -#> 1 -22.5014 1.0 52 17:08:46 0.0 -#> 2 -18.0904 1.0 52 17:08:46 0.0 -#> 3 -15.9713 1.0 52 17:08:46 0.0 (1 restrained) -#> 4 -15.2537 1.0 52 17:08:46 0.0 (1 restrained) -#> 5 -15.1232 1.0 52 17:08:46 0.0 (1 restrained) -#> 6 -15.1214 1.0 52 17:08:46 0.0 (1 restrained) -#> 7 -15.1214 1.0 52 17:08:46 0.0#> Warning: Some components changed by more than 1% on the last iteration.#> Multi-section model using the sigma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:08:46 2021 -#> LogLik Sigma2 DF wall cpu -#> 1 -15.1214 1.0 52 17:08:46 0.0 -#> 2 -15.1214 1.0 52 17:08:46 0.0#> Warning: Some components changed by more than 1% on the last iteration.# predict(m2, data=dat, classify="system")$pvals - - ## # Variances, table 6 - # vc(m2) - ## effect component std.error z.ratio bound - ## farm 0.2998 0.1187 2.5 P 0 - ## system_CCA!R 0.4133 0.1699 2.4 P 0 - ## system_CCAF!R 1.265 0.5152 2.5 P 0 - ## system_LM!R 0.0003805 0.05538 0.0069 P 1.5 - ## system_LMF!R 0.5294 0.2295 2.3 P 0 - -# } -
holland.arthropods.Rd
Counts of arthropods in a grid-sampled wheat field
-data("holland.arthropods")- - -
A data frame with 63 observations on the following 8 variables.
row
row
col
column
n.brevicollis
species counts
linyphiidae
species counts
collembola
species counts
carabidae
species counts
lycosidae
species counts
weedcover
percent weed cover
Arthropods were sampled at 30m x 30m grid in a wheat field near - Wimborne, Dorest, UK on 6 dates in Jun/Jul 1996. Arthropod counts were - aggregated across the 6 dates.
-Holland et al. used SADIE (Spatial Analysis by Distance Indices) to - look for spatial patterns. Significant patterns were found for - N. brevicollis, Carabidae, Lycosidae. The Lycosidae counts were also - significantly associated with weed cover.
-Used with permission of John Holland.
-Holland J. M., Perry J. N., Winder, L. (1999). - The within-field spatial and temporal distribution of arthropods - within winter wheat. - Bulletin of Entomological Research, 89: 499-513. Figure 3 (large - grid in 1996). - https://doi.org/10.1017/S0007485399000656
- --# \dontrun{ - -library(agridat) -data(holland.arthropods) -dat <- holland.arthropods - - - # use log count to make it possible to have same scale for insects - libs(reshape2, lattice) - grays <- colorRampPalette(c("#d9d9d9","#252525")) - dat2 <- melt(dat, id.var=c('row','col')) - contourplot(log(value) ~ col*row|variable, dat2, - col.regions=grays(7), region=TRUE, - main="holland.arthropods - log counts in winter wheat") -- -if(0){ - # individual species - libs(lattice) - grays <- colorRampPalette(c("#d9d9d9","#252525")) - contourplot(linyphiidae ~ col*row, dat, at=c(0,40,80,120,160,200), region=TRUE, - col.regions=grays(5), - main="holland.arthropods - linyphiidae counts in winter wheat") - contourplot(n.brevicollis ~ col*row, dat, region=TRUE) - contourplot(linyphiidae~ col*row, dat, region=TRUE) - contourplot(collembola ~ col*row, dat, region=TRUE) - contourplot(carabidae ~ col*row, dat, region=TRUE) - contourplot(lycosidae ~ col*row, dat, region=TRUE) - contourplot(weedcover ~ col*row, dat, region=TRUE) -} - -# } -
holshouser.splitstrip.Rd
Split-strip-plot of soybeans
-A data frame with 160 observations on the following 8 variables.
block
block factor, 4 levels
plot
plot number
cultivar
cultivar factor, 4 levels
spacing
row spacing
pop
population (thousand per acre)
yield
yield
row
row
col
column
Within each block, cultivars were whole plots. Withing whole plots, - spacing was applied in strips vertically, and population was applied - in strips horizontally.
-Used with permission of David Holshouser at Virginia Polytechnic.
-Schabenberger, Oliver and Francis J. Pierce. 2002. - Contemporary Statistical Models for the Plant and Soil Sciences - CRC Press, Boca Raton, FL. Page 493.
- --# \dontrun{ - -library(agridat) -data(holshouser.splitstrip) -dat <- holshouser.splitstrip -dat$spacing <- factor(dat$spacing) -dat$pop <- factor(dat$pop) - -# Experiment layout and field trends - libs(desplot) - desplot(dat, yield ~ col*row, - out1=block, # unknown aspect - main="holshouser.splitstrip") -desplot(dat, spacing ~ col*row, - out1=block, out2=cultivar, # unknown aspect - col=cultivar, text=pop, cex=.8, shorten='none', col.regions=c('wheat','white'), - main="holshouser.splitstrip experiment design") -#>#>#>#>#> -#>#>-#> -#>#>-#> -#>#>#> -#>#>-#> -#>#>#> -#>#>-#> -#>#> -#>#>-#> -#>#>-#> -#>interaction2wt(yield~cultivar*spacing*pop, dat, - x.between=0, y.between=0, - main="holshouser.splitstrip") -- - ## Schabenberger's SAS model, page 497 - ## proc mixed data=splitstripplot; - ## class block cultivar pop spacing; - ## model yield = cultivar spacing spacing*cultivar pop pop*cultivar - ## spacing*pop spacing*pop*cultivar / ddfm=satterth; - ## random block block*cultivar block*cultivar*spacing block*cultivar*pop; - ## run; - - - ## Now lme4. This design has five error terms--four are explicitly given. - libs(lme4) - libs(lucid) - m1 <- lmer(yield ~ cultivar * spacing * pop + - (1|block) + (1|block:cultivar) + (1|block:cultivar:spacing) + - (1|block:cultivar:pop), data=dat) - vc(m1) ## Variances match Schabenberger, page 498. -#> grp var1 var2 vcov sdcor -#> block:cultivar:pop (Intercept) <NA> 2.421 1.556 -#> block:cultivar:spacing (Intercept) <NA> 1.244 1.116 -#> block:cultivar (Intercept) <NA> 0.4523 0.6725 -#> block (Intercept) <NA> 3.037 1.743 -#> Residual <NA> <NA> 3.928 1.982## grp var1 var2 vcov sdcor - ## block:cultivar:pop (Intercept) <NA> 2.421 1.556 - ## block:cultivar:spacing (Intercept) <NA> 1.244 1.116 - ## block:cultivar (Intercept) <NA> 0.4523 0.6725 - ## block (Intercept) <NA> 3.037 1.743 - ## Residual <NA> <NA> 3.928 1.982 - -# } -
holtsmark.timothy.uniformity.Rd
Uniformity trial of timothy hay circa 1905
-data("holtsmark.timothy.uniformity")- - -
A data frame with 240 observations on the following 3 variables.
row
row
col
column
yield
yield per plot, kg
Field width: 40 plots * 5 m = 200 m.
-Field length: 6 plots * 5 m = 30 m
-Holtsmark & Larsen used this trial to compare standard deviations of - different sized plots (combined from smaller plots).
-Holtsmark, G and Larsen, BR (1905). - Om Muligheder for at indskraenke de Fejl, som ved Markforsog betinges af Jordens Uensartethed. - Tidsskrift for Landbrugets Planteavl. 12, 330-351. (In Danish) - https://books.google.com/books?id=MdM0AQAAMAAJ&pg=PA330 - https://dca.au.dk/publikationer/historiske/planteavl/
-Uber die Fehler, welche bei Feldversuchen, durch die Ungleichartigkeit des Bodens bedingt werden. - Die Landwirtschaftlichen Versuchs-Stationen, 65, 1--22. (In German) - https://books.google.com/books?id=eXA2AQAAMAAJ&pg=PA1
-Theodor Roemer (1920). Der Feldversuch.
- --# \dontrun{ - -library(agridat) -data(holtsmark.timothy.uniformity) -dat <- holtsmark.timothy.uniformity - -# Define diagonal 'check' plots like Holtsmark does -dat <- transform(dat, - check = ifelse(floor((row+col)/3)==(row+col)/3, "C", "")) - -libs(desplot) -desplot(dat, yield ~ col*row, - flip=TRUE, text=check, show.key=FALSE, - aspect=30/200, # true aspect - main="holtsmark.timothy.uniformity") --# sd(dat$yield) # 2.92 matches Holtsmark p. 348 - -# } -
huehn.wheat.Rd
Multi-environment trial to illustrate stability statistics
-data("huehn.wheat")- - -
A data frame with 200 observations on the following 3 variables.
gen
genotype
env
environment
yield
yield dt/ha
Yields for a winter-wheat trial of 20 genotypes at 10 environments.
-Note: Huehn 1979 does not use genotype-centered data when calculating - stability statistics.
-Manfred Huehn (1979). - Beitrage zur Erfassung der phanotypischen Stabilitat I. - Vorschlag einiger auf Ranginformationen beruhenden Stabilitatsparameter. - EDV in Medizin und Biologie, 10 (4), 112-117. Table 1. - https://nbn-resolving.de/urn:nbn:de:bsz:15-qucosa-145979
-Nassar, R and Huehn, M. (1987). - Studies on estimation of phenotypic stability: Tests of significance - for nonparametric measures of phenotypic stability. - Biometrics, 43, 45-53.
- --# \dontrun{ - - library(agridat) - data(huehn.wheat) - dat <- huehn.wheat - - # Nassar & Huehn, p. 51 "there is no evidence for differences in stability - # among the 20 varieties". - libs(gge) -#> -#>#>-#> -#>- libs(reshape2) - datm <- acast(dat, gen~env, value.var='yield') - - apply(datm,1,mean) # Gen means match Huehn 1979 table 1 -#> Ack712 Beun781 Breu737 Brnd758 Brnd759 Caribo Cbc710 Diplomat -#> 65.11 74.87 63.29 67.29 67.55 69.04 71.03 67.10 -#> Doer750 Firl777 Firl779 Firl780 Frah743 Jubilar Loch744 Loch745 -#> 68.60 66.60 64.31 69.63 70.89 66.45 70.46 70.72 -#> Pem2 Pem3 Ruem711 Stru721 -#> 71.72 72.15 69.06 71.13#> E01 E02 E03 E04 E05 E06 E07 E08 E09 E10 -#> 81.770 80.845 66.745 67.540 70.915 51.450 61.095 80.660 52.835 74.645#> E01 E02 E03 E04 E05 E06 E07 E08 E09 E10 -#> Ack712 6.5 7.0 9.0 8.0 11.0 4.0 12 1.0 1.0 5 -#> Beun781 19.0 20.0 17.0 11.5 20.0 7.0 20 18.0 12.5 20 -#> Breu737 1.0 2.0 1.0 7.0 9.0 2.0 7 4.0 2.0 2 -#> Brnd758 3.0 9.0 8.0 1.0 17.0 12.0 1 20.0 19.0 6 -#> Brnd759 17.0 1.0 3.0 3.0 12.0 5.0 4 8.0 17.0 13 -#> Caribo 6.5 16.0 11.0 18.0 2.0 13.5 11 17.0 10.0 7 -#> Cbc710 9.5 18.0 15.0 16.0 19.0 15.0 19 3.0 4.0 18 -#> Diplomat 8.0 14.0 4.5 2.0 4.0 16.0 5 12.0 7.0 11 -#> Doer750 20.0 10.5 2.0 13.0 6.5 9.0 16 6.0 6.0 3 -#> Firl777 5.0 10.5 10.0 10.0 1.0 11.0 3 7.0 3.0 12 -#> Firl779 2.0 5.0 4.5 4.0 3.0 18.0 2 13.0 5.0 1 -#> Firl780 9.5 13.0 14.0 17.0 8.0 20.0 9 9.5 12.5 9 -#> Frah743 18.0 6.0 6.0 11.5 18.0 3.0 14 16.0 20.0 16 -#> Jubilar 4.0 8.0 7.0 6.0 5.0 10.0 10 2.0 11.0 4 -#> Loch744 13.0 4.0 19.0 15.0 15.5 1.0 17 15.0 16.0 10 -#> Loch745 12.0 12.0 16.0 9.0 6.5 8.0 18 14.0 18.0 15 -#> Pem2 14.0 15.0 18.0 14.0 10.0 17.0 8 19.0 8.0 19 -#> Pem3 15.0 17.0 20.0 19.0 15.5 13.5 13 11.0 9.0 17 -#> Ruem711 11.0 3.0 12.0 5.0 14.0 19.0 6 5.0 15.0 14 -#> Stru721 16.0 19.0 13.0 20.0 13.0 6.0 15 9.5 14.0 8- # Huehn 1979 did not use genotype-centered data, and his definition - # of S2 is different from later papers. - - # I'm not sure where 'huehn' function is found - # apply(huehn(datm, corrected=FALSE), 2, round,2) # S1 matches Huehn - ## MeanRank S1 - ## Jubilar 6.70 3.62 - ## Diplomat 8.35 5.61 - ## Caribo 11.20 6.07 - ## Cbc710 13.65 6.70 - - # Very close match to Nassar & Huehn 1987 table 4. - # apply(huehn(datm, corrected=TRUE), 2, round,2) - ## MeanRank S1 Z1 S2 Z2 - ## Jubilar 10.2 4.00 5.51 11.29 4.29 - ## Diplomat 11.0 6.31 0.09 27.78 0.27 - ## Caribo 10.6 6.98 0.08 34.49 0.01 - ## Cbc710 10.9 8.16 1.78 47.21 1.73 - -# } -
hughes.grapes.Rd
Disease incidence on grape leaves in RCB experiment with 6 different - treatments.
-A data frame with 270 observations on the following 6 variables.
block
Block factor, 1-3
trt
Treatment factor, 1-6
vine
Vine factor, 1-3
shoot
Shoot factor, 1-5
diseased
Number of diseased leaves per shoot
total
Number of total leaves per shoot
These data come from a study of downy mildew on grapes. The - experiment was conducted at Wooster, Ohio, on the experimental farm of - the Ohio Agricultural Research and Development Center, Ohio State - University.
-There were 3 blocks with 6 treatments. Treatment 1 is - the unsprayed control. On 30 Sep 1990, disease incidence was - measured. For each plot, 5 randomly chosen shoots on each of the 3 - vines were observed. The canopy was closed and shoots could be - intertwined. On each shoot, the total number of leaves and the number - of infected leaves were recorded.
- -Used with permission of Larry Madden.
-Hughes, G. and Madden, LV. 1995. - Some methods allowing for aggregated patterns of disease incidence in - the analysis of data from designed experiments. - Plant Pathology, 44, 927--943. - https://doi.org/10.1111/j.1365-3059.1995.tb02651.x
-Hans-Pieter Piepho. 1999. - Analysing disease incidence data from designed experiments by - generalized linear mixed models. - Plant Pathology, 48, 668--684. - https://doi.org/10.1046/j.1365-3059.1999.00383.x
- --# \dontrun{ - -library(agridat) -data(hughes.grapes) -dat <- hughes.grapes - -dat <- transform(dat, rate = diseased/total, plot=trt:block) - - # Trt 1 has higher rate, more variable, Trt 3 lower rate, less variable - libs(lattice) - foo <- bwplot(rate ~ vine|block*trt, dat, main="hughes.grapes", - xlab="vine") - libs(latticeExtra) - useOuterStrips(foo) -#> T1 T2 T3 T4 T5 T6 -#> 0.67389080 0.07451458 0.02532236 0.04157511 0.03550864 0.07506862#> T1 T2 T3 T4 T5 T6 -#> 1.0000000 0.4545455 0.1000000 0.2727273 0.3750000 0.4666667- - # Piepho model 3. Binomial data. May not be exactly the same model - - # Use the binomial count data with lme4 - libs(lme4) - m1 <- glmer(cbind(diseased, total-diseased) ~ trt + block + (1|plot/vine), - data=dat, family=binomial) -#>m1 -#> Generalized linear mixed model fit by maximum likelihood (Laplace -#> Approximation) [glmerMod] -#> Family: binomial ( logit ) -#> Formula: cbind(diseased, total - diseased) ~ trt + block + (1 | plot/vine) -#> Data: dat -#> AIC BIC logLik deviance df.resid -#> 750.1527 786.1369 -365.0763 730.1527 260 -#> Random effects: -#> Groups Name Std.Dev. -#> vine:plot (Intercept) 2.335e-01 -#> plot (Intercept) 1.693e-05 -#> Number of obs: 270, groups: vine:plot, 54; plot, 18 -#> Fixed Effects: -#> (Intercept) trtT2 trtT3 trtT4 trtT5 trtT6 -#> 0.65868 -3.24235 -4.31193 -3.88553 -4.05726 -3.25889 -#> blockB2 blockB3 -#> -0.09745 0.21429 -#> convergence code 0; 0 optimizer warnings; 1 lme4 warnings#> -#>#>-#> -#>#>-#> -#>#>-#> -#>#>-#> -#>#> Warning: Using formula(x) is deprecated when x is a character vector of length > 1. -#> Consider formula(paste(x, collapse = " ")) instead.names(bdat)[2] <- 'y' - - # Using lme4 - m2 <- glmer(y ~ trt + block + (1|plot/vine), data=bdat, family=binomial) -#>m2 -#> Generalized linear mixed model fit by maximum likelihood (Laplace -#> Approximation) [glmerMod] -#> Family: binomial ( logit ) -#> Formula: y ~ trt + block + (1 | plot/vine) -#> Data: bdat -#> AIC BIC logLik deviance df.resid -#> 1802.4155 1863.6065 -891.2077 1782.4155 3348 -#> Random effects: -#> Groups Name Std.Dev. -#> vine:plot (Intercept) 2.335e-01 -#> plot (Intercept) 2.337e-05 -#> Number of obs: 3358, groups: vine:plot, 54; plot, 18 -#> Fixed Effects: -#> (Intercept) trtT2 trtT3 trtT4 trtT5 trtT6 -#> 0.65870 -3.24234 -4.31194 -3.88552 -4.05723 -3.25895 -#> blockB2 blockB3 -#> -0.09749 0.21426 -#> convergence code 0; 0 optimizer warnings; 1 lme4 warnings- # Now using MASS:::glmmPQL - libs(MASS) - m3 <- glmmPQL(y ~ trt + block, data=bdat, - random=~1|plot/vine, family=binomial) -#>#>#>m3 -#> Linear mixed-effects model fit by maximum likelihood -#> Data: bdat -#> Log-likelihood: NA -#> Fixed: y ~ trt + block -#> (Intercept) trtT2 trtT3 trtT4 trtT5 trtT6 -#> 0.65474283 -3.21865859 -4.28325379 -3.85830210 -4.02992042 -3.23565097 -#> blockB2 blockB3 -#> -0.09687143 0.21091878 -#> -#> Random effects: -#> Formula: ~1 | plot -#> (Intercept) -#> StdDev: 0.0004264538 -#> -#> Formula: ~1 | vine %in% plot -#> (Intercept) Residual -#> StdDev: 0.2354825 0.9890316 -#> -#> Variance function: -#> Structure: fixed weights -#> Formula: ~invwt -#> Number of Observations: 3358 -#> Number of Groups: -#> plot vine %in% plot -#> 18 54-# } -
hunter.corn.Rd
Corn yield response to nitrogen
-A data frame with 54 observations on the following 4 variables.
nitro
nitrogen fertilizer, pound/acre
year
year
loc
location
yield
yield, bu/ac
Experiments were conducted in eastern Oregon during the years - 1950-1952.
-Planting rates varied from 15,000 to 21,000 planter per acre.
-Albert S. Hunter, John A. Yungen (1955). The Influence of - Variations in Fertility Levels Upon the Yield and Protein - Content of Field Corn in Eastern Oregon. - Soil Science Society of America Journal, 19, 214-218. - https://doi.org/10.2136/sssaj1955.03615995001900020027x
-James Leo Paschal, Burton Leroy French (1956). - A method of economic analysis applied to nitrogen fertilizer rate - experiments on irrigated corn. - Tech Bull 1141. United States Dept of Agriculture. - books.google.com/books?id=gAdZtsEziCcC&pg=PP1
- ---library(agridat) -data(hunter.corn) -dat <- hunter.corn - -dat <- transform(dat, env=factor(paste(loc,year))) - -libs(lattice) -xyplot(yield~nitro|env, dat, type='b', -main="hunter.corn - nitrogen response curves") --
igue.sugarcane.uniformity.Rd
Uniformity trial with sugarcane in Brazil, 1982.
-data("igue.sugarcane.uniformity")- - -
A data frame with 1512 observations on the following 3 variables.
row
row
col
column
yield
yield, kg/plot
A uniformity trial with sugarcane in the state of Sao Paulo, Brazil, in 1982. - The field was 40 rows, each 90 m long, with 1.5 m between rows.
-Field width: 36 plots * 1.5 m = 54 m
-Field length: 42 plots * 2 m = 84 m
-Toshio Igue, Ademar Espironelo, Heitor Cantarella, Erseni Joao Nelli. (1991). - Tamanho e forma de parcela experimental para cana-de-acucar (Plot size and shape for sugar cane experiments). - Bragantia, 50, 163-180. Appendix, page 169-170. - https://dx.doi.org/10.1590/S0006-87051991000100016
-None
- --# \dontrun{ - -library(agridat) - -data(igue.sugarcane.uniformity) -dat <- igue.sugarcane.uniformity - -# match Igue CV top row of page 171 -sd(dat$yield)/mean(dat$yield) # 16.4 -#> [1] 0.1638649-libs(desplot) -desplot(dat, yield ~ col*row, - flip=TRUE, tick=TRUE, aspect=(42*2)/(36*1.5), - main="igue.sugarcane.uniformity") --# } -
ilri.sheep.Rd
Birth weight and weaning weight of 882 lambs from a partial diallel - cross of Dorper and Red Maasi breeds.
-A data frame with 882 observations on the following 12 variables.
year
year of lamb birth, 1991-1996
lamb
lamb id
sex
sex of lamb, M=Male/F=Female
gen
genotype, DD, DR, RD, RR
birthwt
weight of lamb at birth, kg
weanwt
weight of lamb at weaning, kg
weanage
age of lamb at weaning, days
ewe
ewe id
ewegen
ewe genotype: D, R
damage
ewe (dam) age in years
ram
ram id
ramgen
ram genotype: D, R
Red Maasai sheep in East Africa are perceived to be resistant to - certain parasites. ILRI decided in 1990 to investigate the degree of - resistance exhibited by this Red Maasai breed and initiated a study in - Kenya. A susceptible breed, the Dorper, - was chosen to provide a direct comparison with the Red Maasai. The - Dorper is well-adapted to this area and is also larger than the Red - Maasai, and this makes these sheep attractive to farmers.
-Throughout six years from 1991 to 1996 Dorper (D), Red Maasai (R) and - Red Maasai x Dorper crossed ewes were mated to Red Maasai and Dorper - rams to produce a number of different lamb genotypes. For the purposes - of this example, only the following four offspring genotypes are - considered (Sire x Dam): D x D, D x R, R x D and R x R.
-Records are missing in 182 of the lambs, mostly because of earlier death.
-Mixed model analysis for the estimation of components of genetic - variation in lamb weaning weight. International Livestock Research Institute. - Permanent link: https://hdl.handle.net/10568/10364 - https://biometrics.ilri.org/CS/case - Retrieved Dec 2011.
-Licensed with Creative Commons BY-NC-SA 3.0 Unported license.
-Baker, RL and Nagda, S. and Rodriguez-Zas, SL and Southey, BR and - Audho, JO and Aduda, EO and Thorpe, W. (2003). - Resistance and resilience to gastro-intestinal nematode parasites and - relationships with productivity of Red Maasai, Dorper and Red Maasai x - Dorper crossbred lambs in the sub-humid tropics. - Animal Science, 76, 119-136. - https://doi.org/10.1017/S1357729800053388
-Gota Morota, Hao Cheng, Dianne Cook, Emi Tanaka (2021). - ASAS-NANP SYMPOSIUM: prospects for interactive and dynamic graphics in - the era of data-rich animal science. - Journal of Animal Science, Volume 99, Issue 2, February 2021, skaa402. - https://doi.org/10.1093/jas/skaa402
-# \dontrun{
-
- library(agridat)
- data(ilri.sheep)
- dat <- ilri.sheep
- dat <- transform(dat, lamb=factor(lamb), ewe=factor(ewe), ram=factor(ram),
- year=factor(year))
- # dl is linear covariate, same as damage, but truncated to [2,8]
- dat <- within(dat, {
- dl <- damage
- dl <- ifelse(dl < 3, 2, dl)
- dl <- ifelse(dl > 7, 8, dl)
- dq <- dl^2
- })
-
- dat <- subset(dat, !is.na(weanage))
-
- # EDA
- libs(lattice)
- ## bwplot(weanwt ~ year, dat, main="ilri.sheep", xlab="year", ylab="Wean weight",
- ## panel=panel.violin) # Year effect
- bwplot(weanwt ~ factor(dl), dat,
- main="ilri.sheep", xlab="Dam age", ylab="Wean weight") # Dam age effect
-
- # bwplot(weanwt ~ gen, dat,
- # main="ilri.sheep", xlab="Genotype", ylab="Wean weight") # Genotype differences
- xyplot(weanwt ~ weanage, dat, type=c('p','smooth'),
- main="ilri.sheep", xlab="Wean age", ylab="Wean weight") # Age covariate
-
-
- # case study page 4.18
- lm1 <- lm(weanwt ~ year + sex + weanage + dl + dq + ewegen + ramgen, data=dat)
- summary(lm1)
-#>
-#> Call:
-#> lm(formula = weanwt ~ year + sex + weanage + dl + dq + ewegen +
-#> ramgen, data = dat)
-#>
-#> Residuals:
-#> Min 1Q Median 3Q Max
-#> -7.4037 -1.3274 -0.0109 1.4403 7.7063
-#>
-#> Coefficients:
-#> Estimate Std. Error t value Pr(>|t|)
-#> (Intercept) 0.274005 1.065133 0.257 0.79706
-#> year92 -1.565831 0.292949 -5.345 1.23e-07 ***
-#> year93 -1.095781 0.275268 -3.981 7.60e-05 ***
-#> year94 -2.832501 0.357504 -7.923 9.34e-15 ***
-#> year95 -3.228367 0.343630 -9.395 < 2e-16 ***
-#> year96 -2.351101 0.389751 -6.032 2.64e-09 ***
-#> sexM 0.477910 0.169498 2.820 0.00495 **
-#> weanage 0.070217 0.008856 7.928 8.97e-15 ***
-#> dl 2.726355 0.315012 8.655 < 2e-16 ***
-#> dq -0.268882 0.034007 -7.907 1.05e-14 ***
-#> ewegenR -0.585536 0.236554 -2.475 0.01355 *
-#> ramgenR -0.442866 0.172768 -2.563 0.01058 *
-#> ---
-#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
-#>
-#> Residual standard error: 2.221 on 688 degrees of freedom
-#> (7 observations deleted due to missingness)
-#> Multiple R-squared: 0.3835, Adjusted R-squared: 0.3736
-#> F-statistic: 38.9 on 11 and 688 DF, p-value: < 2.2e-16
-#>
- anova(lm1)
-#> Analysis of Variance Table
-#>
-#> Response: weanwt
-#> Df Sum Sq Mean Sq F value Pr(>F)
-#> year 5 1208.1 241.63 48.9853 < 2.2e-16 ***
-#> sex 1 56.0 55.98 11.3494 0.0007968 ***
-#> weanage 1 344.2 344.21 69.7804 3.651e-16 ***
-#> dl 1 151.5 151.51 30.7160 4.258e-08 ***
-#> dq 1 275.8 275.79 55.9115 2.316e-13 ***
-#> ewegen 1 42.7 42.69 8.6548 0.0033717 **
-#> ramgen 1 32.4 32.41 6.5708 0.0105780 *
-#> Residuals 688 3393.7 4.93
-#> ---
-#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
-
- # ----------
-
- libs(lme4)
-#>
-#> Attaching package: 'lme4'
-#> The following object is masked from 'package:nlme':
-#>
-#> lmList
- lme1 <- lmer(weanwt ~ year + sex + weanage + dl + dq + ewegen + ramgen +
- (1|ewe) + (1|ram), data=dat)
- print(lme1, corr=FALSE)
-#> Linear mixed model fit by REML ['lmerMod']
-#> Formula: weanwt ~ year + sex + weanage + dl + dq + ewegen + ramgen + (1 |
-#> ewe) + (1 | ram)
-#> Data: dat
-#> REML criterion at convergence: 3081.555
-#> Random effects:
-#> Groups Name Std.Dev.
-#> ewe (Intercept) 1.207
-#> ram (Intercept) 0.258
-#> Residual 1.851
-#> Number of obs: 700, groups: ewe, 358; ram, 74
-#> Fixed Effects:
-#> (Intercept) year92 year93 year94 year95 year96
-#> 0.18579 -1.57090 -1.07663 -3.00251 -3.28832 -2.45008
-#> sexM weanage dl dq ewegenR ramgenR
-#> 0.40381 0.06593 2.92232 -0.28997 -0.45429 -0.41304
- lme2 <- lmer(weanwt ~ year + sex + weanage + dl + dq + ewegen + ramgen +
- (1|ewe), data=dat)
- lme3 <- lmer(weanwt ~ year + sex + weanage + dl + dq + ewegen + ramgen +
- (1|ram), data=dat)
- anova(lme1, lme2, lme3)
-#> refitting model(s) with ML (instead of REML)
-#> Data: dat
-#> Models:
-#> lme2: weanwt ~ year + sex + weanage + dl + dq + ewegen + ramgen + (1 | ewe)
-#> lme3: weanwt ~ year + sex + weanage + dl + dq + ewegen + ramgen + (1 | ram)
-#> lme1: weanwt ~ year + sex + weanage + dl + dq + ewegen + ramgen + (1 | ewe) + (1 | ram)
-#> npar AIC BIC logLik deviance Chisq Df Pr(>Chisq)
-#> lme2 14 3081.0 3144.7 -1526.5 3053.0
-#> lme3 14 3119.4 3183.1 -1545.7 3091.4 0.000 0
-#> lme1 15 3082.6 3150.9 -1526.3 3052.6 38.735 1 4.853e-10 ***
-#> ---
-#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
-
- # ----------
-
- libs(asreml,lucid)
- # case study page 4.20
- m1 <- asreml(weanwt ~ year + sex + weanage + dl + dq + ramgen + ewegen,
- data=dat)
-#> Model fitted using the gamma parameterization.
-#> ASReml 4.1.0 Fri Dec 17 15:17:37 2021
-#> LogLik Sigma2 DF wall cpu
-#> 1 -927.900 4.93270 688 15:17:37 0.0
- # wald(m1)
-
- # case study page 4.26
- m2 <- asreml(weanwt ~ year + sex + weanage + dl + dq + ramgen + ewegen,
- random = ~ ram + ewe, data=dat)
-#> Model fitted using the gamma parameterization.
-#> ASReml 4.1.0 Fri Dec 17 15:17:37 2021
-#> LogLik Sigma2 DF wall cpu
-#> 1 -920.939 4.16476 688 15:17:38 0.0
-#> 2 -914.393 3.95256 688 15:17:38 0.0
-#> 3 -909.836 3.69363 688 15:17:38 0.0
-#> 4 -908.663 3.51028 688 15:17:38 0.0
-#> 5 -908.548 3.43112 688 15:17:38 0.0
-#> 6 -908.548 3.42731 688 15:17:38 0.0
- # wald(m2)
-
- # case study page 4.37, year means
- # predict(m2, data=dat, classify="year")
- ## year predicted.value standard.error est.status
- ## 1 91 12.638564 0.2363652 Estimable
- ## 2 92 11.067659 0.2285252 Estimable
- ## 3 93 11.561932 0.1809891 Estimable
- ## 4 94 9.636058 0.2505478 Estimable
- ## 5 95 9.350247 0.2346849 Estimable
- ## 6 96 10.188482 0.2755387 Estimable
-
-# }
-
immer.sugarbeet.uniformity.Rd
Uniformity trial of sugarbeets, at Minnesota, 1930, with measurements - of yield, sugar, purity.
-A data frame with 600 observations on the following 5 variables.
row
row
col
column
yield
yield, pounds
sugar
sugar percentage
purity
apparent purity
Beets were planted in rows 22 inches apart, thinned to 1 plant per - row. At harvest, the rows were marked into segments 33 feet long with - 2 foot alleys between ends of plots. The harvested area was 60 rows - 350 feet long.
-Field width: 10 plots * 33 feet + 9 alleys * 2 feet = 348 feet
-Field length: 60 plots/rows * 22 in/row / 12 in/feet = 110 feet
-Planted in 1930. Field conditions were uniform. Beets were planted - in rows 22 inches apart. After thinning, one beet was left in each - 12-inch unit. At harvest, the field was marked out in plot 33 feet - long, with a 2-foot alley between plots to minimize carryover from the - harvester. A sample of 10 beets was taken uniformly (approximately - every third beet) and measured for sugar percentage and apparent - purity. The beets were counted at weighing time and the yields were - calculated on the basis of 33 beets per plot.
-Immer found that aggregating the data from one row to two - resulted in a dramatic reduction in the standard error (for yield).
-F. R. Immer. 1932. - Size and shape of plot in relation to field experiments with sugar beets. - Jour. Agr. Research, 44, 649--668. - https://naldc.nal.usda.gov/download/IND43968078/PDF
- --# \dontrun{ - -library(agridat) - - data(immer.sugarbeet.uniformity) - dat <- immer.sugarbeet.uniformity - - # Immer numbers rows from the top - libs(desplot) - desplot(dat, yield~col*row, - aspect=110/348, tick=TRUE, flip=TRUE, # true aspect - main="immer.sugarbeet.uniformity - yield") -desplot(dat, sugar~col*row, - aspect=110/348, tick=TRUE, flip=TRUE, - main="immer.sugarbeet.uniformity - sugar") -desplot(dat, purity~col*row, - aspect=110/348, tick=TRUE, flip=TRUE, - main="immer.sugarbeet.uniformity - purity") --# } -
- All functions- - |
- |
---|---|
- - | -Barley heights and environmental covariates in Norway |
-
- - | -Multi-environment trial evaluating 36 maize genotypes in 9 locations |
-
- - | -Multi-environment trial of sorghum at 3 locations across 5 years |
-
- - | -Datasets from agricultural experiments |
-
- - | -Multi-environment trial of cereal with lodging data |
-
- - | -For the 34 sheep sires, the number of lambs in each of 5 foot shape classes. |
-
- - | -Uniformity trial of wheat |
-
- - | -Uniformity trial of groundnut |
-
- - | -Split-split plot experiment of apple trees |
-
- - | -Multi-environment trial of early white food corn |
-
- - | -Multi-environment trial of soybean in Australia |
-
- - | -Uniformity trials of barley, 10 years on same ground |
-
- - | -Uniformity trial of strawberry |
-
- - | -Uniformity trial of wheat |
-
- - | -Uniformity trial of peanuts |
-
- - | -Multi-environment trial of maize in Texas. |
-
- - | -Uniformity trials of apples, lemons, oranges, and walnuts |
-
- - | -Survey and satellite data for corn and soy areas in Iowa |
-
- - | -Counts of webworms in a beet field, with insecticide treatments. |
-
- - | -Yields of 8 barley varieties in 1913 as used by Student. |
-
- - | -Mating crosses of chickens |
-
- - | -RCB experiment of spring barley in United Kingdom |
-
- - | -Competition experiment in beans with height measurements |
-
- - | -Check variety yields in winter wheat. |
-
- - | -RCB experiment of wheat, 50 varieties in 3 blocks with strong - spatial trend. |
-
- - | -Presence of footroot disease in an endive field |
-
- - | -Multi-environment trial of corn, incomplete-block design |
-
- - | -Four-way factorial agronomic experiment in triticale |
-
- - | -Multi-environment trial of wheat, conventional and semi-dwarf varieties |
-
- - | -Corn borer infestation under four treatments |
-
- - | -Diallel cross of winter beans |
-
- - | -Uniformity trials of barley, wheat, lentils |
-
- - | -Weight of cork samples on four sides of trees |
-
- - | -Uniformity trial of 4 crops on the same land |
-
- - | -Multi-environment trial of rape in Manitoba |
-
- - | -Switchback experiment on dairy cattle, milk yield for two treatments |
-
- - | -Multi-environment trial of cucumbers in a latin square design |
-
- - | -Long term wheat yields on Broadbalk fields at Rothamsted. |
-
- - | -Uniformity trial of corn at 3 locations in Iowa. |
-
- - | -Multi-environment trial of wheat in Sweden in 2016. |
-
- - | -Incomplete block alpha design |
-
- - | -Row-column design |
-
- - | -Field experiment with unreplicated genotypes plus one repeated check. |
-
- - | -Multi-environment trial of maize with pedigrees |
-
- - | -Diameters of apples |
-
- - | -Multi-environment trial of maize with fertilization |
-
- - | -Germination of alfalfa seeds at various salt concentrations |
-
- - | -Nonlinear maize yield-density model |
-
- - | -Relative cotton yield for different soil potassium concentrations |
-
- - | -Sugarcane fractional factorial 1/3 3^5 |
-
- - | -Competition between varieties in cotton |
-
- - | -Uniformity trial of cotton |
-
- - | -Uniformity trial of wheat |
-
- - | -Soil resistivity in a field |
-
- - | -Yield and number of plants in a sugarbeet fertilizer experiment |
-
- - | -Multi-environment trial of corn, balanced incomplete block design |
-
- - | -Potato scab infection with sulfur treatments |
-
- - | -Counts of eelworms before and after fumigant treatments |
-
- - | -Factorial experiment in beans |
-
- - | -Latin square design in wheat |
-
- - | -Balanced lattice experiment in cotton |
-
- - | -Wireworms controlled by fumigants in a latin square |
-
- - | -Potato yields in single-drill plots |
-
- - | -Multi-environment trial of maize for 9 cultivars at 20 locations. |
-
- - | -Multi-environment trial of corn |
-
- - | -Strip-split-plot of barley with fertilizer, calcium, and soil factors. |
-
- - | -Cucumber yields and quantitative traits |
-
- - | -Weight gain in pigs for different treatments |
-
- - | -Multi-environment trial of wheat for 18 genotypes at 25 locations |
-
- - | -Germination of Orobanche seeds for two genotypes and two treatments. |
-
- - | -Early generation variety trial in wheat |
-
- - | -Incomplete-block experiment of maize in Ethiopia. |
-
- - | -Darwin's maize data of crossed/inbred plant heights |
-
- - | -Multi-environment trial of maize |
-
- - | -Uniformity trial of soybean |
-
- - | -Growth of soybean varieties in 3 years |
-
- - | -Uniformity trial of pasture. |
-
- - | -Uniformity trial of wheat |
-
- - | -Multi-environment trial with structured missing values |
-
- - | -Multi-environment trial of perennial ryegrass in France |
-
- - | -Latin square of four breeds of sheep with four diets |
-
- - | -Graeco-Latin Square experiment in pine |
-
- - | -Multi-environment trial of wheat |
-
- - | -Bodyweight of cows in a 2-by-2 factorial experiment |
-
- - | -Uniformity trial of safflower |
-
- - | -Sugar beet yields with competition effects |
-
- - | -Row-column experiment of spring barley, many varieties |
-
- - | -Split-plot experiment of barley with fungicide treatments |
-
- - | -Height of barley plants in a study of non-normal data |
-
- - | -Potato yields in response to potash and nitrogen fertilizer |
-
- - | -Uniformity trial of tea |
-
- - | -Multi-environment trial of oats in United States, 5 locations, 7 years. |
-
- - | -Multi-environment trial of corn with nitrogen fertilizer |
-
- - | -Multi-environment trial of maize hybrids in China |
-
- - | -Wheat experiment with diagonal checks |
-
- - | -RCB of tobacco, height plants exposed to radiation |
-
- - | -Multi-environment trial of 5 barley varieties, 6 locations, 2 years |
-
- - | -Latin square experiment on mangolds |
-
- - | -Calving difficulty by calf sex and age of dam |
-
- - | -Multi-environment trial of wheat, 22 varieties at 14 sites in Australia |
-
- - | -Uniformity trials of oat hay and wheat grain |
-
- - | -Yield monitor data from a corn field in Minnesota |
-
- - | -Impact of Bt corn on non-target species |
-
- - | -Multi-environment trial of soybeans in New York, 1977 to 1988 |
-
- - | -Multi-location/year breeding trial in California |
-
- - | -Straw length and ear emergence for wheat genotypes. |
-
- - | -Wheat yield in South Australia with serpentine row/col effects |
-
- - | -Slate Hall Farm 1978 |
-
- - | -Rice fractional factorial experiment 1/2 2^6. |
-
- - | -Group balanced split-plot design in rice |
-
- - | -RCB experiment of rice, heterogeneity of regressions |
-
- - | -RCB experiment of rice, heteroskedastic varieties |
-
- - | -Multi-environment trial of rice, split-plot design |
-
- - | -Soil nitrogen at three times for eight fertilizer treatments |
-
- - | -Insecticide treatment effectiveness |
-
- - | -RCB experiment of rice, measuring white heads |
-
- - | -RCB experiment of rice, 12 varieties with leafhopper survival |
-
- - | -Uniformity trial of rice |
-
- - | -RCB experiment of rice, 6 densities |
-
- - | -Split-plot experiment of rice, with subsamples |
-
- - | -Split-split-plot experiment of rice |
-
- - | -Strip-plot experiment of rice |
-
- - | -Strip-split-plot experiment of rice |
-
- - | -Rice yield in wet & dry seasons with nitrogen fertilizer treatments |
-
- - | -Hessian fly damage to wheat varieties |
-
- - | -Uniformity trial of barley |
-
- - | -Sample of egg weights on 24 consecutive days |
-
- - | -Latin square experiment for testing fungicide |
-
- - | -Split-split-plot experiment of wheat |
-
- - | -Multi-environment trial of wheat varieties with heteroskedastic yields |
-
- - | -Factorial experiment of cotton in Sudan. |
-
- - | -Diallel 6x6 |
-
- - | -Rice RCB with subsamples |
-
- - | -Phytophtera disease incidence in a pepper field |
-
- - | -Lettuce resistance to downy mildew resistance (with marker data) |
-
- - | -Wheat yields in a line-source sprinkler experiment |
-
- - | -Mating crosses of white pine trees |
-
- - | -Uniformity trials with multiple crops, 15 years on the same land |
-
- - | -Water use by horticultural trees |
-
- - | -Ranges of analytes in soybean from other authors |
-
- - | -Uniformity trial of tomato |
-
- - | -Average daily gain of 65 steers for 3 lines, 9 sires. |
-
- - | -Birth weight of lambs from different lines/sires |
-
- - | -Diallel cross of Aztec tobacco |
-
- - | -Gross profit for 4 vegetable crops in 6 years |
-
- - | -Yield of corn, alfalfa, clover with two fertilizers |
-
- - | -Uniformity trial of raddish |
-
- - | -Milk fat yields for a single cow |
-
- - | -Multi-environment trial of corn with nitrogen fertilizer at 5 sites. |
-
- - | -Relation between wheat yield and weather in Argentina |
-
- - | -Multi-environment trial of maize for four cropping systems |
-
- - | -Counts of arthropods in a grid-sampled wheat field |
-
- - | -Split-strip-plot of soybeans |
-
- - | -Uniformity trial of timothy |
-
- - | -Multi-environment trial of wheat to illustrate stability statistics |
-
- - | -RCB experiment of grape, disease incidence |
-
- - | -Multi-environment trial of corn with nitrogen fertilizer |
-
- - | -Uniformity trial with sugarcane |
-
- - | -Birth weight and weaning weight of Dorper x Red Maasi lambs |
-
- - | -Uniformity trial of sugarbeets, measurements of yield, sugar, purity |
-
- - | -Percent ground cover of herbage species and nettles. |
-
- - | -Uniformity trials of wheat in India |
-
- - | -Infestation of apple shoots by apple canker. |
-
- - | -Infestation of carrots by fly larvae |
-
- - | -Ordered disease ratings of strawberry crosses. |
-
- - | -Bamboo progeny trial |
-
- - | -Yields from treatment for mildew control |
-
- - | -Alpha lattice design of spring oats |
-
- - | -Potato blight due to weather in Prosser, Washington |
-
- - | -A study of small-plots of old-growth Douglas Fir in Oregon. |
-
- - | -Uniformity trial of corn. |
-
- - | -Uniformity trial of millet |
-
- - | -Uniformity trial of potatoes |
-
- - | -Uniformity trial of wheat |
-
- - | -Multi-environment trial of maize in Louisianna at 4 locs in 3 years |
-
- - | -Multi-environment trial of peanuts for 10 genotypes in 15 environments |
-
- - | -Turfgrass ratings for different treatments |
-
- - | -Yield monitor data for 4 cuttings of alfalfa in Saudi Arabia. |
-
- - | -Damage to potato tubers from lifting rods. |
-
- - | -Uniformity trial of barley |
-
- - | -Sugar beet trial with competition effects |
-
- - | -Row-column experiment of wheat |
-
- - | -Slate Hall Farm 1976 spring wheat |
-
- - | -Repeated measurement of weights of calves with two treatments. |
-
- - | -Uniformity trials of sugarcane, 4 fields |
-
- - | -Uniformity trial of rice |
-
- - | -Uniformity trial of oats |
-
- - | -Growth of maize plants in Germany during 1875-1878 |
-
- - | -Uniformity trial of barley |
-
- - | -Uniformity trial of sorghum |
-
- - | -Average monthly soil temperature near Zurich |
-
- - | -Uniformity trials of wheat and chari, 4 years on the same land. |
-
- - | -Yield monitor data for a corn field in Argentina with variable nitrogen. |
-
- - | -Height of Eucalyptus trees in southern Brazil |
-
- - | -Uniformity trials of tea |
-
- - | -Repeated measurements of resistance to potato blight |
-
- - | -Uniformity trial of millet in India |
-
- - | -Yield, white mold, and sclerotia for soybeans in Brazil |
-
- - | -Uniformity trial of sorghum |
-
- - | -Uniformity trial of millet |
-
- - | -Load multiple packages and install if needed - -The 'agridat' package uses dozens of packages in the examples for each dataset. -The 'libs' function provides a simple way to load multiple packages at once, -and can install any missing packages on-the-fly. - -This is very similar to the `pacman::p_load` function. |
-
- - | -Multi-environment trial of wheat susceptibile to powdery mildew |
-
- - | -Multi-environment trial of 33 barley genotypes in 12 locations |
-
- - | -Multi-environment trial of 33 barley genotypes in 18 locations |
-
- - | -Multi-environment trial of wheat in Switzerland |
-
- - | -Split-block experiment of sugar beets |
-
- - | -Uniformity trial of white pea beans |
-
- - | -Multi-environment trial of maize, half diallel |
-
- - | -Uniformity trial of rice |
-
- - | -Uniformity trial of cotton |
-
- - | -Multi-environment trial of maize, to illustrate stability statistics |
-
- - | -Switchback experiment on dairy cattle, milk yield for 3 treatments |
-
- - | -Uniformity trial of potatoes |
-
- - | -Multi-environment trial of winter wheat at 12 sites in 4 years. |
-
- - | -Uniformity trial of pineapple |
-
- - | -Uniformity trial of rice |
-
- - | -Uniformity trial of corn |
-
- - | -RCB experiment of turnips |
-
- - | -Multi-environment trial of barley in South Canterbury with yield and yield components |
-
- - | -Leaves for cauliflower plants at different times |
-
- - | -Intercropping experiment of maize/cowpea |
-
- - | -Seed germination with different temperatures/concentrations |
-
- - | -Number of lambs born to 3 breeds on 3 farms |
-
- - | -RCB experiment of strawberry |
-
- - | -Density/spacing experiment for turnips in 3 blocks. |
-
- - | -Uniformity trial of mangolds |
-
- - | -Uniformity trial of wheat |
-
- - | -Biomass of 3 crops in Greece |
-
- - | -Monthly weather at 6 sites in Minnesota 1927-1936. |
-
- - | -Multi-environment trial of barley in Minnesota at 6 sites in 1927-1936. |
-
- - | -Uniformity trial of wheat, 2 years on the same land |
-
- - | -Uniformity trials of pole beans, bush beans, sweet corn, carrots, - spring and fall cauliflower |
-
- - | -Uniformity trial of strawberry |
-
- - | -Uniformity trial of turmeric. |
-
- - | -Uniformity trial of sorghum |
-
-
|
- U.S. historical crop yields by state |
-
- - | -Nebraska farm income in 2007 by county |
-
- - | -Uniformity trial of canning peas |
-
- - | -Uniformity trial of sweet corn |
-
- - | -Uniformity trial of potato in Africa 2001 |
-
- - | -Uniformity trials of soy hay and soybeans |
-
- - | -Multi-environment trial of sorghum, 6 environments |
-
- - | -Multi-environment trial of winter wheat, 7 years |
-
- - | -Multi-environment trial of tomato in Latin America, weight/yield and environmental covariates |
-
- - | -Multi-environment trial of soybean in Brazil. |
-
- - | -Uniformity trial of coffee |
-
- - | -Uniformity trial of cotton |
-
- - | -Uniformity trial of oranges |
-
- - | -Switchback experiment on dairy cattle, milk yield for 4 treatments |
-
- - | -Apple tree yields for 6 treatments with covariate |
-
- - | -Counts of yellow/white and sweet/starchy maize kernels by 15 observers |
-
- - | -Repeated measurements of lettuce growth |
-
- - | -Multi-environment trial of wheat cultivars introduced 1860-1982. |
-
- - | -Intercropping experiment of sorghum/cowpea |
-
- - | -Uniformity trial of barley |
-
- - | -Multi-environment trial of cock's foot, heading dates for 25 varieties in 7 years |
-
- - | -Uniformity trial of safflower |
-
- - | -Onion yields for different densities at two locations |
-
- - | -Yields of four grasses for a wide range of nitrogen fertilizer |
-
- - | -Root counts for propagated columnar apple shoots. |
-
- - | -Uniformity trial of peanuts |
-
- - | -RCB experiment of brussels sprouts, 9 fertilizer treatments |
-
- - | -RCB experiment of oats, straw and grain, 9 fertilizer treatments |
-
- - | -RCB experiment of groundut, wet and dry yields |
-
- - | -Fungus infection in varieties of wheat |
-
- - | -Uniformity trials of wheat, swedes, oats, 3 years on the same land |
-
- - | -Uniformity trial of sugarcane in India, 1933 & 1934. |
-
- - | -Multi-environment trial of rice, with solar radiation and temperature |
-
- - | -Uniformity trial of tomato |
-
- - | -Multi-environment trial of rapeseed in U.S. |
-
- - | -Multi-environment trial of oats in India |
-
- - | -Number of cotton bolls for different levels of defoliation. |
-
- - | -Clover yields in a factorial fertilizer experiment |
-
- - | -Uniformity trials of beans, 2 species in 2 years |
-
- - | -Uniformity trial of corn, 3 years on same ground |
-
- - | -Asparagus yields for different cutting treatments |
-
- - | -Fusarium infection in wheat varieties |
-
- - | -Uniformity trial of sorghum silage |
-
- - | -Multi-environment trial of barley, phenotypic and genotypic data for a population of Steptoe x Morex |
-
- - | -Uniformity trial of sorghum |
-
- - | -Corn borer control by application of fungal spores. |
-
- - | -Competition experiment between barley and sinapis. |
-
- - | -Uniformity trial in apple |
-
- - | -Uniformity trial of grape |
-
- - | -Uniformity trial of peach |
-
- - | -Uniformity trial of tomato |
-
- - | -RCB experiment of wheat at the Nebraska Intrastate Nursery |
-
- - | -Split-plot experiment of simulated data |
-
- - | -Multi-environment trial of barley |
-
- - | -Multi-environment trial of potato |
-
- - | -Multi-environment trial of potato in UK, yields and trait scores at 12 locations |
-
- - | -Multi-environment trial of barley, multiple years & fertilizer levels |
-
- - | -Multi-environment trial of corn silage, Year * Loc * Variety with covariate |
-
- - | -Multi-environment trial of corn & soybean, 1930-1962, with temperature and precipitation |
-
- - | -Herbicide control of larkspur |
-
- - | -Weight gain calves in a feedlot |
-
- - | -Concentrations of herbicides in streams in the United States |
-
- - | -Multi-environment trial of maize, dry matter content |
-
- - | -Infection of wheat varieties by Fusarium strains from 1990 to 1993 |
-
- - | -Number of cysts on 11 potato genotypes for 5 potato cyst nematode populations. |
-
- - | -Treatment x environment interaction in agronomy trials |
-
- - | -Wheat yields in 7 years with genetic and environment covariates |
-
- - | -Multi-environment trial of wheat with environmental covariates |
-
- - | -Multi-environment trial of lupin, multiple varieties and densities |
-
- - | -Long-term barley yields at different fertilizer levels |
-
- - | -Multi-environment trial of lupin, early generation trial |
-
- - | -Iowa farmland values by county in 1925 |
-
- - | -Acres and price of cotton 1910-1943 |
-
- - | -Uniformity trials of bromegrass |
-
- - | -Soil nitrogen and carbon in two fields |
-
- - | -Multi-environment trial of barley, percent of leaves affected by leaf blotch |
-
- - | -Soybean balanced incomplete block experiment |
-
- - | -Lattice experiment in soybeans. |
-
- - | -Factorial experiment of bermuda grass, N, P, K fertilizers |
-
- - | -Insecticide treatments for carrot fly larvae |
-
- - | -Uniformity trial of wheat |
-
- - | -Uniformity trial of safflower |
-
- - | -Uniformity trial of barley |
-
- - | -Uniformity trial of cotton |
-
- - | -Multi-environment trial of trees, height / survival of 37 species at 6 sites in Thailand |
-
- - | -Weight gain in pigs for different treatments |
-
- - | -Uniformity trial of oats and wheat on the same ground. |
-
- - | -Multi-environment trial of winter wheat in Ontario |
-
- - | -Multi-environment trial of barley in Alberta, 6 varieties at 18 locations in Alberta. |
-
- - | -Factorial experiment with missing values |
-
- - | -Split-plot experiment of oats |
-
- - | -Daily weight, feed, egg measurements for a broiler chicken |
-
ivins.herbs.Rd
Percent ground cover of herbage species and nettles.
-A data frame with 78 observations on the following 4 variables.
block
block, 6 levels
gen
genotype, 13 levels
nettle
percent ground cover of nettles
herb
percent ground cover of herbage species
On the University of Nottingham farm, 13 different strains and species - of herbage plants were sown on about 4 acres in an RCB design. Each - grass species was sown together with white clover seed.
-During establishment of the herbage plants, it became apparent that - Urtica dioica (nettle) became established according to the - particular herbage plant in each plot. In particular, nettle became - established in plots sown with leguminous species and the two grass - species. The graminaceous plots had less nettles.
-The data here are the percentage ground cover of nettle and herbage - plants in September 1951.
-Note, some of the percent ground cover amounts were originally - reported as 'trace'. These have been arbitrarily set to 0.1 in this - data.
-gen | species | strain |
G01 | Lolium perenne | Irish perennial ryegrass |
G02 | Lolium perenne | S. 23 perennial ryegrass |
G03 | Dactylis glomerata | Danish cocksfoot |
G04 | Dactylis glomerata | S. 143 cocksfoot |
G05 | Phleum pratense | American timothy |
G06 | Phleum pratense | S. 48 timothy |
G07 | Festuca pratensis | S. 215 meadow fescue |
G08 | Poa trivialis | Danish rough stalked meadow grass |
G09 | Cynosurus cristatus | New Zealand crested dogstail |
G10 | Trifolium pratense | Montgomery late red clover |
G11 | Medicago lupulina | Commercial black medick |
G12 | Trifolium repens | S. 100 white clover |
G13 | Plantago lanceolata | Commercial ribwort plantain |
Ivins, JD. (1952). - Concerning the Ecology of Urtica Dioica L., - Journal of Ecology, 40, 380-382. - https://doi.org/10.2307/2256806
-Ivins, JD (1950). Weeds in relation to the establishment of the Ley. - Grass and Forage Science, 5, 237--242. - https://doi.org/10.1111/j.1365-2494.1950.tb01287.x
-O'Gorman, T.W. (2001). A comparison of the F-test, Friedman's test, - and several aligned rank tests for the analysis of randomized complete - blocks. - Journal of agricultural, biological, and environmental - statistics, 6, 367--378. - https://doi.org/10.1198/108571101317096578
- ---library(agridat) - -data(ivins.herbs) -dat <- ivins.herbs - -# Nettle is primarily established in legumes. -libs(lattice) -xyplot(herb~nettle|gen, dat, main="ivins.herbs - herb yield vs weeds", - xlab="Percent groundcover in nettles", - ylab="Percent groundcover in herbs") --# O'Brien used first 7 species to test gen differences -dat7 <- droplevels(subset(dat, is.element(gen, c('G01','G02','G03','G04','G05','G06','G07')))) -m1 <- lm(herb ~ gen + block, data=dat7) -anova(m1) # gen p-value is .041 -#> Analysis of Variance Table -#> -#> Response: herb -#> Df Sum Sq Mean Sq F value Pr(>F) -#> gen 6 1083.24 180.540 2.5518 0.04072 * -#> block 5 590.69 118.138 1.6698 0.17236 -#> Residuals 30 2122.48 70.749 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1## Response: herb -## Df Sum Sq Mean Sq F value Pr(>F) -## gen 6 1083.24 180.540 2.5518 0.04072 * -## block 5 590.69 118.138 1.6698 0.17236 -## Residuals 30 2122.48 70.749 - -friedman.test(herb ~ gen|block, dat7) # gen p-value .056 -#> -#> Friedman rank sum test -#> -#> data: herb and gen and block -#> Friedman chi-squared = 12.286, df = 6, p-value = 0.05589 -#>-
iyer.wheat.uniformity.Rd
Uniformity trials of wheat in India.
-data("iyer.wheat.uniformity")- - -
A data frame with 2000 observations on the following 3 variables.
row
row
col
column
yield
yield, ounces per plot
Data collected at the Agricultural Sub-station in Karnal, India, in - April 1978. A net area of 400 ft x 125 ft was harvested by dividing it - into 80x25 units 5 ft x 5 ft after eliminating a minimum border of 3.5 - ft all around the net area.
-Field width: 80 plots * 5 feet = 400 feet
-Field length: 25 rows * 5 feet = 125 feet
-In a second paper, Iyer used this data to compare random vs. balanced - arrangements of treatments to plots, with the conclusion that - "it is very difficult to say which [method] is better. However, there is - some tendency for the randomized arrangements to give more accurate results."
-P. V. Krishna Iyer (1942). - Studies with wheat uniformity trial data. I. Size and shape of experimental plots and the relative efficiency of different layouts. - The Indian Journal of Agricultural Science, 12, 240-262. Page 259-262. - https://archive.org/stream/in.ernet.dli.2015.7638/2015.7638.The-Indian-Journal-Of-Agricultural-Science-Vol-xii-1942#page/n267/mode/2up
-None.
- --# \dontrun{ - -library(agridat) -data(iyer.wheat.uniformity) -dat <- iyer.wheat.uniformity - -libs(desplot) -desplot(dat, yield ~ col*row, - main="iyer.wheat.uniformity", tick=TRUE, - aspect=(25*5)/(80*5)) # true aspect -#> [1] 8.808361#> [1] 7.884428#> [1] 8.613927#> [1] 9.677526-# cv for 1x1 whole-field -# sd(dat$yield)/mean(dat$yield) -# 18.3 - -# } -
jansen.apple.Rd
Infestation of apple shoots by apple canker.
-data("jansen.apple")- - -
A data frame with 36 observations on the following 5 variables.
inoculum
inoculum level
gen
genotype/variety
block
block
y
number of inoculations developing canker
n
number of inoculations
Shoots of apple trees were infected with fungus Nectria - galligena, which may cause apple canker.
-The incoulum density treatment had 3 levels, measured in macroconidia - per ml.
-There were 4 blocks.
- -Used with permission of J. Jansen. Electronic version supplied by Miroslav Zoric.
-J. Jansen & J.A. Hoekstra (1993). - The analysis of proportions in agricultural experiments by a - generalized linear mixed model. - Statistica Neerlandica, 47(3), 161-174. - https://doi.org/10.1111/j.1467-9574.1993.tb01414.x
-None.
- --# \dontrun{ - -library(agridat) -data(jansen.apple) -dat <- jansen.apple - -libs(lattice) -xyplot(inoculum ~ y/n|gen, data=dat, group=block, - layout=c(3,1), - main="jansen.apple", - xlab="Proportion infected per block/inoculum", - ylab="Inoculum level") --## libs(lme4) -## # Tentative model. Needs improvement. -## m1 <- glmer(cbind(y,n-y) ~ gen + factor(inoculum) + (1|block), -## data=dat, family=binomial) -## summary(m1) - -# } -
jansen.carrot.Rd
Infestation of 16 carrot genotypes by fly larvae, comparing 2 - treatments in 16 blocks.
-data("jansen.carrot")- - -
A data frame with 96 observations on the following 5 variables.
trt
treatment
gen
genotype
block
block
n
number of carrots sampled per plot
y
number of carrots infested per plot
This experiment was designed to compare different genotypes of carrots - with respect to their resistance to infestation by larvae of the - carrotfly.
-There were 16 genotypes, 2 levels of pest-control treatments, conducted - in 3 randomized complete blocks. About 50 carrots were sampled from - each plot and evaluated. The data show the number of carrots and the - number infested by fly larvae.
-Used with permission of J. Jansen. Electronic version supplied by Miroslav Zoric.
-J. Jansen & J.A. Hoekstra (1993). - The analysis of proportions in agricultural experiments by a - generalized linear mixed model. - Statistica Neerlandica, 47(3), 161-174. - https://doi.org/10.1111/j.1467-9574.1993.tb01414.x
-None.
- ---library(agridat) -data(jansen.carrot) -dat <- jansen.carrot - -libs(lattice) -dotplot(gen ~ y/n, data=dat, group=trt, auto.key=TRUE, - main="jansen.carrot", - xlab="Proportion of carrots infected per block", ylab="Genotype") --# \dontrun{ - # Not run because CRAN wants < 5 seconds per example. This is close. - libs(lme4) - # Tentative model. Needs improvement. - m1 <- glmer(cbind(y,n-y) ~ gen*trt + (1|block), - data=dat, family=binomial) - summary(m1) -#> Generalized linear mixed model fit by maximum likelihood (Laplace -#> Approximation) [glmerMod] -#> Family: binomial ( logit ) -#> Formula: cbind(y, n - y) ~ gen * trt + (1 | block) -#> Data: dat -#> -#> AIC BIC logLik deviance df.resid -#> 608.9 693.5 -271.4 542.9 63 -#> -#> Scaled residuals: -#> Min 1Q Median 3Q Max -#> -3.973 -1.016 -0.273 1.115 2.908 -#> -#> Random effects: -#> Groups Name Variance Std.Dev. -#> block (Intercept) 0.02472 0.1572 -#> Number of obs: 96, groups: block, 3 -#> -#> Fixed effects: -#> Estimate Std. Error z value Pr(>|z|) -#> (Intercept) 1.07446 0.20722 5.185 2.16e-07 *** -#> genG02 -0.06075 0.26611 -0.228 0.81941 -#> genG03 -2.07415 0.26296 -7.888 3.08e-15 *** -#> genG04 -2.79945 0.30159 -9.282 < 2e-16 *** -#> genG05 -2.09256 0.26415 -7.922 2.34e-15 *** -#> genG06 -2.58980 0.28306 -9.149 < 2e-16 *** -#> genG07 -2.11827 0.26541 -7.981 1.45e-15 *** -#> genG08 -2.52386 0.28125 -8.974 < 2e-16 *** -#> genG09 -2.82317 0.29709 -9.503 < 2e-16 *** -#> genG10 -2.63026 0.29208 -9.005 < 2e-16 *** -#> genG11 -2.81654 0.30587 -9.208 < 2e-16 *** -#> genG12 -4.42573 0.49179 -8.999 < 2e-16 *** -#> genG13 -2.01259 0.27119 -7.421 1.16e-13 *** -#> genG14 -3.09043 0.30759 -10.047 < 2e-16 *** -#> genG15 -2.88159 0.29641 -9.722 < 2e-16 *** -#> genG16 -3.79170 0.39154 -9.684 < 2e-16 *** -#> trtT2 -1.88405 0.25129 -7.498 6.50e-14 *** -#> genG02:trtT2 0.18457 0.36089 0.511 0.60905 -#> genG03:trtT2 1.15294 0.38887 2.965 0.00303 ** -#> genG04:trtT2 2.20759 0.39970 5.523 3.33e-08 *** -#> genG05:trtT2 1.05088 0.39904 2.634 0.00845 ** -#> genG06:trtT2 0.91731 0.44606 2.056 0.03973 * -#> genG07:trtT2 0.43275 0.43498 0.995 0.31980 -#> genG08:trtT2 1.22717 0.42157 2.911 0.00360 ** -#> genG09:trtT2 1.29446 0.44172 2.931 0.00338 ** -#> genG10:trtT2 1.06684 0.44495 2.398 0.01650 * -#> genG11:trtT2 1.27707 0.46195 2.765 0.00570 ** -#> genG12:trtT2 1.89552 0.69089 2.744 0.00608 ** -#> genG13:trtT2 0.89074 0.40707 2.188 0.02866 * -#> genG14:trtT2 2.14280 0.42006 5.101 3.38e-07 *** -#> genG15:trtT2 1.81864 0.41727 4.358 1.31e-05 *** -#> genG16:trtT2 1.79019 0.56060 3.193 0.00141 ** -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1#> -#>-#> -#># Todo: Why are these results different from Jansen? - # Maybe he used ungrouped bernoulli data? Too slow with 4700 obs -# } - -
jansen.strawberry.Rd
Ordered disease ratings of strawberry crosses.
-data("jansen.strawberry")- - -
A data frame with 144 observations on the following 5 variables.
male
male parent
female
female parent
block
block
category
disease damage, C1
< C2
< C3
count
number of plants in each category
In strawberries, red core disease is caused by a fungus, - Phytophtora fragariae. This experiment evaluated different - populations for damage caused by red core disease.
-There were 3 male strawberry plants and 4 DIFFERENT female strawberry - plants that were crossed to create 12 populations. - Note: Jansen labeled the male parents 1,2,3 and the female parents - 1,2,3,4. To reduce confusion, this data labels the female parents 5,6,7,8.
-The experiment had four blocks with 12 plots each (one for each - population). Plots usually had 10 plants, but some plots only had 9 - plants. Each plant was assessed for damage from fungus and rated as - belonging to category C1, C2, or C3 (increasing damage).
- -Used with permission of Hans Jansen.
-J. Jansen, 1990. - On the statistical analysis of ordinal data when extravariation is present. - Applied Statistics, 39, 75-84, Table 1. - https://doi.org/10.2307/2347813
- --# \dontrun{ - -library(agridat) - -data(jansen.strawberry) -dat <- jansen.strawberry -dat <- transform(dat, category=ordered(category, levels=c('C1','C2','C3'))) - -dtab <- xtabs(count ~ male + female + category, data=dat) -ftable(dtab) -#> category C1 C2 C3 -#> male female -#> P1 P5 6 13 20 -#> P6 8 15 17 -#> P7 13 10 16 -#> P8 8 21 11 -#> P2 P5 5 13 21 -#> P6 9 16 14 -#> P7 16 9 15 -#> P8 12 13 14 -#> P3 P5 5 10 24 -#> P6 13 12 15 -#> P7 3 14 22 -#> P8 18 9 13-mosaicplot(dtab, - color=c("lemonchiffon1","lightsalmon1","indianred"), - main="jansen.strawberry disease ratings", - xlab="Male parent", ylab="Female parent") -#> -#>#>-#> -#>#>-#> -#># Friendly suggests a minimal model is [MF][C] -# m1 <- loglm( ~ 1*2 + 3, dtab) # Fails, only with devtools -# mosaic(m1) - -# } -
jayaraman.bamboo.Rd
Bamboo progeny trial in 2 locations, 3 blocks
-data("jayaraman.bamboo")- - -
A data frame with 216 observations on the following 5 variables.
loc
location factor
block
block factor
tree
tree factor
family
family factor
height
height, cm
Data from a replicated trial of bamboo at two locations in Kerala, - India. Each location had 3 blocks. In each block were 6 families, - with 6 trees in each family.
-K. Jayaraman (1999). "A Statistical Manual For Forestry Research". - Forestry Research Support Programme for Asia and the Pacific. Page 170.
-None
- --#> Warning: data set 'jayaraman.bamboo' not founddat <- jayaraman.bamboo -#> Error in eval(expr, envir, enclos): object 'jayaraman.bamboo' not found- # very surprising differences between locations - libs(lattice) - bwplot(height ~ family|loc, d2, main="jayaraman.bamboo") -#> Error in eval(substitute(groups), data, environment(formula)): object 'd2' not found# match Jayarman's anova table 6.3, page 173 - # m1 <- aov(height ~ loc+loc:block + family + family:loc + family:loc:block, data=d2) - # anova(m1) - - # more modern approach with mixed model, match variance components needed - # for equation 6.9, heritability of the half-sib averages as - m2 <- lme4::lmer(height ~ 1 + (1|loc/block) + (1|family/loc/block), data=d2) -#> Error: 'data' not found, and some variables missing from formula environment#> Error in lucid::vc(m2): object 'm2' not found# } -
jenkyn.mildew.Rd
Yields from treatment for mildew control
-A data frame with 38 observations on the following 4 variables.
plot
plot number
trt
treatment factor, 4 levels
block
block factor, 9 levels
yield
grain yield, tons/ha
There were four spray treatments: 0 (none), 1 (early), 2 (late), R - (repeated).
-Each treatment occurs once between each of the 9 ordered pairs of the - other treatments.
-The first and last plot are not assigned to a block.
-Norman Draper and Irwin Guttman (1980). - Incorporating Overlap Effects from Neighboring Units into Response - Surface Models. - Appl Statist, 29, 128--134. - https://doi.org/10.2307/2986297
-Maria Durban, Christine Hackett, Iain Currie. - Blocks, Trend and Interference in Field Trials.
- ---library(agridat) - -data(jenkyn.mildew) -dat <- jenkyn.mildew - -libs(lattice) -bwplot(yield ~ trt, dat, main="jenkyn.mildew", xlab="Treatment") --# Residuals from treatment model show obvious spatial trends -m0 <- lm(yield ~ trt, dat) -xyplot(resid(m0)~plot, dat, ylab="Residual", - main="jenkyn.mildew - treatment model") --# The blocks explain most of the variation -m1 <- lm(yield ~ trt + block, dat) -xyplot(resid(m1)~plot, dat, ylab="Residual", - main="jenkyn.mildew - block model") --
john.alpha.Rd
Alpha lattice design of spring oats
-A data frame with 72 observations on the following 5 variables.
plot
plot number
rep
replicate
block
incomplete block
gen
genotype (variety)
yield
dry matter yield (tonnes/ha)
row
Row ordinate
col
Column ordinate
A spring oats trial grown in Craibstone, near Aberdeen. - There were 24 varieties in 3 replicates, each consisting - of 6 incomplete blocks of 4 plots. Planted in a resolvable - alpha design.
-Caution: Note that the table on page 146 of John & Williams (1995) is - NOT the physical layout. The plots were laid out in a single line.
-J. A. John & E. R. Williams (1995). - Cyclic and computer generated designs. - Chapman and Hall, London. Page 146.
-Piepho, H.P. and Mohring, J. (2007), - Computing heritability and selection response from unbalanced - plant breeding trials. - Genetics, 177, 1881-1888. - https://doi.org/10.1534/genetics.107.074229
-Paul Schmidt, Jens Hartung, JĂśrn Bennewitz, and Hans-Peter Piepho - (2019). - Heritability in Plant Breeding on a Genotype-Difference Basis. - Genetics, 212, 991-1008. - https://doi.org/10.1534/genetics.119.302134
-# \dontrun{
-
- library(agridat)
- data(john.alpha)
- dat <- john.alpha
-
- # RCB (no incomplete block)
- m0 <- lm(yield ~ 0 + gen + rep, data=dat)
-
- # Block fixed (intra-block analysis) (bottom of table 7.4 in John)
- m1 <- lm(yield ~ 0 + gen + rep + rep:block, dat)
- anova(m1)
-#> Analysis of Variance Table
-#>
-#> Response: yield
-#> Df Sum Sq Mean Sq F value Pr(>F)
-#> gen 24 1458.83 60.785 728.2829 < 2.2e-16 ***
-#> rep 2 6.14 3.068 36.7557 6.593e-09 ***
-#> rep:block 15 3.60 0.240 2.8784 0.006255 **
-#> Residuals 31 2.59 0.083
-#> ---
-#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
-
- # Block random (combined inter-intra block analysis)
- libs(lme4, lucid)
- m2 <- lmer(yield ~ 0 + gen + rep + (1|rep:block), dat)
-
- anova(m2)
-#> Analysis of Variance Table
-#> npar Sum Sq Mean Sq F value
-#> gen 24 380.44 15.8515 185.9959
-#> rep 2 1.57 0.7851 9.2124
- ## Analysis of Variance Table
- ## Df Sum Sq Mean Sq F value
- ## gen 24 380.43 15.8513 185.9942
- ## rep 2 1.57 0.7851 9.2123
- vc(m2)
-#> grp var1 var2 vcov sdcor
-#> rep:block (Intercept) <NA> 0.06194 0.2489
-#> Residual <NA> <NA> 0.08523 0.2919
- ## grp var1 var2 vcov sdcor
- ## rep:block (Intercept) <NA> 0.06194 0.2489
- ## Residual <NA> <NA> 0.08523 0.2919
-
-
- # Variety means. John and Williams table 7.5. Slight, constant
- # difference for each method as compared to John and Williams.
- means <- data.frame(rcb=coef(m0)[1:24],
- ib=coef(m1)[1:24],
- intra=fixef(m2)[1:24])
- head(means)
-#> rcb ib intra
-#> genG01 5.201233 5.268742 5.146433
-#> genG02 4.552933 4.665389 4.517265
-#> genG03 3.381800 3.803790 3.537933
-#> genG04 4.439400 4.728175 4.528828
-#> genG05 5.103100 5.225708 5.075944
-#> genG06 4.749067 4.618234 4.575395
- ## rcb ib intra
- ## genG01 5.201233 5.268742 5.146433
- ## genG02 4.552933 4.665389 4.517265
- ## genG03 3.381800 3.803790 3.537934
- ## genG04 4.439400 4.728175 4.528828
- ## genG05 5.103100 5.225708 5.075944
- ## genG06 4.749067 4.618234 4.575394
-
- libs(lattice)
- splom(means, main="john.alpha - means for RCB, IB, Intra-block")
-
-
-
- # ----------
- # asreml4
-
- libs(asreml,lucid)
-
- # Heritability calculation of Piepho & Mohring, Example 1
-
- m3 <- asreml(yield ~ 1 + rep, data=dat, random=~ gen + rep:block)
-#> Model fitted using the gamma parameterization.
-#> ASReml 4.1.0 Fri Dec 17 15:17:39 2021
-#> LogLik Sigma2 DF wall cpu
-#> 1 7.34791 0.221592 69 15:17:39 0.0
-#> 2 12.08376 0.156976 69 15:17:39 0.0
-#> 3 15.53184 0.110746 69 15:17:39 0.0
-#> 4 16.65758 0.089647 69 15:17:39 0.0
-#> 5 16.80904 0.081946 69 15:17:39 0.0
-#> 6 16.80985 0.081598 69 15:17:39 0.0
- sg2 <- summary(m3)$varcomp['gen','component'] # .142902
-
- # Average variance of a difference of two adjusted means (BLUP)
-
- p3 <- predict(m3, data=dat, classify="gen", sed=TRUE)
-#> Model fitted using the gamma parameterization.
-#> ASReml 4.1.0 Fri Dec 17 15:17:39 2021
-#> LogLik Sigma2 DF wall cpu
-#> 1 16.8098 0.0816175 69 15:17:39 0.0
-#> 2 16.8098 0.0816174 69 15:17:39 0.0
-#> 3 16.8098 0.0816172 69 15:17:39 0.0
- # Matrix of pair-wise SED values, squared
- vdiff <- p3$sed^2
- # Average variance of two DIFFERENT means (using lower triangular of vdiff)
- vblup <- mean(vdiff[lower.tri(vdiff)]) # .05455038
-
- # Note that without sed=TRUE, asreml reports square root of the average variance
- # of a difference between the variety means, so the following gives the same value
- # predict(m3, data=dat, classify="gen")$avsed ^ 2 # .05455038
-
- # Average variance of a difference of two adjusted means (BLUE)
- m4 <- asreml(yield ~ 1 + gen + rep, data=dat, random = ~ rep:block)
-#> Model fitted using the gamma parameterization.
-#> ASReml 4.1.0 Fri Dec 17 15:17:39 2021
-#> LogLik Sigma2 DF wall cpu
-#> 1 8.27642 0.119546 46 15:17:39 0.0
-#> 2 8.94241 0.108572 46 15:17:39 0.0
-#> 3 9.53543 0.096936 46 15:17:39 0.0
-#> 4 9.80736 0.087555 46 15:17:39 0.0
-#> 5 9.82176 0.085478 46 15:17:39 0.0
-#> 6 9.82194 0.085243 46 15:17:39 0.0
- p4 <- predict(m4, data=dat, classify="gen", sed=TRUE)
-#> Model fitted using the gamma parameterization.
-#> ASReml 4.1.0 Fri Dec 17 15:17:39 2021
-#> LogLik Sigma2 DF wall cpu
-#> 1 9.82194 0.0852263 46 15:17:39 0.0
-#> 2 9.82194 0.0852260 46 15:17:39 0.0
-#> 3 9.82194 0.0852252 46 15:17:39 0.0
- vdiff <- p4$sed^2
- vblue <- mean(vdiff[lower.tri(vdiff)]) # .07010875
- # Again, could use predict(m4, data=dat, classify="gen")$avsed ^ 2
-
- # H^2 Ad-hoc measure of heritability
- sg2 / (sg2 + vblue/2) # .803
-#> [1] 0.8029759
-
- # H^2c Similar measure proposed by Cullis.
- 1-(vblup / (2*sg2)) # .809
-#> [1] 0.8090841
-
-
- # ----------
- # lme4 to calculate Cullis H2
- # https://stackoverflow.com/questions/38697477
-
- libs(lme4)
-
- cov2sed <- function(x){
- # Convert var-cov matrix to SED matrix
- # sed[i,j] = sqrt( x[i,i] + x[j,j]- 2*x[i,j] )
- n <- nrow(x)
- vars <- diag(x)
- sed <- sqrt( matrix(vars, n, n, byrow=TRUE) +
- matrix(vars, n, n, byrow=FALSE) - 2*x )
- diag(sed) <- 0
- return(sed)
- }
-
- # Same as asreml model m4. Note 'gen' must be first term
- m5blue <- lmer(yield ~ 0 + gen + rep + (1|rep:block), dat)
-
- libs(emmeans)
-#> Warning: package 'emmeans' was built under R version 4.1.2
- ls5blue <- emmeans(m5blue, "gen")
- con <- ls5blue@linfct[,1:24] # contrast matrix for genotypes
- # The 'con' matrix is identity diagonal, so we don't need to multiply,
- # but do so for a generic approach
- # sed5blue <- cov2sed(con
- tmp <- tcrossprod( crossprod(t(con), vcov(m5blue)[1:24,1:24]), con)
- sed5blue <- cov2sed(tmp)
-
-
- # vblue Average variance of difference between genotypes
- vblue <- mean(sed5blue[upper.tri(sed5blue)]^2)
- vblue # .07010875 matches 'vblue' from asreml
-#> [1] 0.07010875
-
- # Now blups
- m5blup <- lmer(yield ~ 0 + (1|gen) + rep + (1|rep:block), dat)
- # Need lme4::ranef in case ordinal is loaded
- re5 <- lme4::ranef(m5blup,condVar=TRUE)
- vv1 <- attr(re5$gen,"postVar")
- vblup <- 2*mean(vv1) # .0577 not exactly same as 'vblup' above
- vblup
-#> [1] 0.0577334
-
- # H^2 Ad-hoc measure of heritability
- sg2 <- c(lme4::VarCorr(m5blup)[["gen"]]) # 0.142902
- sg2 / (sg2 + vblue/2) # .803 matches asreml
-#> [1] 0.8030173
-
- # H^2c Similar measure proposed by Cullis.
- 1-(vblup / 2 / sg2) # .809 from asreml, .800 from lme4
-#> [1] 0.7979969
-
-
- # ----------
- # Sommer to calculate Cullis H2
- libs(sommer)
- m2.ran <- mmer(fixed = yield ~ rep,
- random = ~ gen + rep:block,
- data = dat)
-#> Version out of date. Please update sommer to the newest version using:
-#> install.packages('sommer') in a new session
-#> Use the 'date.warning' argument to disable the warning message.iteration LogLik wall cpu(sec) restrained
-#> 1 -19.4174 15:17:39 0 0
-#> 2 -14.1597 15:17:39 0 0
-#> 3 -12.6451 15:17:39 0 0
-#> 4 -12.5508 15:17:39 0 0
-#> 5 -12.5506 15:17:39 0 0
-
- vc_g <- m2.ran$sigma$gen # genetic variance component
- n_g <- n_distinct(dat$gen) # number of genotypes
- C22_g <- m2.ran$PevU$gen$yield # Prediction error variance matrix for genotypic BLUPs
- trC22_g <- sum(diag(C22_g)) # trace
- # Mean variance of a difference between genotypic BLUPs. Smith eqn 26
- # I do not see the algebraic reason for this...2
- av2 <- 2/n_g * (trC22_g - (sum(C22_g)-trC22_g) / (n_g-1))
-
- ### H2 Cullis
- 1-(av2 / (2 * vc_g)) #0.8091
-#> yield
-#> yield 0.8091431
-
-# }
-
johnson.blight.Rd
Potato blight due to weather in Prosser, Washington
-A data frame with 25 observations on the following 6 variables.
year
year
area
area affected, hectares
blight
blight detected, 0/1 numeric
rain.am
number of rainy days in April and May
rain.ja
number of rainy days in July and August
precip.m
precipitation in May when temp > 5C, milimeters
The variable 'blight detected' is 1 if 'area' > 0.
-Johnson, D.A. and Alldredge, J.R. and Vakoch, D.L. (1996). - Potato late blight forecasting models for the semiarid environment of - south-central Washington. Phytopathology, 86, 480--484. - https://doi.org/10.1094/Phyto-86-480
-Vinayanand Kandala, - Logistic Regression
- ---library(agridat) - -data(johnson.blight) -dat <- johnson.blight - -# Define indicator for blight in previous year -dat$blight.prev[2:25] <- dat$blight[1:24] -dat$blight.prev[1] <- 0 # Need this to match the results of Johnson -dat$blight.prev <- factor(dat$blight.prev) -dat$blight <- factor(dat$blight) - -# Johnson et al developed two logistic models to predict outbreak of blight - -m1 <- glm(blight ~ blight.prev + rain.am + rain.ja, data=dat, family=binomial) -summary(m1) -#> -#> Call: -#> glm(formula = blight ~ blight.prev + rain.am + rain.ja, family = binomial, -#> data = dat) -#> -#> Deviance Residuals: -#> Min 1Q Median 3Q Max -#> -2.42093 -0.24739 -0.04458 0.51326 1.30182 -#> -#> Coefficients: -#> Estimate Std. Error z value Pr(>|z|) -#> (Intercept) -11.4699 5.5976 -2.049 0.0405 * -#> blight.prev1 3.8796 1.8066 2.148 0.0318 * -#> rain.am 0.7162 0.3665 1.954 0.0507 . -#> rain.ja 0.2587 0.2468 1.048 0.2945 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 -#> -#> (Dispersion parameter for binomial family taken to be 1) -#> -#> Null deviance: 34.617 on 24 degrees of freedom -#> Residual deviance: 13.703 on 21 degrees of freedom -#> AIC: 21.703 -#> -#> Number of Fisher Scoring iterations: 7 -#>## Estimate Std. Error z value Pr(>|z|) -## (Intercept) -11.4699 5.5976 -2.049 0.0405 * -## blight.prev1 3.8796 1.8066 2.148 0.0318 * -## rain.am 0.7162 0.3665 1.954 0.0507 . -## rain.ja 0.2587 0.2468 1.048 0.2945 -## --- -## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 - -## (Dispersion parameter for binomial family taken to be 1) - -## Null deviance: 34.617 on 24 degrees of freedom -## Residual deviance: 13.703 on 21 degrees of freedom -## AIC: 21.703 - - - -m2 <- glm(blight ~ blight.prev + rain.am + precip.m, data=dat, family=binomial) -summary(m2) -#> -#> Call: -#> glm(formula = blight ~ blight.prev + rain.am + precip.m, family = binomial, -#> data = dat) -#> -#> Deviance Residuals: -#> Min 1Q Median 3Q Max -#> -1.87484 -0.32997 -0.06489 0.54059 1.94218 -#> -#> Coefficients: -#> Estimate Std. Error z value Pr(>|z|) -#> (Intercept) -7.5483 3.8070 -1.983 0.0474 * -#> blight.prev1 3.5526 1.6061 2.212 0.0270 * -#> rain.am 0.6290 0.2763 2.276 0.0228 * -#> precip.m -0.0904 0.1144 -0.790 0.4295 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 -#> -#> (Dispersion parameter for binomial family taken to be 1) -#> -#> Null deviance: 34.617 on 24 degrees of freedom -#> Residual deviance: 14.078 on 21 degrees of freedom -#> AIC: 22.078 -#> -#> Number of Fisher Scoring iterations: 6 -#>## Estimate Std. Error z value Pr(>|z|) -## (Intercept) -7.5483 3.8070 -1.983 0.0474 * -## blight.prev1 3.5526 1.6061 2.212 0.0270 * -## rain.am 0.6290 0.2763 2.276 0.0228 * -## precip.m -0.0904 0.1144 -0.790 0.4295 -## --- -## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 - -## (Dispersion parameter for binomial family taken to be 1) - -## Null deviance: 34.617 on 24 degrees of freedom -## Residual deviance: 14.078 on 21 degrees of freedom -## AIC: 22.078 - -libs(lattice) -splom(dat[,c('blight','rain.am','rain.ja','precip.m')], - main="johnson.blight - indicator of blight") --
johnson.douglasfir.Rd
A study of small-plots of old-growth Douglas Fir in Oregon.
-data("johnson.douglasfir")- - -
A data frame with 1600 observations on the following 3 variables.
row
row
col
column
volume
volume per plot
A study in 40 acres of old-growth Douglas-Fir near Eugene, Oregon. The area was divided into a 40-by-40 grid of plots, each 1/40 acre. The volume represents the total timber volume (Scribner Decimal C) of each 1/40 acre plot.
-The authors conclude a 1-chain by 3-chain 3/10 acre rectangle was most efficient for intensive cruise work.
-To convert plot volume to total volume per acre, multiply by 40 (each plot is -1/40 acre) and multiply by 10 (correction for the Scribner scale).
-Floyd A. Johnson, Homer J. Hixon. (1952). -The most efficient size and shape of plot to use for cruising in old-growth Douglas-fir timber. -Jour. Forestry 50, 17-20. -https://doi.org/10.1093/jof/50.1.17
-None
- ---library(agridat) -data(johnson.douglasfir) -dat <- johnson.douglasfir - -# Average volume per acre. Johnson & Hixon give 91000. -# Transcription may have some errors...the pdf was blurry. -mean(dat$volume) * 400 -#> [1] 91124.25# 91124 - -# \dontrun{ -libs(lattice) -levelplot(volume ~ col*row, dat, main="johnson.douglasfir", aspect=1) -# } - -
jones.corn.uniformity.Rd
Uniformity trial of corn in Iowa in 2016.
-data("jones.corn.uniformity")
A data frame with 144 observations on the following 3 variables.
col
column ordinate
row
row ordinate
yield
yield, bu/ac
This data corresponds to field "ISU.SE" in the paper by Jones.
-Field width: 12 columns, 4.6 meters each.
-Field length: 12 rows, 3 meters each.
-Electronic version provided as an online supplement. The "row" and - "col" variables in the supplement have been swapped for the - presentation of the data here in order to be more consistent with the - figures in the paper.
-Used with permission of Marcus Jones.
-Jones, M., Harbur, M., & Moore, K. J. (2021). - Automating Uniformity Trials to Optimize Precision of Agronomic Field - Trials. - Agronomy, 11(6), 1254. - https://doi.org/10.3390/agronomy11061254
-None
-kadam.millet.uniformity.Rd
Uniformity trial of millet in India during 2 years
-data("kadam.millet.uniformity")- - -
A data frame with 240 observations on the following 4 variables.
year
year
row
row
col
column
yield
yield, ounces
Uniformity trials conducted during the kharip (monsoon) seasons of - 1933 and 1934 at Kundewadi, Niphad, in the district of Nasik, - India. Bajari (pearl millet) strain 54 was used.
-In 1933:
-Field width: 8 plots * 16.5 feet
-Field length: 10 plots * 33 feet
-In 1934:
-Field width: 8 plots * 16.5 feet
-Field length: 20 plots * 16.5 feet
-B. S. Kadam and S. M. Patel. (1937). - Studies in Field-Plot Technique With P. Typhoideum Rich. - The Empire Journal Of Experimental Agriculture, 5, 219-230. - https://archive.org/details/in.ernet.dli.2015.25282
-None.
- --# \dontrun{ - -library(agridat) - - data(kadam.millet.uniformity) - dat <- kadam.millet.uniformity - - # similar to Kadam fig 1 - libs(desplot) - desplot(dat, yield ~ col*row, - subset=year==1933, - flip=TRUE, aspect=(10*33)/(8*16.5), # true aspect - main="kadam.millet.uniformity 1933") -- desplot(dat, yield ~ col*row, - subset=year==1934, - flip=TRUE, aspect=(20*16.5)/(8*16.5), # true aspect - main="kadam.millet.uniformity 1934") --# } -
kalamkar.potato.uniformity.Rd
Uniformity trial of potatoes at Saskatchewan, Canada, 1929.
-data("kalamkar.potato.uniformity")- - -
A data frame with 576 observations on the following 3 variables.
row
row
col
column
yield
yield of potatoes per plot
The data is for potato yields in 96 rows, each 132 feet long, with 3 - feet between rows.
-Each row was harvested as six plots, each 22 feet long. Each hill had - one seed piece. Hills were spaced 2 feet apart in each row.
-Field width: 6 plots * 22 feet = 132 feet
-Field length: 96 rows * 3 feet = 288 feet
-Kalamkar, R.J. (1932). - Experimental Error and the Field-Plot Technique with Potatoes. - The Journal of Agricultural Science, 22, 373-385. - https://doi.org/10.1017/S0021859600053697
- --# \dontrun{ - -library(agridat) -data(kalamkar.potato.uniformity) -dat <- kalamkar.potato.uniformity - -# Similar to figure 1 of Kalamkar -libs(desplot) -desplot(dat, yield~col*row, - flip=TRUE, tick=TRUE, aspect=288/132, # true aspect - main="kalamkar.potato.uniformity") --# } -
kalamkar.wheat.uniformity.Rd
Uniformity trial of wheat at Rothamsted, UK in 1931.
-data("kalamkar.wheat.uniformity")- - -
A data frame with 1280 observations on the following 4 variables.
row
row
col
column
yield
yield, grams/half-meter
ears
ears per half-meter
Kalamkar's paper published in 1932. Estimated crop year 1931.
-Plot 18 of the Four Course Rotation Experiment, Great Hoos, at - Rothamsted, UK was used. Sown with Yeoman II wheat.
-Field width = 16 segments * 0.5 meters = 8 meters.
-Field length: 80 rows * 6 inches apart = 40 feet.
-The grain yield and number of ears for each half-meter length were - recorded. This is quite a small field, only 1/40 acre in size.
-Edge rows have higher yields. Row-end units have higher yields than - interior units. These border effects are significant. Variation - between rows is greater than variation within rows. Negative - correlation between rows may indicate competition effects.
-For ears, Kalamkar discarded 4 rows from each side and 3 half-meter lengths at each end.
-Kalamkar suggested using four parallel half-meter rows as a sampling unit.
-Note, the Rothamsted report for 1931, page 57, says: - During the year three workers (F. R. Immer, S. H. Justensen and - R. J. Kalamkar) have taken up the question of the most efficient use - of land in experiments in which an edge row must be discarded...
-Kalamkar, R. J (1932). - A Study in Sampling Technique with Wheat. - The Journal of Agricultural Science, Vol.22(4), pp.783-796. - https://doi.org/10.1017/S0021859600054599
-None.
- --# \dontrun{ - - library(agridat) - data(kalamkar.wheat.uniformity) - dat <- kalamkar.wheat.uniformity - - plot(yield ~ ears, dat, main="kalamkar.wheat.uniformity") -- # totals match Kalamkar - # sum(dat$yield) # 24112.5 - # sum(dat$ears) # 25850 - - libs(desplot) - desplot(dat, ears ~ col*row, - flip=TRUE, aspect=(80*0.5)/(16*1.64042), # true aspect - main="kalamkar.wheat.uniformity - ears") -desplot(dat, yield ~ col*row, - flip=TRUE, aspect=(80*0.5)/(16*1.64042), # true aspect - main="kalamkar.wheat.uniformity - yield") -- # ---------- - - libs(asreml,lucid) # asreml4 - - # Show the negative correlation between rows - dat <- transform(dat, - rowf=factor(row), colf=factor(col)) - dat <- dat[order(dat$rowf, dat$colf),] - m1 = asreml(yield ~ 1, data=dat, resid= ~ ar1(rowf):ar1(colf)) -#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:08:47 2021 -#> LogLik Sigma2 DF wall cpu -#> 1 -3434.313 80.1883 1279 17:08:47 0.0 -#> 2 -3416.532 78.3967 1279 17:08:47 0.0 -#> 3 -3401.703 78.3835 1279 17:08:47 0.0 -#> 4 -3396.808 79.9191 1279 17:08:47 0.0 -#> 5 -3396.034 81.2062 1279 17:08:47 0.0 -#> 6 -3396.011 81.4745 1279 17:08:47 0.0 -#> 7 -3396.010 81.5251 1279 17:08:47 0.0vc(m1) -#> effect component std.error z.ratio bound %ch -#> rowf:colf!R 81.53 3.525 23 P 0 -#> rowf:colf!rowf!cor -0.09464 0.0277 -3.4 U 0.1 -#> rowf:colf!colf!cor 0.2976 0.02629 11 U 0.1## effect component std.error z.ratio bound pctch - ## rowf:colf!R 81.53 3.525 23 P 0 - ## rowf:colf!rowf!cor -0.09464 0.0277 -3.4 U 0.1 - ## rowf:colf!colf!cor 0.2976 0.02629 11 U 0.1 - -# } -
kang.maize.Rd
Maize yields at 4 locs in 3 years in Louisianna.
- -data("kang.maize")- -
gen
genotype, 17 levels
env
environment, 12 levels
yield
yield, tonnes/ha
environment, 13 levels
year
year, 85-87
loc
location, 4 levels
Yield trials were conducted at four locations (Alexandria, Baton - Rouge, Bossier City, and St. Joseph) in Louisiana during 1985 to 1987. - Each loc was planted as RCB design with 4 reps. Mean yields are given - in this data.
- -Kang, MS and Gorman, DP. (1989). - Genotype x environment interaction in maize. - Agronomy Journal, 81, 662-664. Table 2.
-Used with permission of Dan Gorman.
- - ---library(agridat) -data(kang.maize) -dat <- kang.maize - -# Sweep out loc means, then show interaction plot. -libs(reshape2) -mat <- acast(dat, gen~env, value.var='yield') -mat <- sweep(mat, 2, colMeans(mat)) -dat2 <- melt(mat) -names(dat2) <- c('gen','env','yield') -libs(lattice) -xyplot(yield~env|gen, data=dat2, type='l', group=gen, - panel=function(x,y,...){ - panel.abline(h=0,col="gray70") - panel.xyplot(x,y,...) - }, - ylab="Environment-centered yield", - main="kang.maize - maize hybrid yields", scales=list(x=list(rot=90)))- -# Weather covariates for each environment. -covs <- data.frame(env=c("AL85","AL86","AL87", "BR85","BR86","BR87", - "BC85","BC86","BC87", "SJ85","SJ86","SJ87"), - maxt=c(30.7,30.2,29.7,31.5,29.4,28.5, 31.9, 30.4,31.7, 32,29.6,28.9), - mint=c(18.7,19.3,18.5, 19.7,18,17.2, 19.1,20.4,20.3, 20.4,19.1,17.5), - rain=c(.2,.34,.22, .28,.36,.61, .2,.43,.2, .36,.41,.22), - humid=c(82.8,91.1,85.4, 88.1,90.9,88.6, 95.4,90.4,86.7, 95.6,89.5,85))
kang.peanut.Rd
Peanut yields for 10 genotypes in 15 environments
-data("kang.peanut")- - -
A data frame with 590 observations on the following 4 variables.
gen
genotype factor, 10 levels
rep
replicate factor, 4 levels
yield
yield
env
environment factor, 15 levels
Florman, Tegua, mf484, mf485, mf487, mf489 have a long crop cycle. - The others have a short crop cycle.
-This data is also likely used in Casanoves et al 2005, - "Evaluation of Multienvironment Trials of Peanut Cultivars", but this - appears to be a slightly smaller subset (only 10 genotypes, and - perhaps only the years 96,97,98,99). Based on the d.f. in their - table 5, it appears that environment E13 was grown in 1998. - (5 loc * (4-1) = 15, but the table has 14, and 98-99 had only 3 reps - instead of 4 reps.)
-Data from National Institute of Agricultural Technology, Argentina.
-M. S. Kang, M. Balzarini, and J. L. L. Guerra - (2004). Genotype-by-environment - interaction". In: A. Saxton (2004). "Genetic Analysis of Complex - Traits Using SAS".
-Johannes Forkman, Julie Josse, Hans-Peter Piepho (2019). - Hypothesis Tests for Principal Component Analysis When Variables are Standardized. - JABES https://doi.org/10.1007/s13253-019-00355-5
- --# \dontrun{ - -library(agridat) -data(kang.peanut) -dat <- kang.peanut - -# Table 5.1 of Kang et al. (Chapter 5 of Saxton) -libs(reshape2) -Y0 <- acast(dat, env~gen, value.var='yield', fun=mean) -round(Y0,2) -#> Florman Tegua manf393 mf447 mf478 mf480 mf484 mf485 mf487 mf489 -#> E01 0.80 0.96 1.24 0.95 1.37 1.41 1.16 1.12 0.87 1.11 -#> E02 2.17 2.04 1.57 1.29 2.15 3.27 1.08 0.58 1.52 0.86 -#> E03 2.43 2.58 2.47 2.34 2.19 2.19 2.64 2.24 2.30 2.20 -#> E04 2.71 2.26 1.77 1.61 2.15 2.04 2.14 1.88 1.72 2.18 -#> E05 1.13 1.14 1.55 1.86 1.98 1.61 1.71 0.85 1.24 1.21 -#> E06 3.08 3.22 2.90 2.59 2.36 2.43 3.05 2.90 2.94 2.57 -#> E07 2.81 2.88 2.96 3.41 3.20 2.96 2.91 2.53 2.73 2.90 -#> E08 1.74 1.73 2.16 1.44 2.20 0.95 2.86 2.13 1.60 2.29 -#> E09 2.16 2.44 3.30 3.01 3.37 2.53 2.73 3.00 3.18 3.25 -#> E10 4.29 4.21 3.55 3.84 3.53 3.22 4.45 4.46 4.24 4.03 -#> E11 1.82 1.71 2.16 1.88 2.09 1.91 2.53 1.86 1.71 2.27 -#> E12 5.33 4.93 4.69 4.16 4.70 3.57 5.57 5.43 4.99 4.67 -#> E13 1.18 1.32 2.24 1.63 1.54 1.15 2.45 1.78 1.54 2.00 -#> E14 4.39 4.40 4.13 3.79 4.33 3.72 4.28 3.77 4.17 4.75 -#> E15 3.41 3.45 2.22 2.46 3.09 2.61 2.81 3.15 3.84 3.54-# GGE biplot of Kang, p. 82. -libs(gge) -m1 <- gge(dat, yield~gen*env, scale=FALSE) -biplot(m1, flip=c(1,1), main="kang.peanut - GGE biplot") --# Forkman 2019, fig 2 -# m2 <- gge(dat, yield~gen*env, scale=TRUE) -# biplot(m2, main="kang.peanut - GGE biplot") -# biplot(m2, comps=3:4, main="kang.peanut - GGE biplot") - -# } -
karcher.turfgrass.Rd
Turfgrass ratings for different treatments
-A data frame with 128 observations on the following 6 variables.
week
week number
rep
blocking factor
manage
management factor, 4 levels
nitro
nitrogen factor, 2 levels
rating
turfgrass rating, 4 ordered levels
count
number of samples for a given rating
Turf color was assessed on a scale of Poor, Average, Good, Excellent.
-The data are the number of times that a combination of management style - and nitrogen level received a particular rating across four replicates - and four sampling weeks. The eight treatments were in a completely - randomized design.
-Nitrogen level 1 is 2.5 g/m^2, level 2 is 5 g/m^2.
-Management 1 = N applied with no supplemental water injection.
-M2 = surface applied with supplemental water injection.
-M3 = nitrogen injected 7.6 cm deep
-M4 = nitrogen injected 12.7 cm deep.
-Schabenberger, Oliver and Francis J. Pierce. 2002. - Contemporary Statistical Models for the Plant and Soil - Sciences. CRC Press. Page 380.
- ---library(agridat) - -data(karcher.turfgrass) -dat <- karcher.turfgrass - -dat$rating <- ordered(dat$rating, levels=c('Poor','Average', 'Good','Excellent')) - -ftable(xtabs(~manage+nitro+rating, dat)) # Table 6.19 of Schabenberger -#> rating Poor Average Good Excellent -#> manage nitro -#> M1 N1 14 2 0 0 -#> N2 5 11 0 0 -#> M2 N1 15 1 0 0 -#> N2 8 8 0 0 -#> M3 N1 0 9 7 0 -#> N2 0 2 14 0 -#> M4 N1 1 12 3 0 -#> N2 0 4 11 1-# Probably would choose management M3, nitro N2 -mosaicplot(xtabs(count ~ manage + rating + nitro, dat), - shade=TRUE, dir=c('h','v','h'), - main="karcher.turfgrass - turfgrass ratings") --# Multinomial logistic model. Probit Ordered Logistic Regression. -libs(MASS) -m1 <- polr(rating ~ nitro*manage + week, dat, weights=count, Hess=TRUE, method='logistic') -summary(m1) -#> Call: -#> polr(formula = rating ~ nitro * manage + week, data = dat, weights = count, -#> Hess = TRUE, method = "logistic") -#> -#> Coefficients: -#> Value Std. Error t value -#> nitroN2 3.1565 0.8255 3.8235 -#> manageM2 -0.8728 1.0084 -0.8656 -#> manageM3 8.2088 1.2938 6.3448 -#> manageM4 6.8309 1.2595 5.4235 -#> week -1.0952 0.1823 -6.0080 -#> nitroN2:manageM2 0.2618 1.2318 0.2126 -#> nitroN2:manageM3 -0.7183 0.9831 -0.7307 -#> nitroN2:manageM4 0.5304 1.0120 0.5242 -#> -#> Intercepts: -#> Value Std. Error t value -#> Poor|Average -1.0751 0.7057 -1.5235 -#> Average|Good 5.4853 1.2123 4.5247 -#> Good|Excellent 11.6691 1.3628 8.5627 -#> -#> Residual Deviance: 247.6414 -#> AIC: 269.6414-# Try to match the "predicted marginal probability distribution" of -# Schabenberger table 6.20. He doesn't define "marginal". -# Are the interaction terms included before aggregation? -# Are 'margins' calculated before/after back-transforming? -# At what level is the covariate 'week' included? - -# Here is what Schabenberger presents: -## M1 M2 M3 M4 | N1 N2 -## Poor .668 .827 .001 .004 | .279 .020 -## Avg .330 .172 .297 .525 | .712 .826 -## Good .002 .001 .695 .008 | .008 .153 -## Exc .000 .000 .007 .003 | .001 .001 - -## We use week=3.5, include interactions, then average -newd <- expand.grid(manage=levels(dat$manage), nitro=levels(dat$nitro), week=3.5) -newd <- cbind(newd, predict(m1, newdata=newd, type='probs')) # probs) -print(aggregate( . ~ manage, data=newd, mean), digits=2) -#> manage nitro week Poor Average Good Excellent -#> 1 M1 1.5 3.5 0.6711 0.33 0.00109 2.3e-06 -#> 2 M2 1.5 3.5 0.7636 0.24 0.00059 1.2e-06 -#> 3 M3 1.5 3.5 0.0023 0.48 0.51504 4.2e-03 -#> 4 M4 1.5 3.5 0.0086 0.57 0.41908 3.5e-03## manage nitro week Poor Average Good Excellent -## 1 M1 1.5 3.5 0.67 0.33 0.0011 0.0000023 -## 2 M2 1.5 3.5 0.76 0.24 0.00059 0.0000012 -## 3 M3 1.5 3.5 0.0023 0.48 0.52 0.0042 -## 4 M4 1.5 3.5 0.0086 0.57 0.42 0.0035 - -
kayad.alfalfa.Rd
Yield monitor data for 4 cuttings of alfalfa in Saudi Arabia.
-data("kayad.alfalfa")- - -
A data frame with 8628 observations on the following 4 variables.
harvest
harvest number
lat
latitude
long
longitude
yield
yield, tons/ha
Data was collected from a 23.5 ha field of alfalfa in Saudia Arabia. - The field was harvested four consecutive times (H8 = 5 Dec 2013, H9 = 16 Feb 2014, H10 = 2 Apr 2014, H11 = 6 May 2014). - Data were collected using a geo-referenced yield monitor. - Supporting information contains yield monitor data for 4 hay harvests on a center-pivot field.
-# TODO: Normalize the yields for each harvest, then average together - # to create a productivity map. Two ways to normalize: - # Normalize to 0-100: ((mapValue - min) * 100) / (max - min) - # Standardize: ((mapValue - mean) / stdev) * 100
-Ahmed G. Kayad, et al. (2016). - Assessing the Spatial Variability of Alfalfa Yield Using Satellite Imagery and Ground-Based Data. - PLOS One, 11(6). - https://doi.org/10.1371/journal.pone.0157166
-None
- --# \dontrun{ - library(agridat) - data(kayad.alfalfa) - dat <- kayad.alfalfa - - # match Kayad table 1 stats - libs(dplyr) - dat <- group_by(dat, harvest) - summarize(dat, min=min(yield), max=max(yield), - mean=mean(yield), stdev=sd(yield), var=var(yield)) -#>#> # A tibble: 4 x 6 -#> harvest min max mean stdev var -#> <fct> <dbl> <dbl> <dbl> <dbl> <dbl> -#> 1 H10 0 6.68 2.86 1.24 1.55 -#> 2 H11 0 9.96 4.01 1.69 2.85 -#> 3 H8 0 5.86 2.32 1.01 1.03 -#> 4 H9 0.191 5.97 2.45 1.07 1.14- # Figure 4 of Kayad - libs(latticeExtra) - catcols <- c("#cccccc","#ff0000","#ffff00","#55ff00","#0070ff","#c500ff","#73004c") - levelplot(yield ~ long*lat |harvest, dat, - aspect=1, at = c(0,2,3,4,5,6,7,10), col.regions=catcols, - main="kayad.alfalfa", - prepanel=prepanel.default.xyplot, - panel=panel.levelplot.points) -- # Similar to Kayad fig 5. - ## levelplot(yield ~ long*lat |harvest, dat, - ## prepanel=prepanel.default.xyplot, - ## panel=panel.levelplot.points, - ## col.regions=pals::brewer.reds) - -# } -
keen.potatodamage.Rd
Damage to potato tubers from lifting rods.
-data("keen.potatodamage")
A data frame with 1152 observations on the following 6 variables.
energy
energy factor
weight
weight class
gen
genotype/variety factor
rod
rod factor
damage
damage category
count
count of tubers in each combination of categories
Experiments performed at Wageningen, Netherlands.
-Potatoes can be damaged by the lifter. In this experiment, eight - types of lifting rod were compared. Two energy levels, six - genotypes/varieties and three weight classes were used. - Most combinations of treatments involved about 20 potato tubers. - Tubers were rated as undamaged (D1) to severely damaged (D4).
-The main interest is in differences between rods, and not in - interactions. The other factors (besides rod) were introduced to - create variety in experimental conditions and are not of interest.
-Keen and Engle estimated the following rod effects.
-# Rod: 1 2 3 4 5 6 7 8
-# Effect: 0 -1.26 -0.42 0.55 -1.50 -1.85 -1.76 -2.09
-Used with permission of Bas Engel.
-A. Keen and B. Engel. - Analysis of a mixed model for ordinal data by iterative re-weighted REML. - Statistica Neerlandica, 51, 129--144. Table 2. - https://doi.org/10.1111/1467-9574.00044
-R. Larsson & Jesper Ryden (2021). - Applications of discrete factor analysis. - Communications in Statistics - Simulation and Computation. - https://doi.org/10.1080/03610918.2021.1964528
-# \dontrun{
-
-library(agridat)
-
-data(keen.potatodamage)
-dat <- keen.potatodamage
-
-# Energy E1, Rod R4, Weight W1 have higher proportions of severe damage
-# Rod 8 has the least damage
-d2 <- xtabs(count~energy+rod+gen+weight+damage, data=dat)
-mosaicplot(d2, color=c("lemonchiffon1","moccasin","lightsalmon1","indianred"),
- xlab="Energy / Genotype", ylab="Rod / Weight", main="keen.potatodamage")
-
-
-
-# Not run because CRAN prefers examples less than 5 seconds.
-libs(ordinal)
-#>
-#> Attaching package: 'ordinal'
-#> The following objects are masked from 'package:lme4':
-#>
-#> VarCorr, ranef
-#> The following objects are masked from 'package:nlme':
-#>
-#> VarCorr, ranef
-#> The following object is masked from 'package:dplyr':
-#>
-#> slice
-# Note, the clmm2 function can have only 1 random term. Results are
-# similar to Keen & Engle, but necessarily different (they had multiple
-# random terms).
-m1 <- clmm2(damage ~ rod + energy + gen + weight, data=dat,
- weights=count, random=rod:energy, link='probit')
-#> Warning: clmm2 may not have converged:
-#> optimizer 'ucminf' terminated with max|gradient|: 6.24989053934658e-05
-round(coef(m1)[4:10],2)
-#> rodR2 rodR3 rodR4 rodR5 rodR6 rodR7 rodR8
-#> -1.19 -0.41 0.50 -1.46 -1.73 -1.67 -1.99
-## rodR2 rodR3 rodR4 rodR5 rodR6 rodR7 rodR8
-## -1.19 -0.41 0.50 -1.46 -1.73 -1.67 -1.99
-
-# Alternative
-# m2 <- clmm(damage ~ rod + energy + gen + weight +
-# (1|rod:energy), data=dat, weights=count, link='probit')
-
-# }
-
kempton.barley.uniformity.Rd
Uniformity trial of barley at Cambridge, England, 1978.
-A uniformity trial of spring barley planted in 1978. Conducted by the - Plant Breeding Institute in Cambridge, England.
-Each plot is 5 feet wide, 14 feet long.
-Field width: 7 plots * 14 feet = 98 feet
-Field length: 28 plots * 5 feet = 140 feet
-A data frame with 196 observations on the following 3 variables.
row
row
col
column
yield
grain yield, kg
R. A. Kempton and C. W. Howes (1981). - The use of neighbouring plot values in the analysis of variety trials. - Applied Statistics, 30, 59--70. - https://doi.org/10.2307/2346657
-McCullagh, P. and Clifford, D., (2006). - Evidence for conformal invariance of crop yields, - Proceedings of the Royal Society A: Mathematical, Physical and - Engineering Science. 462, 2119--2143. - https://doi.org/10.1098/rspa.2006.1667
- --# \dontrun{ - - library(agridat) - data(kempton.barley.uniformity) - dat <- kempton.barley.uniformity - - libs(desplot) - desplot(dat, yield~col*row, - aspect=140/98, tick=TRUE, # true aspect - main="kempton.barley.uniformity") -- - # Kempton estimated auto-regression coefficients b1=0.10, b2=0.91 - - dat <- transform(dat, xf = factor(col), yf=factor(row)) - - # ---------- - - libs(asreml,lucid) # asreml4 - - dat <- transform(dat, xf = factor(col), yf=factor(row)) - m1 <- asreml(yield ~ 1, data=dat, resid = ~ar1(xf):ar1(yf)) -#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:08:48 2021 -#> LogLik Sigma2 DF wall cpu -#> 1 138.768 0.0880303 195 17:08:48 0.0 (1 restrained) -#> 2 190.210 0.0624855 195 17:08:48 0.0 -#> 3 224.660 0.0667102 195 17:08:48 0.0 -#> 4 230.382 0.0828740 195 17:08:48 0.0 -#> 5 231.397 0.0999127 195 17:08:48 0.0 -#> 6 231.425 0.1038940 195 17:08:48 0.0 -#> 7 231.425 0.1043644 195 17:08:48 0.0- # vc(m1) - ## effect component std.error z.ratio bound - ## xf:yf!R 0.1044 0.02197 4.7 P 0 - ## xf:yf!xf!cor 0.2458 0.07484 3.3 U 0 - ## xf:yf!yf!cor 0.8186 0.03821 21 U 0 - - # asreml estimates auto-regression correlations of 0.25, 0.82 - # Kempton estimated auto-regression coefficients b1=0.10, b2=0.91 - - # ---------- - - if(0){ - # Kempton defines 4 blocks, randomly assigns variety codes 1-49 in each block, fits - # RCB model, computes mean squares for variety and residual. Repeat 40 times. - # Kempton's estimate: variety = 1032, residual = 1013 - # Our estimate: variety = 825, residual = 1080 - fitfun <- function(dat){ - dat <- transform(dat, block=factor(ceiling(row/7)), - gen=factor(c(sample(1:49),sample(1:49),sample(1:49),sample(1:49)))) - m2 <- lm(yield*100 ~ block + gen, dat) - anova(m2)[2:3,'Mean Sq'] - } - set.seed(251) - out <- replicate(50, fitfun(dat)) - rowMeans(out) # 826 1079 - } - - -# } -
kempton.competition.Rd
Yield of sugar beets for 36 varieties in a 3-rep RCB experiment. - Competition effects are present.
-A data frame with 108 observations on the following 5 variables.
gen
genotype, 36 levels
rep
rep, 3 levels
row
row
col
column
yield
yield, kg/plot
Entries are grown in 12m rows, 0.5m apart. Guard rows were grown - alongside replicate boundaries, but yields of these plots are not - included.
-R Kempton, 1982. - Adjustment for competition between varieties in plant breeding trials, - Journal of Agricultural Science, 98, 599-611. - https://doi.org/10.1017/S0021859600054381
- --# \dontrun{ - -library(agridat) - -data(kempton.competition) -dat <- kempton.competition - -# Raw means in Kempton table 2 -round(tapply(dat$yield, dat$gen, mean),2) -#> G01 G02 G03 G04 G05 G06 G07 G08 G09 G10 G11 G12 G13 -#> 6.57 14.70 3.73 18.70 6.17 8.80 10.20 4.57 8.67 16.63 7.77 6.07 14.07 -#> G14 G15 G16 G17 G18 G19 G20 G21 G22 G23 G24 G25 G26 -#> 12.17 15.67 11.93 19.60 11.63 13.50 6.43 8.47 15.97 18.07 15.33 6.03 6.13 -#> G27 G28 G29 G30 G31 G32 G33 G34 G35 G36 -#> 11.87 12.20 22.03 15.07 13.60 14.70 13.67 16.27 5.40 8.43-# Fixed genotype effects, random rep effects, -# Autocorrelation of neighboring plots within the same rep, phi = -0.22 -libs(nlme) -m1 <- lme(yield ~ -1+gen, random=~1|rep, data=dat, - corr=corAR1(form=~col|rep)) -# Lag 1 autocorrelation is negative--evidence of competition -plot(ACF(m1), alpha=.05, grid=TRUE, main="kempton.competition", - ylab="Autocorrelation between neighborning plots") -#> genG01 genG02 genG03 genG04 genG05 genG06 genG07 genG08 genG09 genG10 genG11 -#> 7.29 14.69 4.44 17.67 5.88 8.69 10.11 4.20 8.66 17.23 8.30 -#> genG12 genG13 genG14 genG15 genG16 genG17 genG18 genG19 genG20 genG21 genG22 -#> 6.49 13.94 11.97 15.60 12.07 19.50 12.15 13.38 6.69 8.55 15.87 -#> genG23 genG24 genG25 genG26 genG27 genG28 genG29 genG30 genG31 genG32 genG33 -#> 17.86 15.00 6.70 7.08 11.68 12.52 21.71 14.11 12.81 14.93 12.92 -#> genG34 genG35 genG36 -#> 16.60 5.68 8.79-# } -
kempton.rowcol.Rd
Row-column experiment of wheat, 35 genotypes, 2 reps.
-A data frame with 68 observations on the following 5 variables.
rep
replicate factor, 2 levels
row
row
col
column
gen
genotype factor, 35 levels
yield
yield
Included to illustrate REML analysis of a row-column design.
-R A Kempton and P N Fox, - Statistical Methods for Plant Variety Evaluation, - Chapman and Hall, 1997.
- --# \dontrun{ - -library(agridat) -data(kempton.rowcol) -dat <- kempton.rowcol -dat <- transform(dat, rowf=factor(row), colf=factor(col)) - -libs(desplot) -desplot(dat, yield~col*row|rep, - num=gen, out1=rep, # unknown aspect - main="kempton.rowcol") -- -# Model with rep, row, col as random. Kempton, page 62. -# Use "-1" so that the vcov matrix doesn't include intercept -libs(lme4) -m1 <- lmer(yield ~ -1 + gen + rep + (1|rep:rowf) + (1|rep:colf), data=dat) - -# Variance components match Kempton. -print(m1, corr=FALSE) -#> Linear mixed model fit by REML ['lmerMod'] -#> Formula: yield ~ -1 + gen + rep + (1 | rep:rowf) + (1 | rep:colf) -#> Data: dat -#> REML criterion at convergence: 70.0235 -#> Random effects: -#> Groups Name Std.Dev. -#> rep:colf (Intercept) 0.4387 -#> rep:rowf (Intercept) 0.2531 -#> Residual 0.3002 -#> Number of obs: 68, groups: rep:colf, 14; rep:rowf, 10 -#> Fixed Effects: -#> genG01 genG02 genG03 genG04 genG05 genG06 genG07 genG08 genG09 genG10 -#> 4.203 3.304 4.487 2.910 3.785 4.799 4.474 3.991 3.739 3.717 -#> genG11 genG12 genG13 genG14 genG15 genG16 genG17 genG18 genG19 genG20 -#> 4.320 4.335 4.071 4.154 2.605 3.344 3.542 3.953 5.059 3.708 -#> genG21 genG22 genG23 genG24 genG25 genG26 genG27 genG28 genG29 genG30 -#> 3.982 3.401 2.813 3.277 4.029 3.148 4.089 3.682 3.183 3.342 -#> genG31 genG32 genG33 genG34 genG35 repR2 -#> 3.248 3.652 4.303 3.687 2.991 1.222-# Standard error of difference for genotypes. Kempton page 62, bottom. -covs <- as.matrix(vcov(m1)[1:35, 1:35]) -vars <- diag(covs) -vdiff <- outer(vars, vars, "+") - 2 * covs -sed <- sqrt(vdiff[upper.tri(vdiff)]) -min(sed) # Minimum SED -#> [1] 0.35107#> [1] 0.3853689#> [1] 0.5357671-# } -
kempton.slatehall.Rd
Yields for a Slate Hall Farm 1976 spring wheat trial.
-A data frame with 150 observations on the following 5 variables.
rep
rep, 6 levels
row
row
col
column
gen
genotype, 25 levels
yield
yield (grams/plot)
The trial was a balanced lattice with 25 varieties in 6 replicates, - 10 ranges of 15 columns. The plot size was 1.5 meters by 4 meters. - Each row within a rep is an (incomplete) block.
-Field width: 15 columns * 1.5m = 22.5m
-Field length: 10 ranges * 4m = 40m
-R A Kempton and P N Fox. (1997). - Statistical Methods for Plant Variety Evaluation, - Chapman and Hall. Page 84.
-Julian Besag and David Higdon. 1993. - Bayesian Inference for Agricultural Field Experiments. - Bull. Int. Statist. Table 4.1.
-Gilmour, Arthur R and Robin Thompson and Brian R Cullis. (1994). - Average Information REML: An Efficient Algorithm for Variance - Parameter Estimation in Linear Mixed Models, Biometrics, - 51, 1440-1450.
- --# \dontrun{ - - library(agridat) - data(kempton.slatehall) - dat <- kempton.slatehall - - # Besag 1993 figure 4.1 (left panel) - libs(desplot) - grays <- colorRampPalette(c("#d9d9d9","#252525")) - desplot(dat, yield ~ col * row, - aspect=40/22.5, # true aspect - num=gen, out1=rep, col.regions=grays, # unknown aspect - main="kempton.slatehall - spring wheat yields") -- # ---------- - - # Incomplete block model of Gilmour et al 1995 - libs(lme4, lucid) - dat <- transform(dat, xf=factor(col), yf=factor(row)) - m1 <- lmer(yield ~ gen + (1|rep) + (1|rep:yf) + (1|rep:xf), data=dat) - vc(m1) -#> grp var1 var2 vcov sdcor -#> rep:xf (Intercept) <NA> 14810 121.7 -#> rep:yf (Intercept) <NA> 15600 124.9 -#> rep (Intercept) <NA> 4263 65.29 -#> Residual <NA> <NA> 8062 89.79## groups name variance stddev - ## rep:xf (Intercept) 14810 121.7 - ## rep:yf (Intercept) 15600 124.9 - ## rep (Intercept) 4262 65.29 - ## Residual 8062 89.79 - - - # ---------- - - # asreml3 & asreml4 - libs(asreml,lucid) - - # Incomplete block model of Gilmour et al 1995 - dat <- transform(dat, xf=factor(col), yf=factor(row)) - m2 <- asreml(yield ~ gen, random = ~ rep/(xf+yf), data=dat) -#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Fri Dec 11 17:48:28 2020 -#> LogLik Sigma2 DF wall cpu -#> 1 -734.184 26778.41 125 17:48:28 0.0 -#> 2 -720.066 16594.96 125 17:48:28 0.0 -#> 3 -711.122 11175.53 125 17:48:28 0.0 -#> 4 -708.253 8997.74 125 17:48:28 0.0 -#> 5 -707.791 8149.58 125 17:48:28 0.0 -#> 6 -707.786 8062.41 125 17:48:28 0.0- vc(m2) -#> effect component std.error z.ratio bound %ch -#> rep 4263 6877 0.62 P 0.4 -#> rep:yf 15600 5090 3.1 P 0 -#> rep:xf 14810 4866 3 P 0 -#> units!R 8062 1341 6 P 0## effect component std.error z.ratio constr - ## rep!rep.var 4262 6890 0.62 pos - ## rep:xf!rep.var 14810 4865 3 pos - ## rep:yf!rep.var 15600 5091 3.1 pos - ## R!variance 8062 1340 6 pos - - # Table 4 - # asreml3 - # predict(m2, data=dat, classify="gen")$predictions$pvals - # asreml4 - # predict(m2, data=dat, classify="gen")$pvals - -# } -
kenward.cattle.Rd
Repeated measurements of the weights of calves from a trial on the - control of intestinal parasites.
-data("kenward.cattle")- - -
A data frame with 660 observations on the following 4 variables.
animal
animal factor
trt
treatment factor, A or B
day
day, numberic, 0-133
weight
bodyweight, kg
Grazing cattle can ingest larvae, which deprives the host animal of - nutrients and weakens the immune system, affecting the growth of the - animal.
-Two treatments A and B were applied randomly to 60 animals - (30 each in two groups) to control the disease.
-Each animal was weighed 11 times at two-week intervals (one week - between the final two measurements).
-Is there a difference in treatments, and when does that difference - first become manifest?
-Kenward, Michael G. (1987). - A Method for Comparing Profiles of Repeated Measurements. - Applied Statistics, 36, 296-308. Table 1. - https://doi.org/10.2307/2347788
-W. Zhang, C. Leng and C. Y. Tang (2015). - A joint modelling approach for longitudinal studies - J. R. Statist. Soc. B, 77 (2015), 219--238. - https://doi.org/10.1111/rssb.12065
- --# \dontrun{ - - library(agridat) - data(kenward.cattle) - dat <- kenward.cattle - - # Profile plots - libs(lattice) - foo1 <- xyplot(weight~day|trt, data=dat, type='l', group=animal, - xlab="Day", ylab="Animal weight", main="kenward.cattle") - print(foo1) -- # ---------- - - # lme4. Fixed treatment intercepts, treatment polynomial trend. - # Random deviation for each animal - libs(lme4) - m1a <-lmer(weight ~ trt*poly(day, 4) + (1|animal), data=dat, - REML = FALSE) - # Change separate polynomials into common polynomial - m1b <-lmer(weight ~ trt + poly(day, 4) + (1|animal), data=dat, - REML = FALSE) - # Drop treatment differences - m1c <-lmer(weight ~ poly(day, 4) + (1|animal), data=dat, - REML = FALSE) - anova(m1a, m1b, m1c) # Significant differences between trt polynomials -#> Data: dat -#> Models: -#> m1c: weight ~ poly(day, 4) + (1 | animal) -#> m1b: weight ~ trt + poly(day, 4) + (1 | animal) -#> m1a: weight ~ trt * poly(day, 4) + (1 | animal) -#> npar AIC BIC logLik deviance Chisq Df Pr(>Chisq) -#> m1c 7 4901.2 4932.6 -2443.6 4887.2 -#> m1b 8 4903.0 4938.9 -2443.5 4887.0 0.2047 1 0.6509 -#> m1a 12 4885.7 4939.6 -2430.9 4861.7 25.2640 4 4.452e-05 *** -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1- # Overlay polynomial predictions on plot - libs(latticeExtra) - dat$pred <- predict(m1a, re.form=NA) - foo1 + xyplot(pred ~ day|trt, data=dat, - lwd=2, col="black", type='l') -- # A Kenward-Roger Approximation and Parametric Bootstrap - # libs(pbkrtest) - # KRmodcomp(m1b, m1c) # Non-signif - # Model comparison of nested models using parametric bootstrap methods - # PBmodcomp(m1b, m1c, nsim=500) - ## Parametric bootstrap test; time: 13.20 sec; samples: 500 extremes: 326; - ## large : weight ~ trt + poly(day, 4) + (1 | animal) - ## small : weight ~ poly(day, 4) + (1 | animal) - ## stat df p.value - ## LRT 0.2047 1 0.6509 - ## PBtest 0.2047 0.6527 - - # ----------- - - # asreml3 & asreml4 - - # ASREML approach to model. Not final by any means. - # Maybe a spline curve for each treatment, plus random deviations for each time - libs(asreml) - m1 <- asreml(weight ~ 1 + lin(day) + # overall line - trt + trt:lin(day), # different line for each treatment - data=dat, - random = ~ spl(day) + # overall spline - trt:spl(day) + # different spline for each treatment - dev(day) + trt:dev(day) ) # non-spline deviation at each time*trt -#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:08:49 2021 -#> Spline: design points closer than 0.0133 have been merged. -#> LogLik Sigma2 DF wall cpu -#> 1 -2194.744 261.768 656 17:08:49 0.0 (3 restrained) -#> 2 -2187.368 267.488 656 17:08:49 0.0 (2 restrained) -#> 3 -2186.465 267.804 656 17:08:49 0.0 (2 restrained) -#> 4 -2186.238 267.347 656 17:08:49 0.0 (2 restrained) -#> 5 -2186.185 267.055 656 17:08:49 0.0 (2 restrained) -#> 6 -2186.181 267.001 656 17:08:49 0.0#> Warning: Some components changed by more than 1% on the last iteration.#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:08:49 2021 -#> Spline: design points closer than 0.0133 have been merged. -#> LogLik Sigma2 DF wall cpu -#> 1 -2186.181 266.996 656 17:08:49 0.0 -#> 2 -2186.181 266.996 656 17:08:49 0.0 -#> 3 -2186.181 266.996 656 17:08:49 0.0p1 <- p1$pvals - - foo2 <- xyplot(predicted.value ~ day|trt, p1, type='l', lwd=2, lty=1, col="black") - - libs(latticeExtra) - print(foo1 + foo2) -- # Not much evidence for treatment differences - - # wald(m1) - ## Df Sum of Sq Wald statistic Pr(Chisq) - ## (Intercept) 1 37128459 139060 <2e-16 *** - ## trt 1 455 2 0.1917 - ## lin(day) 1 570798 2138 <2e-16 *** - ## trt:lin(day) 1 283 1 0.3031 - ## residual (MS) 267 - - # vc(m1) - ## effect component std.error z.ratio constr - ## spl(day) 25.29 24.09 1 pos - ## dev(day) 1.902 4.923 0.39 pos - ## trt:spl(day)!trt.var 0.00003 0.000002 18 bnd - ## trt:dev(day)!trt.var 0.00003 0.000002 18 bnd - ## R!variance 267 14.84 18 pos - -# } -
kerr.sugarcane.uniformity.Rd
Uniformity trials of sugarcane, 4 fields
-data("kerr.sugarcane.uniformity")- - -
A data frame with 564 observations on the following 4 variables.
row
row
col
column
yield
yield, pounds per plot
trial
trial number
Experiment conducted at the Sugar Experiment Station, Brisbane, Queensland, Australia in 1937.
-Four trials were harvested, each 12 plots by 12 plots, each plot 19 feet by 19 feet (one field used 18-foot plots).
-Trial 1 is plant cane.
-Trial 2 is ratoon cane.
-Trial 3 plant cane, irrigated.
-Trial 4 is ratoon cane, irrigated.
-Field length: 12 plots * 19 feet = 228 feet.
-Field width: 12 plots * 19 feet = 228 feet.
-H. W. Kerr (1939). Notes on plot technique. - Proc. Internat. Soc. Sugarcane Technol. 6, 764--778.
-None
- --# \dontrun{ - -library(agridat) -data(kerr.sugarcane.uniformity) -dat <- kerr.sugarcane.uniformity - -# match Kerr figure 4 -libs(desplot) -desplot(dat, yield ~ col*row|trial, - flip=TRUE, aspect=1, # true aspect - main="kerr.sugarcane.uniformity") --# CV matches Kerr table 2, page 768 -# aggregate(yield ~ trial, dat, FUN= function(x) round(100*sd(x)/mean(x),2)) -## trial yield -## 1 T1 7.95 -## 2 T2 9.30 -## 3 T3 10.37 -## 4 T4 13.76 - -# } -
khin.rice.uniformity.Rd
Uniformity trial of rice in Burma, 1948.
-data("khin.rice.uniformity")- - -
A data frame with 1080 observations on the following 3 variables.
row
row
col
column
yield
yield, oz/plot
A uniformity trial of rice. Conducted at the Mudon Agricultural - Station, Burma, in 1947-48. Basic plots were 3 feet square.
-Field width: 30 plots * 3 feet.
-Field length: 36 plots * 3 feet.
-Khin, San. 1950. - Investigation into the relative costs of rice experiments based on the - efficiency of designs. - Dissertation: Imperial College of Tropical Agriculture (ICTA). - Appendix XV. - https://hdl.handle.net/2139/42422
-None.
- --# \dontrun{ - -library(agridat) - - data(khin.rice.uniformity) - dat <- khin.rice.uniformity - - libs(desplot) - desplot(dat, yield ~ col*row, - flip=TRUE, - main="khin.rice.uniformity", - aspect=(36*3)/(30*3)) # true aspect --# } -
kiesselbach.oats.uniformity.Rd
Uniformity trial of oats at Nebraska in 1916.
-data("kiesselbach.oats.uniformity")- - -
A data frame with 207 observations on the following 3 variables.
row
row
col
column
yield
yield bu/ac
Experiment conducted in 1916. Crop was Kerson oats. Each plot covered 1/30th acre. - Oats were drilled in plats 66 inches wide by 16 rods long. The drill - was 66 inches wide. Plats were separated by a space of 16 inches - between outside drill rows.
-The source document includes three photographs of the field.
-1 acre = 43560 sq feet
-1/30 acre = 1452 sq feet = 16 rods * 16.5 ft/rod * 5.5 ft
-Field width: 3 plats * 16 rods/plat * 16.5 ft/rod = 792 feet
-Field length: 69 plats * 5.5 ft + 68 gaps * 1.33 feet = 469 feet
-Kiesselbach, Theodore A. (1917). - Studies Concerning the Elimination of Experimental Error in Comparative Crop Tests. - University of Nebraska Agricultural Experiment Station Research Bulletin No. 13. - Pages 51-72. - https://archive.org/details/StudiesConcerningTheEliminationOfExperimentalErrorInComparativeCrop - https://digitalcommons.unl.edu/extensionhist/430/
-None.
- --# \dontrun{ - -library(agridat) - - data(kiesselbach.oats.uniformity) - dat <- kiesselbach.oats.uniformity - - range(dat$yield) # 56.7 92.8 match Kiesselbach p 64. -#> [1] 56.7 92.8- libs(desplot) - desplot(dat, yield ~ col*row, - tick=TRUE, flip=TRUE, aspect=792/469, # true aspect - main="kiesselbach.oats.uniformity") --# } -
kreusler.maize.Rd
Growth of maize plants in Germany during 1875-1878.
-data("kreusler.maize")- - -
A data frame with 165 observations on the following 17 variables.
gen
genotype
year
year
date
calendar date
raindays
number of days of rain per week (zahl der regenstage)
rain
rain amount (mm)
temp
temperature mean (deg C) (temperatur mittel)
parentseed
weight of parent seed (g) (alte korner)
roots
weight of roots (g) (wurzel)
leaves
weight of leaves (g) (blatter)
stem
weight of stem (g) (stengel)
tassel
weight of tassel (g) (blutenstande)
grain
weight of grain (korner)
plantweight
weight of entire plant (ganze pflanze)
plantheight
plant height (cm) (mittlere hohe der pflanzen)
leafcount
number of leaves (anzahl der blatter)
leafarea
leaf area (cm^2) (flachenmaass der blatter)
Experiments were performed at Poppelsdorf, Germany (near Bonn) during -the years 1875 to 1878. Observations were collected weekly throughout -the growing season.
-Five varieties were grown in 1875. Two in 1876, and one in 1877 and 1878.
-The plants were selected by eye as representative, with the number of -plants chosen decreasing during the growing season. For example, the -dry-weight data was based on the following number of plants:
-In 1875 the number sampled began at 20 and dropped to 10.
-In 1876 the number sampled began at 45 and dropped to 24.
-In 1877 the number sampled began at 90 and dropped to 36.
-In 1878 the number sampled began at 120 and dropped to 40.
-Most of the observations included fresh weight and dry weight of entire -plants, along with leaf area, date of inflorescence, fertilization, and -kernel development.
-The data of Hornberger 71 are the same as Kreusler/Hornberger, but more -complete.
-The temperature data was originally given in degrees Reaumur in 1875 and -1876, and degrees Celsius in 1877 and 1878. All temperatures in this -data are degrees Celsius. Note: deg C = 1.25 deg R. Briggs, Kidd & -West (1920) give all temperature in Celsius.
-The 1875-1876 data are from:
-A. Prehn & G. Becker. (1878) - Jahresbericht fur Agrikultur-chemie, Vol 20, p. 216-220. - https://books.google.com/books?id=ZfxNAAAAYAAJ&pg=216
-The 1877 data are from:
-A. Kreusler, A. Prehn, Hornberger. (1880) - Jahresbericht fur Agrikultur-Chemie, Vol 21, p 248. - https://books.google.com/books?id=U3IYAQAAIAAJ&pg=248
-The 1878 data are from:
-U. Kreusler, A. Prehn, R. Hornberger. (1880). - Jahresbericht fur Agrikultur-Chemie, Vol 22, p. 211. - https://books.google.com/books?id=9HIYAQAAIAAJ&pg=211
-Dry plant weight and leaf area for all genotypes and years are - repeated by:
-G. E. Briggs, Franklin Kidd, Cyril West. (1920). - A Quantitative Analysis of Plant Growth. Part I. - Annals of Applied Biology, 7, 103-123.
-G. E. Briggs, Franklin Kidd, Cyril West. (1920). - A Quantitative Analysis of Plant Growth. Part II. - Annals of Applied Biology, 7, 202-223.
-Roderick Hunt, G. Clifford Evans. 1980. - Classical Data on the Growth of Maize: Curve Fitting With Statistical Analysis. - New Phytol, 86, 155-180.
- ---data(kreusler.maize) -dat <- kreusler.maize -dat$date2 <- as.Date(dat$date,"%d %b %Y") -dat$doy <- as.numeric(strftime(dat$date2, format="%j")) - -# Hunt & Evans Fig 2a -libs(lattice) -xyplot(log10(plantweight)~doy|factor(year), data=dat, group=gen, - type=c('p','smooth'), span=.4, as.table=TRUE, - xlab="Day of year", main="kreusler.maize - growth of maize", - auto.key=list(columns=5)) --# \dontrun{ - -# Hunt & Evans Fig 2b -xyplot(log10(plantweight)~doy|gen, data=dat, group=factor(year), - type=c('p','smooth'), span=.5, as.table=TRUE, - xlab="Day of year", - auto.key=list(columns=4)) -# Hunt & Evans Fig 3a -xyplot(log10(leafarea)~doy|factor(year), data=dat, group=gen, - type=c('p','smooth'), span=.5, as.table=TRUE, - xlab="Day of year", - auto.key=list(columns=5)) -# Hunt & Evans Fig 3a -xyplot(log10(leafarea)~doy|gen, data=dat, group=factor(year), - type=c('p','smooth'), span=.5, as.table=TRUE, - xlab="Day of year", - auto.key=list(columns=4)) --# All traits - -xyplot(raindays~doy|factor(year), data=dat, group=gen, - type='l', auto.key=list(columns=5), as.table=TRUE, layout=c(1,4)) -xyplot(rain~doy|factor(year), data=dat, group=gen, - type='l', auto.key=list(columns=5), as.table=TRUE, layout=c(1,4)) -xyplot(temp~doy|factor(year), data=dat, group=gen, - type='l', auto.key=list(columns=5), as.table=TRUE, layout=c(1,4)) -xyplot(parentseed~doy|factor(year), data=dat, group=gen, - type='l', auto.key=list(columns=5), as.table=TRUE, layout=c(1,4)) -xyplot(roots~doy|factor(year), data=dat, group=gen, - type='l', auto.key=list(columns=5), as.table=TRUE, layout=c(1,4)) -xyplot(leaves~doy|factor(year), data=dat, group=gen, - type='l', auto.key=list(columns=5), as.table=TRUE, layout=c(1,4)) -xyplot(stem~doy|factor(year), data=dat, group=gen, - type='l', auto.key=list(columns=5), as.table=TRUE, layout=c(1,4)) -xyplot(grain~doy|factor(year), data=dat, group=gen, - type='l', auto.key=list(columns=5), as.table=TRUE, layout=c(1,4)) -xyplot(plantweight~doy|factor(year), data=dat, group=gen, - type='l', auto.key=list(columns=5), as.table=TRUE, layout=c(1,4)) -xyplot(plantheight~doy|factor(year), data=dat, group=gen, - type='l', auto.key=list(columns=5), as.table=TRUE, layout=c(1,4)) -xyplot(leafcount~doy|factor(year), data=dat, group=gen, - type='l', auto.key=list(columns=5), as.table=TRUE, layout=c(1,4)) -xyplot(leafarea~doy|factor(year), data=dat, group=gen, - type='l', auto.key=list(columns=5), as.table=TRUE, layout=c(1,4)) -xyplot(tassel~doy|factor(year), data=dat, group=gen, - type='l', auto.key=list(columns=5), as.table=TRUE, layout=c(1,4)) -# } - -
kristensen.barley.uniformity.Rd
Uniformity trial of barley conducted in Denmark, 1905.
-data("kristensen.barley.uniformity")- - -
A data frame with 718 observations on the following 3 variables.
row
row
col
column
yield
yield, hectograms/plot
Experiment conducted in 1905 at Askov, Denmark. Harvested plot size was - 10 x 14 'alen', 6.24 x 8.79 meters. The soil was uniform, but an - attack of mildew spread from an adjacent field. Yield is measured in - hectograms/plot for straw and grain together. (Page 468).
-Orientation of the plots dimensions is not clear from the text, but - the aspect used in the example below aligns well with Kristensen - figure 1.
-Field width: 22 plots * 8.79 m
-Field length: 11 plots * 6.24 m
-Notes from Kristensen: Fig 5 is a 3x3 moving average, Fig 6 is - deviation from the trend, Fig 7 is the field average added to the - deviation. Fig 13 is another uniformity trial of barley in 1924, Fig - 14 is a uniformity trial of oats in 1924.
-R. K. Kristensen (1925). - Anlaeg og Opgoerelse af Markforsoeg. - Tidsskrift for landbrugets planteavl, Vol 31, 464-494. - Fig 1, pg. 467. - https://dca.au.dk/publikationer/historiske/planteavl/
-J. Neyman, K. Iwaszkiewicz, St. Kolodziejczyk. (1935). - Statistical Problems in Agricultural Experimentation. - Supplement to the Journal of the Royal Statistical Society, - Vol. 2, No. 2 (1935), pp. 107-180. - https://doi.org/10.2307/2983637
- --# \dontrun{ - -library(agridat) -data(kristensen.barley.uniformity) -dat <- kristensen.barley.uniformity - -libs(desplot) -desplot(dat, yield ~ col*row, - flip=TRUE, aspect=(11*6.24)/(22*8.79), - main="kristensen.barley.uniformity") --# } -
kulkarni.sorghum.uniformity.Rd
Uniformity trial of sorghum in India, 3 years on the same plots 1930-1932.
-data("kulkarni.sorghum.uniformity")- - -
A data frame with 480 observations on the following 4 variables.
row
row
col
column
yield
grain yield, tolas per plot
year
year
The experiment was conducted in the Sholapur district in India for - three consecutive years in 1930-1932.
-One acre of land (290 ft x 150 ft) was chosen in the midst of a bigger area - (plot 13 on the Mohol Plot) for sowing to sorghum. It was harvested in plots of 1/160 acre - (72 ft 6 in x 3 ft 9 in) each containing three rows of plants 15 in. apart. - The 160 plots were arranged in forty rows of four columns, and the yields were - measured in tolas. The plot division was kept intact for three years, and the - yields of the 160 plots are available for three consecutive harvests. The original - data are given in Appendix I.
-Field width: 4 plots * 72.5 feet = 290 feet
-Field length: 40 plots * 3.75 feet = 150 feet
-Conclusions: "Thus, highly narrow strips of plots (length much greater than breadth) lead - to greater precision than plots of same area but much wider and not so narrow."
-Correlation of plots from year to years was low.
-Kulkarni, R. K., Bose, S. S., and Mahalanobis, P. C. (1936). - The influence of shape and size of plots on the effective precision of field experiments with sorghum. - Indian J. Agric. Sci., 6, 460-474. Appendix 1, page 172. - https://archive.org/details/in.ernet.dli.2015.271737
-None.
- --# \dontrun{ - -library(agridat) - -data(kulkarni.sorghum.uniformity) -dat <- kulkarni.sorghum.uniformity - -# match means on page 462 -# tapply(dat$yield, dat$year, mean) -# 1930 1931 1932 -# 116.2875 67.2250 126.3688 - -libs(reshape2) -libs(lattice) -dmat <- acast(dat, row+col ~ year, value.var="yield") -splom(dmat, main="kulkarni.sorghum.uniformity") -#> 1930 1931 1932 -#> 1930 1.0000000 0.4192544 0.1683767 -#> 1931 0.4192544 1.0000000 0.2665319 -#> 1932 0.1683767 0.2665319 1.0000000-libs(desplot) -desplot(dat, yield ~ col*row|year, - flip=TRUE, aspect=150/290, - main="kulkarni.sorghum.uniformity") --# } -
lambert.soiltemp.Rd
Average monthly soil temperature near Zurich, at seven depths, - averaged over four years.
-A data frame with 84 observations on the following 3 variables.
month
month
depth
depth in soil (feet)
temp
temperature (the units are "du Crest")
This is one of the earliest time series in scientific literature.
-These data show the monthly soil temperature near Zurich, averaged - over four years (beginning in 1762), at 7 different depths.
-The temperature measurements are related to the 'du Crest' scale. - (The measurements do not seem to be exactly according to the du Crest - scale. If you can read German, use the Google books link to see if - you can figure out why.) Even the scale on Lambert's own graph - doesn't match the data.
-Greater depths show less variation and a greater lag in temperature - responsiveness to the air temperature.
-This data also appears in Pedometrics, issue 23, December 2007. But, - the formula for converting the temperature does not make sense and the - data in Table 1 do not directly match the corresponding figure.
-Johann Heinrich Lambert (1779), Pyrometrie. Page 358. - https://books.google.com/books?id=G5I_AAAAcAAJ&pg=PA358
-Graph: https://www.fisme.science.uu.nl/wiskrant/artikelen/hist_grafieken/begin/images/pyrometrie.gif
- ---library(agridat) -# Reproduce Lambert figure 39. - -data(lambert.soiltemp) -dat <- lambert.soiltemp - -# Make 3 cycles of the data so that the loess line bends back up at -# month 1 and month 12 -dat <- rbind(dat, transform(dat, month=month-12), - transform(dat, month=month+12)) -libs(lattice) -xyplot(temp ~ month, dat, group=depth, type=c('p','smooth'), - main="lambert.soiltemp", - xlim=c(-3,15), ylab="Soil temperature (du Crest) at depth (feet)", - span=.2, auto.key=list(columns=4)) --# To do: Find a good model for this data -
lander.multi.uniformity.Rd
Uniformity trials of wheat and chari, 4 years on the same land, in India.
-data("lander.multi.uniformity")- - -
A data frame with 780 observations on the following 5 variables.
row
row
col
column
yield
yield, maunds per plot
year
year
crop
crop
Note, "chari" in this paper is Andropogon Sorghum, and "wheat" - is Triticum vulgare.
-Uniformity trials carried out at Rawalpindi, India.
-The area consisted of 5 fields (D4,D5,D6,D7,D8), each 5 acres in - size. Each of these 5 fields was divided into three sub-divisions A, - B, C, by means of two strong bunds each 5 feet wide. These 3 - sub-divisions were divided into 5 blocks, each consisting of 13 - experimental plots with 14 non-experiment strips 5 feet wide - separating the plots from the other. The dimensions of the plot were - 207 ft 5 in by 19 ft 1 in.
-The same land was used for 4 consecutive crops. The first crop was - wheat, followed by chari/sorghum, followed by wheat 2 times.
-Field width: 207.42 * 5 plots = 1037.1 feet
-Field length: (19.08+5)*39 rows = 939.12 feet
-Conclusions: It is evident, therefore, that soil heterogenity as - revealed by any one crop cannot be a true index of the subsequent - behavior of that area with respect to other crops. Even the same crop - raised in different seasons has not shown any constancy as regards - soil heterogeneity.
-Lander, P. E. et al. (1938). - Soil Uniformity Trials in the Punjab I. - Ind. J. Agr. Sci. 8:271-307.
-None
- --# \dontrun{ - -library(agridat) -data(lander.multi.uniformity) -dat <- lander.multi.uniformity - -# Yearly means, similar to Lander table 7 -## filter(dat) -## 1 1929 18.1 -## 2 1930 58.3 -## 3 1931 22.8 -## 4 1932 14.1 - -# heatmaps for all years -libs(desplot) -dat$year <- factor(dat$year) -desplot(dat, yield ~ col*row|year, - flip=TRUE, aspect=(1037.1/939.12), - main="lander.multi.uniformity") --# } -
lasrosas.corn.Rd
Yield monitor data for a corn field in Argentina with variable nitrogen.
-data("lasrosas.corn")- - -
A data frame with 3443 observations on the following 8 variables.
year
year, 1999 or 2001
lat
latitude
long
longitude
yield
yield, quintals/ha
nitro
nitrogen fertilizer, kg/ha
topo
topographic factor
bv
brightness value (proxy for low organic matter content)
rep
rep factor
nf
nitrogen as a factor, N0-N4
Corn yield and nitrogen fertilizer treatment with field characteristics - for the Las Rosas farm, Rio Cuarto, Cordoba, Argentina.
-Data has 6 nitro treatments, 3 reps, in strips.
-Data collected using yield monitor, for harvests in 1999 and 2001.
-The points within each long strip have been averaged so that the - distance between points _within_ a strip is the same as the distance - _between_ strips (9.8 meters).
-The topographic factor a factor with levels W = West slope, HT = - Hilltop, E = East slope, LO = Low East.
-The 'rep' factor in this data was added by hand and did not appear in - the original data.
-Slightly different levels of nitrogen were used in the two years, so - the nitrogen factor 'nf' was created to have common levels across - years.
-Published descriptions of the data describe the experiment design as - having randomized nitrogen treatments. The nitrogen treatments were - randomized within one rep, but the same randomization was used in the - other two reps.
-Anselin et al. used corn grain price of $6.85/quintal and nitrogen - cost of $0.4348/kg.
-The corners of the field in 1999 are: - https://www.google.com/maps/place/-33.0501258,-63.8488636 - https://www.google.com/maps/place/-33.05229635,-63.84181819
-Anselin et al. found a significant response to nitrogen for slope. - However, Bongiovanni and Lowenberg-DeBoer (2002) found that slope - position was NOT significant in 2001.
- -Used with permission of the ASU GeoDa Center.
-The Las Rosas data files were obtained from - https://geodacenter.asu.edu/sdata - and converted from ESRI shape files to a flat data.frame.
-Bongiovanni and Lowenberg-DeBoer (2000). - Nitrogen management in corn with a spatial regression model. - Proceedings of the Fifth International Conference on Precision - Agriculture.
-Anselin, L., R. Bongiovanni, J. Lowenberg-DeBoer (2004). - A spatial econometric approach to the economics of site-specific - nitrogen management in corn production. - American Journal of Agricultural Economics, 86, 675--687. - https://doi.org/10.1111/j.0002-9092.2004.00610.x
-Lambert, Lowenberg-Deboer, Bongiovanni (2004). - A Comparison of Four Spatial Regression Models for Yield Monitor Data: - A Case Study from Argentina. - Precision Agriculture, 5, 579-600. - https://doi.org/10.1007/s11119-004-6344-3
-Suman Rakshit, Adrian Baddeley, Katia Stefanova, Karyn Reeves, Kefei - Chen, Zhanglong Cao, Fiona Evans, Mark Gibberd (2020). - Novel approach to the analysis of spatially-varying treatment effects - in on-farm experiments. - Field Crops Research, 255, 15 September 2020, 107783. - https://doi.org/10.1016/j.fcr.2020.107783
- --# \dontrun{ - -library(agridat) -data(lasrosas.corn) -dat <- lasrosas.corn - -# yield map -libs(lattice,latticeExtra) # for panel.levelplot.points -redblue <- colorRampPalette(c("firebrick", "lightgray", "#375997")) -levelplot(yield ~ long*lat|factor(year), data=dat, - main="lasrosas.corn grain yield", xlab="Longitude", ylab="Latitude", - scales=list(alternating=FALSE), - prepanel = prepanel.default.xyplot, - panel = panel.levelplot.points, - type = c("p", "g"), aspect = "iso", col.regions=redblue) -- -d1 <- subset(dat, year==1999) - -# Experiment design -xyplot(lat~long, data=d1, col=as.numeric(as.factor(d1$nitro)), pch=d1$topo, - main="lasrosas.corn experiment layout 1999") --# A quadratic response to nitrogen is suggested -xyplot(yield~nitro|topo, data=d1, type=c('p','smooth'), layout=c(4,1), - main="lasrosas.corn yield by topographic zone 1999") --# Full-field quadratic response to nitrogen. Similar to Bongiovanni 2000, -# table 1. -m1 <- lm(yield ~ 1 + nitro + I(nitro^2), data=d1, subset=year==1999) -coef(m1) -#> (Intercept) nitro I(nitro^2) -#> 59.2533084708 0.1130069973 -0.0003204139-# } -
lavoranti.eucalyptus.Rd
Height of Eucalyptus trees in southern Brazil
-A data frame with 490 observations on the following 4 variables.
gen
genotype (progeny) factor
origin
origin of progeny
loc
location
height
height, meters
The genotypes originated from three different locations in Queensland, - Australia, and were tested in southern Brazil. The experiment was - conducted as a randomized complete block design with 6 plants per plot - and 10 blocks. Mean tree height is reported.
-The testing locations are described in the following table:
Loc | City | Lat (S) | Long (W) | Altitude | Avg min temp | Avg max temp | Avg temp (C) | Precip (mm) |
L1 | Barra Ribeiro, RS | 30.33 | 51.23 | 30 | 9 | 25 | 19 | 1400 |
L2 | Telemaco Borba, PR | 24.25 | 20.48 | 850 | 11 | 26 | 19 | 1480 |
L3 | Boa Experanca de Sul, SP | 21.95 | 48.53 | 540 | 15 | 23 | 21 | 1300 |
L4 | Guanhaes, MG | 18.66 | 43 | 900 | 14 | 24 | 19 | 1600 |
L5 | Ipatinga, MG | 19.25 | 42.33 | 250 | 15 | 24 | 22 | 1250 |
L6 | Aracruz, ES | 19.8 | 40.28 | 50 | 15 | 26 | 24 | 1360 |
L7 | Cacapva, SP | 23.05 | 45.76 | 650 | 14 | 24 | 20 | 1260 |
Arciniegas-Alarcon (2010) used the 'Ravenshoe' subset of the data to - illustrate imputation of missing values.
-O J Lavoranti (2003). Estabilidade e adaptabilidade fenotipica - atraves da reamostragem bootstrap no modelo AMMI, PhD thesis, - University of Sao Paulo, Brazil.
-Arciniegas-Alarcon, S. and Garcia-Pena, M. and dos Santos Dias, - C.T. and Krzanowski, W.J. (2010). An alternative methodology for - imputing missing data in trials with genotype-by-environment - interaction, Biometrical Letters, 47, 1-14. - https://doi.org/10.2478/bile-2014-0006
- --# \dontrun{ - -# Arciniegas-Alarcon et al use SVD and regression to estimate missing values. -# Partition the matrix X as a missing value xm, row vector xr1, column -# vector xc1, and submatrix X11 -# X = [ xm xr1 ] -# [ xc1 X11 ] and let X11 = UDV'. -# Estimate the missing value xm = xr1 V D^{-1} U' xc1 - -data(lavoranti.eucalyptus) -dat <- lavoranti.eucalyptus - -libs(lattice) -levelplot(height~loc*gen, dat, main="lavoranti.eucalyptus - GxE heatmap") --dat <- droplevels(subset(dat, origin=="Ravenshoe")) -libs(reshape2) -dat <- acast(dat, gen~loc, value.var='height') - -dat[1,1] <- NA -x11 <- dat[-1,][,-1] -X11.svd <- svd(x11) -xc1 <- dat[-1,][,1] -xr1 <- dat[,-1][1,] -xm <- xr1 -xm # = 18.29, Original value was 17.4 -#> L2 L3 L4 L5 L6 L7 -#> 25.00 18.67 20.61 13.88 19.84 14.72-# } -
laycock.tea.uniformity.Rd
Uniformity trials of tea
-data("laycock.tea.uniformity")- - -
A data frame with 54 observations on the following 4 variables.
loc
location, L1 or L2
row
row
col
column
yield
yield
Actual physical dimensions for the tea shrubs are not given, so we use
- an estimate of four feet square for each shrub (which is similar to
- the eden.tea.uniformity
experiment).
Location 1 (Laycock, page 108) is at the Research Station, - Nyasaland. Plots were 10 by 15 bushes, harvested 23 times in 1942.
-Field length: 8 plots * 10 bushes * 4 feet = 320 feet.
-Field width: 4 plots * 15 bushes * 4 feet = 240 feet.
-Location 2 (Laycock page 110) is at Mianga Estate, Nyasaland. Plots - were 9 by 11 bushes, harvested 18 times in 1951/52.
-Field length: 9 plots * 9 bushes * 4 feet = 324 feet.
-Field width: 6 plots * 11 bushes * 4 feet = 264 feet.
-Laycock, D. H. (1955). - The effect of plot shape in reducing the errors of tea experiments. - Tropical Agriculture, 32, 107-114.
-Zimmerman, Dale L., and David A. Harville. (1991). - A random field approach to the analysis of field-plot experiments - and other spatial experiments. - Biometrics, 47, 223-239.
- --# \dontrun{ - -library(agridat) - -data(laycock.tea.uniformity) -dat <- laycock.tea.uniformity - -libs(desplot) -desplot(dat, yield ~ col*row|loc, - flip=TRUE, aspect=322/252, # average of 2 locs - main="laycock.tea.uniformity") --# } - -
lee.potatoblight.Rd
Repeated measurements of resistance to potato blight.
-data("lee.potatoblight")- - -
A data frame with 14570 observations on the following 7 variables.
year
planting year
gen
genotype / cultivar factor
col
column
row
row
rep
replicate block (numeric)
date
date for data collection
y
score 1-9 for blight resistance
These data werre collected from biennial screening trials conducted by -the New Zealand Institute of Crop and Food Research at the Pukekohe -Field Station. The trials evaluate the resistance of potato cultivars -to late blight caused by the fungus Phytophthora infestans. In -each trial, the damage to necrotic tissue was rated on a 1-9 scale at -multiple time points during the growing season.
-Lee (2009) used a Bayesian model that extends the ordinal regression of -McCullagh to include spatial variation and sigmoid logistic curves to model -the time dependence of repeated measurements on the same plot.
-Data from 1989 were not included due to a different trial setup being -used. All the trials here were laid out as latinized row-column -designs with 4 or 5 reps. Each plot consisted of four seed tubers -planted with two Ilam Hardy spread plants in a single row 2 meters long -with 76 centimeter spacing between rows.
-In 1997, 18 plots were lost due to flooding. In 2001, by the end of the -season most plants were nearly dead.
-Note, in plant-breeding, it is common to use a "breeder code" for each genotype, -which after several years of testing is changed to a registered -commercial variety name. -For this R package, the Potato Pedigree Database, -https://www.plantbreeding.wur.nl/potatopedigree/reverselookup.php, -was used to change breeder codes (in early testing) to the variety names -used in later testing. For example, among the changes made were the -following:
Driver | 287.12 |
Kiwitea | 064/56 |
Gladiator | 1308.66 |
Karaka | 221.17 |
Kiwitea | 064.56 maybe 064.54 |
Moonlight | 511.1 |
Pacific | 177.3 |
Red Rascal | 1830.11 |
Rua | 155.05 |
Summit | 517.12 |
White Delight | 1949.64 |
Used with permission of Arier Chi-Lun Lee and John Anderson.
-Data retrieved from - https://researchspace.auckland.ac.nz/handle/2292/5240.
-Licensed via Open Database License 1.0. (allows sub-licensing). - See: https://opendatacommons.org/licenses/dbcl/1.0/
-Lee, Arier Chi-Lun (2009). - Random effects models for ordinal data. - Ph.D. thesis, The University of Auckland. - https://researchspace.auckland.ac.nz/handle/2292/4544.
- --# \dontrun{ - -library(agridat) -data(lee.potatoblight) -dat <- lee.potatoblight - -# Common cultivars across years. -# Based on code from here: https://stackoverflow.com/questions/20709808 -gg <- tapply(dat$gen, dat$year, function(x) as.character(unique(x))) -tab <- outer(1:11, 1:11, - Vectorize(function(a, b) length(Reduce(intersect, gg[c(a, b)])))) -head(tab) # Matches Lee page 27. -#> [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] -#> [1,] 20 10 7 5 3 2 3 2 3 3 2 -#> [2,] 10 30 17 5 4 3 4 4 5 4 2 -#> [3,] 7 17 35 9 6 3 4 5 6 4 3 -#> [4,] 5 5 9 35 16 8 9 14 15 13 11 -#> [5,] 3 4 6 16 40 12 11 18 18 16 14 -#> [6,] 2 3 3 8 12 30 13 10 9 8 7## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] -## [1,] 20 10 7 5 3 2 3 2 3 3 2 -## [2,] 10 30 17 5 4 3 4 4 5 4 2 -## [3,] 7 17 35 9 6 3 4 5 6 4 3 -## [4,] 5 5 9 35 16 8 9 14 15 13 11 -## [5,] 3 4 6 16 40 12 11 18 18 16 14 - - -# Note the progression to lower scores as time passes in each year -skp <- c(rep(0,10), - rep(0,7),1,1,1, - rep(0,8),1,1, - rep(0,6),1,1,1,1, - rep(0,5),1,1,1,1,1, - rep(0,5),1,1,1,1,1, - rep(0,6),1,1,1,1, - rep(0,5),1,1,1,1,1, - rep(0,5),1,1,1,1,1, - rep(0,5),1,1,1,1,1) - -libs(desplot) -desplot(dat, y ~ col*row|date, - ylab="Year of testing", # unknown aspect - layout=c(10,11),skip=as.logical(skp), - main="lee.potatoblight - maps of blight resistance over time") -- -# 1983 only. I.Hardy succumbs to blight quickly -libs(lattice) -xyplot(y ~ date|gen, dat, subset=year==1983, group=rep, - xlab="Date", ylab="Blight resistance score", - main="lee.potatoblight 1983", as.table=TRUE, - auto.key=list(columns=5), - scales=list(alternating=FALSE, x=list(rot=90, cex=.7))) -# } -
lehmann.millet.uniformity.Rd
Uniformity trial of millet in India, 3 years on same land.
-data("lehmann.millet.uniformity")- - -
A data frame with 396 observations on the following 5 variables.
year
year
plot
plot (row)
range
range (column)
yield
grain yield (pounds)
total
total crop yield (pounds)
The 6th report has a map (only partially scanned in the pdf). -The ninth report, pages 1-10 has comments. Pages 36-39 have data: Table 1 has grain yield, table 2 total yield.
-Experiment farm near Bangalore. The plots are 1/10 acre, each 50 links wide and 200 links long. [6th report, p. 2]
-The season of 1906 was abnormally wet compared with 1905 and 1907. [9th report]
-Department of Agriculture, Mysore State. - [2nd-9th] Annual Report of the Agricultural Chemist. - https://books.google.com/books?id=u_dHAAAAYAAJ
-None
- --# \dontrun{ - - library(agridat) - data(lehmann.millet.uniformity) - dat <- lehmann.millet.uniformity - - libs(desplot) - dat$year = factor(dat$year) - desplot(dat, yield ~ range*plot|year, - aspect=(22*50)/(6*200), - main="lehmann.millet.uniformity", - flip=TRUE, tick=TRUE) -desplot(dat, total ~ range*plot|year, - aspect=(22*50)/(6*200), - main="lehmann.millet.uniformity", - flip=TRUE, tick=TRUE) -- # libs(dplyr) - # group_by(dat, year) -# } -
lehner.soybeanmold.Rd
Yield, white mold, and sclerotia for soybeans in Brazil
-data("lehner.soybeanmold")- - -
A data frame with 382 observations on the following 9 variables.
study
study number
year
year of harvest
loc
location name
elev
elevation
region
region
trt
treatment number
yield
crop yield, kg/ha
mold
white mold incidence, percent
sclerotia
weight of sclerotia g/ha
Data are the mean of 4 reps.
-Original source (Portuguese) - https://ainfo.cnptia.embrapa.br/digital/bitstream/item/101371/1/Ensaios-cooperativos-de-controle-quimico-de-mofo-branco-na-cultura-da-soja-safras-2009-a-2012.pdf
-Data included here via GPL3 license.
-Lehner, M. S., Pethybridge, S. J., Meyer, M. C., & Del Ponte, - E. M. (2016). - Meta-analytic modelling of the incidence-yield and - incidence-sclerotial production relationships in soybean white mould - epidemics. - Plant Pathology. doi:10.1111/ppa.12590
-Full commented code and analysis - https://emdelponte.github.io/paper-white-mold-meta-analysis/
- --# \dontrun{ - -library(agridat) -data(lehner.soybeanmold) -dat <- lehner.soybeanmold - -if(0){ - op <- par(mfrow=c(2,2)) - hist(dat$mold, main="White mold incidence") - hist(dat$yield, main="Yield") - hist(dat$sclerotia, main="Sclerotia weight") - par(op) -} - -libs(lattice) -xyplot(yield ~ mold|study, dat, type=c('p','r'), - main="lehner.soybeanmold") -# xyplot(sclerotia ~ mold|study, dat, type=c('p','r')) - -# meta-analysis. Could use metafor package to construct the forest plot, -# but latticeExtra is easy; ggplot is slow/clumsy -libs(latticeExtra, metafor) -#>-#>#> -#>#>-#> -#>#>-#> -#>#>-#> -#># calculate correlation & confidence for each loc -cors <- split(dat, dat$study) -cors <- sapply(cors, - FUN=function(X){ - res <- cor.test(X$yield, X$mold) - c(res$estimate, res$parameter[1], - conf.low=res$conf.int[1], conf.high=res$conf.int[2]) - }) -cors <- as.data.frame(t(as.matrix(cors))) -cors$study <- rownames(cors) -# Fisher Z transform -cors <- transform(cors, ri = cor) -cors <- transform(cors, ni = df + 2) -cors <- transform(cors, - yi = 1/2 * log((1 + ri)/(1 - ri)), - vi = 1/(ni - 3)) -# Overall correlation across studies -overall <- rma.uni(yi, vi, method="ML", data=cors) # metafor package -# back transform -overall <- predict(overall, transf=transf.ztor) - -# weight and size for forest plot -wi <- 1/sqrt(cors$vi) -size <- 0.5 + 3.0 * (wi - min(wi))/(max(wi) - min(wi)) - -# now the forest plot -# must use latticeExtra::layer in case ggplot2 is also loaded -segplot(factor(study) ~ conf.low+conf.high, data=cors, - draw.bands=FALSE, level=size, centers=ri, cex=size, - col.regions=colorRampPalette(c("gray85", "dodgerblue4")), - main="White mold vs. soybean yield", - xlab=paste("Study correlation, confidence, and study weight (blues)\n", - "Overall (black)"), - ylab="Study ID") + - latticeExtra::layer(panel.abline(v=overall$pred, lwd=2)) + - latticeExtra::layer(panel.abline(v=c(overall$cr.lb, overall$cr.ub), lty=2, col="gray")) -- -# Meta-analyses are typically used when the original data is not available. -# Since the original data is available, a mixed model is probably better. -libs(lme4) -m1 <- lmer(yield ~ mold # overall slope - + (1+mold |study), # random intercept & slope per study - data=dat) -#> Warning: Model failed to converge with max|grad| = 0.00587194 (tol = 0.002, component 1)#> Linear mixed model fit by REML ['lmerMod'] -#> Formula: yield ~ mold + (1 + mold | study) -#> Data: dat -#> -#> REML criterion at convergence: 5293.1 -#> -#> Scaled residuals: -#> Min 1Q Median 3Q Max -#> -3.7268 -0.6009 -0.0259 0.5045 3.2526 -#> -#> Random effects: -#> Groups Name Variance Std.Dev. Corr -#> study (Intercept) 614294.78 783.770 -#> mold 40.38 6.354 -0.30 -#> Residual 36900.07 192.094 -#> Number of obs: 382, groups: study, 35 -#> -#> Fixed effects: -#> Estimate Std. Error t value -#> (Intercept) 3456.609 134.241 25.75 -#> mold -17.318 1.488 -11.64 -#> -#> Correlation of Fixed Effects: -#> (Intr) -#> mold -0.303 -#> convergence code: 0 -#> Model failed to converge with max|grad| = 0.00587194 (tol = 0.002, component 1) -#>-# } -
lessman.sorghum.uniformity.Rd
Uniformity trial of sorghum at Ames, Iowa, 1959.
-data("lessman.sorghum.uniformity")- - -
A data frame with 2640 observations on the following 3 variables.
row
row
col
column
yield
yield, ounces
The uniformity trial was conducted at the Agronomy Farm at Ames, Iowa, - in 1959. The field was planted to grain sorghum in rows spaces 40 - inches apart, thinned to a stand of three inches between plants. The - entire field was 48 rows (40 inches apart), each 300 feet long and - harvested in 5-foot lengths. Threshed grain was dried to 8-10 percent - moisture before weighing. Weights are ounces. Average yield for the - field was 95.3 bu/ac.
-Field width: 48 rows * 40 inches / 12in/ft = 160 feet
-Field length: 60 plots * 5 feet = 300 feet
-Plot yields from the two outer rows on each side of the field were - omitted from the analysis.
-CV values from this data do not quite match Lessman's value. The - first page of Table 17 was manually checked for correctness and there - were no problems with the optical character recognition (other than - obvious errors like 0/o).
-Lessman, Koert James (1962). - Comparisons of methods for testing grain yield of sorghum. - Iowa State University. - Retrospective Theses and Dissertations. Paper 2063. Appendix Table 17. - https://lib.dr.iastate.edu/rtd/2063
-None.
- --# \dontrun{ - -library(agridat) - - data(lessman.sorghum.uniformity) - dat <- lessman.sorghum.uniformity - - libs(desplot) - desplot(dat, yield ~ col*row, - aspect=300/160, tick=TRUE, flip=TRUE, # true aspect - main="lessman.sorghum.uniformity") -- # Omit outer two columns (called 'rows' by Lessman) - dat <- subset(dat, col > 2 & col < 47) - nrow(dat) -#> [1] 2640#> [1] 9.088291#> [1] 0.0924119- libs(reshape2) - libs(agricolae) - dmat <- acast(dat, row~col, value.var='yield') - index.smith(dmat, - main="lessman.sorghum.uniformity", - col="red") # Similar to Lessman Table 1 -# Lessman said that varying the width of plots did not have an appreciable - # effect on CV, and optimal row length was 3.2 basic plots, about 15-20 - -# } -
li.millet.uniformity.Rd
Uniformity trial of millet at China in 1934.
-A data frame with 600 observations on the following 3 variables.
row
row
col
column
yield
yield (grams)
Crop date estimated to be 1934.
-Field was 100 ft x 100 ft. Plots were 15 feet long by 1 foot wide.
-Field width: 100 plots * 1 foot = 100 feet
-Field length: 6 plots * 15 feet = 100 feet
-Li found the most efficient use of land was obtained with plats 15 - feet long and two rowss wide. Also satisfactory would be one row 30 - feet long.
-Li, HW and Meng, CJ and Liu, TN. 1936. - Field Results in a Millet Breeding Experiment. - Agronomy Journal, 28, 1-15. Table 1. - https://doi.org/10.2134/agronj1936.00021962002800010001x
- --# \dontrun{ - -library(agridat) - - data(li.millet.uniformity) - dat <- li.millet.uniformity - - mean(dat$yield) # matches Li et al. -#> [1] 255.14- libs(desplot) - desplot(dat, yield~col*row, - aspect=100/100, # true aspect - main="li.millet.uniformity") --# } -
R/libs.R
- libs.Rd
Load multiple packages and install if needed
-The 'agridat' package uses dozens of packages in the examples for each dataset. -The 'libs' function provides a simple way to load multiple packages at once, -and can install any missing packages on-the-fly.
-This is very similar to the `pacman::p_load` function.
-libs(...)- -
... | -Comma-separated unquoted package names |
-
---|
None
-None
-Kevin Wright
- --# \dontrun{ -libs(dplyr,reshape2) -# } -
lillemo.wheat.Rd
Resistance of wheat to powdery mildew
-data("lillemo.wheat")- - -
A data frame with 408 observations on the following 4 variables.
gen
genotype, 24 levels
env
environrment, 13 levels
score
score
scale
scale used for score
The data are means across reps of the original scores. Lower scores - indicate better resistance to mildew.
-Each location used one of four different measurement scales for - scoring resistance to powdery mildew: 0-5 scale, 1-9 scale, 0-9 scale, - percent.
-Environment codes consist of two letters for the location name and two - digits for the year of testing. Location names: CA=Cruz Alta, - Brazil. Ba= Bawburgh, UK. Aa=As, Norway. Ha=Hamar, Norway. Ch=Choryn, - Poland. Ce=Cerekwica, Poland. Ma=Martonvasar, Hungary. Kh=Kharkiv, - Ukraine. BT=Bila Tserkva, Ukraine. Gl=Glevakha, Ukraine. Bj=Beijing, - China.
-Note, Lillemo et al. did not remove genotype effects as is customary - when calculating Huehn's non-parametric stability statistics.
-In the examples below, the results do not quite match the - results of Lillemo. This could easily be the result of the original - data table being rounded to 1 decimal place. For example, environment - 'Aa03' had 3 reps and so the mean for genotype 1 was probably 16.333, - not 16.3.
- -Used with permission of Morten Lillemo.
-Electronic data supplied by Miroslav Zoric.
-Morten Lillemo, Ravi Sing, Maarten van Ginkel. (2011). - Identification of Stable Resistance to Powdery Mildew in Wheat Based - on Parametric and Nonparametric Methods - Crop Sci. 50:478-485. - https://doi.org/10.2135/cropsci2009.03.0116
-None.
- ---library(agridat) - -data(lillemo.wheat) -dat <- lillemo.wheat - -# Change factor levels to match Lillemo -dat$env <- as.character(dat$env) -dat$env <- factor(dat$env, - levels=c("Bj03","Bj05","CA03","Ba04","Ma04", - "Kh06","Gl05","BT06","Ch04","Ce04", - "Ha03","Ha04","Ha05","Ha07","Aa03","Aa04","Aa05")) -# Interesting look at different measurement scales by environment -libs(lattice) -qqmath(~score|env, dat, group=scale, - as.table=TRUE, scales=list(y=list(relation="free")), - auto.key=list(columns=4), - main="lillemo.wheat - QQ plots by environment") --# ---------------------------------------------------------------------------- - -# \dontrun{ - # Change data to matrix format - libs(reshape2) - datm <- acast(dat, gen~env, value.var='score') - - # Environment means. Matches Lillemo Table 3 - apply(datm, 2, mean) -#> Bj03 Bj05 CA03 Ba04 Ma04 Kh06 Gl05 BT06 -#> 3.750000 4.729167 1.854167 4.362500 5.208333 17.875000 16.479167 14.708333 -#> Ch04 Ce04 Ha03 Ha04 Ha05 Ha07 Aa03 Aa04 -#> 4.750000 4.416667 14.504167 18.416667 21.354167 16.270833 23.012500 12.833333 -#> Aa05 -#> 24.062500- # Two different transforms within envts to approximate 0-9 scale - datt <- datm - datt[,"CA03"] <- 1.8 * datt[,"CA03"] - ix <- c("Ba04","Kh06","Gl05","BT06","Ha03","Ha04","Ha05","Ha07","Aa03","Aa04","Aa05") - datt[,ix] <- apply(datt[,ix],2,sqrt) - - # Genotype means of transformed data. Matches Lillemo table 3. - round(rowMeans(datt),2) -#> G01 G02 G03 G04 G05 G06 G07 G08 G09 G10 G11 G12 G13 G14 G15 G16 -#> 3.24 2.40 2.96 3.05 3.76 3.38 3.74 4.66 2.34 2.64 3.97 4.61 4.47 4.85 3.83 2.95 -#> G17 G18 G19 G20 G21 G22 G23 G24 -#> 3.45 4.61 3.34 4.08 2.91 3.79 7.72 7.46- # Biplot of transformed data like Lillemo Fig 2 - libs(gge) - biplot(gge(datt, scale=FALSE), main="lillemo.wheat") -#> 1: 337.6127 -#> 2: 325.4158 -#> Final: 324.2539# Half-normal prob plot like Fig 1 - # libs(faraway) - # halfnorm(abs(as.vector(m1$resid))) - - # Nonparametric stability statistics. Lillemo Table 4. - huehn <- function(mat){ - # Gen in rows, Env in cols - nenv <- ncol(mat) - # Corrected yield. Remove genotype effects - # Remove the following line to match Table 4 of Lillemo - mat <- sweep(mat, 1, rowMeans(mat)) + mean(mat) - # Ranks in each environment - rmat <- apply(mat, 2, rank) - - # Mean genotype rank across envts - MeanRank <- apply(rmat, 1, mean) - - # Huehn S1 - gfun <- function(x){ - oo <- outer(x,x,"-") - sum(abs(oo)) # sum of all absolute pairwise differences - } - S1 <- apply(rmat, 1, gfun)/(nenv*(nenv-1)) - - # Huehn S2 - S2 <- apply((rmat-MeanRank)^2,1,sum)/(nenv-1) - - out <- data.frame(MeanRank,S1,S2) - rownames(out) <- rownames(mat) - return(out) - } - round(huehn(datm),2) # Matches table 4 -#> MeanRank S1 S2 -#> G01 12.00 7.01 36.12 -#> G02 14.53 9.66 71.51 -#> G03 13.29 7.59 41.72 -#> G04 14.06 9.51 68.93 -#> G05 11.00 7.26 38.50 -#> G06 13.47 3.99 12.39 -#> G07 12.29 6.66 33.22 -#> G08 10.06 9.18 65.68 -#> G09 14.47 7.21 38.01 -#> G10 14.00 6.47 31.00 -#> G11 10.88 7.47 41.74 -#> G12 10.82 7.29 40.53 -#> G13 10.88 8.97 62.49 -#> G14 11.18 8.69 55.65 -#> G15 13.12 7.34 39.99 -#> G16 13.88 6.00 27.74 -#> G17 11.88 6.97 35.74 -#> G18 10.94 6.37 31.81 -#> G19 14.24 5.40 21.32 -#> G20 11.06 7.87 46.43 -#> G21 14.88 7.96 48.99 -#> G22 11.35 9.00 59.87 -#> G23 13.00 11.85 117.12 -#> G24 12.71 11.29 102.22- # I do not think phenability package gives correct values for S1 - # libs(phenability) - # nahu(datm) - -# } -
lin.superiority.Rd
Multi-environment trial of 33 barley genotypes in 12 locations
-data("lin.superiority")- - -
A data frame with 396 observations on the following 4 variables.
gen
genotype/cultivar
region
region
loc
location
yield
yield (kg/ha)
Yield of six-row barley from the 1983 annual report of Eastern - Cooperative Test in Canada.
-The named cultivars Bruce, Conquest, Laurier, Leger are checks, while - the other cultivars were tests.
-C. S. Lin, M. R. Binns (1985). - Procedural approach for assessing cultivar-location data: Pairwise genotype-environment interactions of test cultivars with checks - Canadian Journal of Plant Science, 1985, 65(4): 1065-1071. Table 1. - https://doi.org/10.4141/cjps85-136
-C. S. Lin, M. R. Binns (1988). - A Superiority Measure Of Cultivar Performance For Cultivar x Location Data. - Canadian Journal of Plant Science, 68, 193-198. - https://doi.org/10.4141/cjps88-018
-Mohammed Ali Hussein, Asmund Bjornstad, and A. H. Aastveit (2000). - SASG x ESTAB: A SAS Program for Computing Genotype x Environment - Stability Statistics. - Agronomy Journal, 92; 454-459. - https://doi.org/10.2134/agronj2000.923454x
- --# \dontrun{ - -library(agridat) - -data(lin.superiority) -dat <- lin.superiority - -libs(latticeExtra) -libs(reshape2) -# calculate the superiority measure of Lin & Binns 1988 - -dat2 <- acast(dat, gen ~ loc, value.var="yield") -locmean <- apply(dat2, 2, mean) -locmax <- apply(dat2, 2, max) -P <- apply(dat2, 1, function(x) { - sum((x-locmax)^2)/(2*length(x)) -})/1000 -P <- sort(P) -round(P) # match Lin & Binns 1988 table 2, column Pi -#> Leger T14 T07 T13 T06 T03 T25 T05 -#> 36 102 107 137 165 182 185 200 -#> T27 T10 T01 T29 T09 T20 T26 Bruce -#> 220 235 247 248 254 256 283 298 -#> Laurier T21 T17 T18 T23 T19 T02 T22 -#> 312 313 323 364 388 421 430 434 -#> T11 T15 T08 T28 T12 Conquest T16 T04 -#> 445 465 473 540 579 585 604 611 -#> T24 -#> 720-# atlantic & quebec regions overlap -# libs(gge) -# m1 <- gge(dat, yield ~ gen*loc, env.group=region, -# main="lin.superiority") -# biplot(m1) - -# create a figure similar to Lin & Binns 1988 - -# add P, locmean, locmax back into the data -dat$locmean <- locmean[match(dat$loc, names(locmean))] -dat$locmax <- locmax[match(dat$loc, names(locmax))] -dat$P <- P[match(dat$gen, names(P))] -dat$gen <- reorder(dat$gen, dat$P) -xyplot(locmax ~ locmean|gen, data=dat, - type=c('p','r'), as.table=TRUE, col="gray", - main="lin.superiority - Superiority index", - xlab="Location Mean", - ylab="Yield of single cultivars (blue) & Maximum (gray)") + - xyplot(yield ~ locmean|gen, data=dat, - type=c('p','r'), as.table=TRUE, pch=19) --# } -
lin.unbalanced.Rd
Multi-environment trial of 33 barley genotypes in 18 locations
-data("lin.unbalanced")- - -
A data frame with 405 observations on the following 4 variables.
gen
genotype/cultivar
loc
location
yield
yield (kg/ha)
region
region
Yield of six-row barley from the 1986 Eastern Cooperative trial
-The named cultivars Bruce, Laurier, Leger are checks, while the other cultivars were tests. Cultivar names use the following codes. - "A" is for Atlantic-Quebec. "O" is for "Ontario". - "S" is second-year. "T" is third-year.
-C. S. Lin, M. R. Binns (1988). - A Method for Assessing Regional Trial Data When The Test Cultivars Are - Unbalanced With Respect to Locations. - Canadian Journal of Plant Science, 68(4): 1103-1110. - https://doi.org/10.4141/cjps88-130
-None
- --# \dontrun{ - -library(agridat) -data(lin.unbalanced) -dat <- lin.unbalanced - -# location maximum, Lin & Binns table 1 -# aggregate(yield ~ loc, data=dat, FUN=max) - -# location mean/index, Lin & Binns, table 1 -dat2 <- subset(dat, is.element(dat$gen, - c('Bruce','Laurier','Leger','S1','S2', - 'S3','S4','S5','S6','S7','T1','T2'))) -aggregate(yield ~ loc, data=dat2, FUN=mean) -#> loc yield -#> 1 L01 6205.417 -#> 2 L02 6562.000 -#> 3 L03 4118.167 -#> 4 L04 7203.583 -#> 5 L05 3795.417 -#> 6 L06 5440.583 -#> 7 L07 5243.250 -#> 8 L08 5419.500 -#> 9 L09 6205.750 -#> 10 L10 4186.583 -#> 11 L11 3565.250 -#> 12 L12 4027.583 -#> 13 L13 4245.667 -#> 14 L14 5061.750 -#> 15 L15 4348.083 -#> 16 L16 5424.583 -#> 17 L17 3909.250 -#> 18 L18 3123.833-libs(reshape2) -dat3 <- acast(dat, gen ~ loc, value.var="yield") -libs(lattice) -lattice::levelplot(t(scale(dat3)), main="lin.unbalanced", xlab="loc", ylab="genotype") --# calculate the superiority measure of Lin & Binns 1988. -# lower is better -locmax <- apply(dat3, 2, max, na.rm=TRUE) -P <- apply(dat3, 1, function(x) { - sum((x-locmax)^2, na.rm=TRUE)/(2*length(na.omit(x))) -})/1000 -P <- sort(P) -round(P) # match Lin & Binns 1988 table 2, column P -#> O02 S4 O01 O10 O07 O06 O05 O08 O04 S5 -#> 110 121 142 150 171 199 203 223 316 338 -#> Leger S1 A04 O09 A06 T2 S2 A03 T1 O03 -#> 366 379 388 401 421 423 485 515 519 528 -#> S7 A11 S6 A09 A07 S3 A05 A08 A10 Bruce -#> 549 567 657 706 717 750 762 791 849 900 -#> Laurier A02 A01 -#> 933 1134 1566# } -
linder.wheat.Rd
Multi-environment trial of wheat in Switzerland
-data("linder.wheat")- - -
A data frame with 252 observations on the following 4 variables.
env
environment
block
block
gen
genotype
yield
yield, in 10 kg/ha
An experiment of 9 varieties of wheat in 7 localities in Switzerland - in 1960, RCB design.
-Arthur Linder (1960). - Design and Analysis of Experiments, notes on lectures held during the - fall semester 1963 at the Statistics Department, University of North - Carolina, page 160. - https://www.stat.ncsu.edu/information/library/mimeo.archive/ISMS_1964_398-A.pdf
-None.
- ---library(agridat) -data(linder.wheat) -dat <- linder.wheat -# \dontrun{ -libs(gge) -dat <- transform(dat, eb=paste0(env,block)) -m1 <- gge(dat, yield~gen*eb, env.group=env) -biplot(m1, main="linder.wheat") -# } -
little.splitblock.Rd
Split-block experiment of sugar beets.
-data("little.splitblock")- - -
A data frame with 80 observations on the following 6 variables.
row
row
col
column
yield
sugar beet yield, tons/acre
harvest
harvest date, weeks after planting
nitro
nitrogen, pounds/acre
block
block
Four rates of nitrogen, laid out as a 4x4 Latin-square experiment.
-Within each column block, the sub-plots are strips (across 4 rows) of - 5 different harvest dates.
-The use of sub-plots a s strips necessitates care when determining the - error terms in the ANOVA table.
-Note, Little has yield value of 22.3 for row 3, column I-H3. This data - uses 23.3 in order to match the marginal totals given by Little.
-Thomas M. Little, F. Jackson Hills. (1978) - Agricultural Experimentation
-None.
- --# \dontrun{ - -library(agridat) -data(little.splitblock) -dat <- little.splitblock - -# Match marginal totals given by Little. -## sum(dat$yield) -## with(dat, tapply(yield,col,sum)) -## with(dat, tapply(yield,row,sum)) - -# Layout shown by Little figure 10.2 -libs(desplot) -desplot(dat, yield ~ col*row, - out1=block, out2=col, col=nitro, cex=1, num=harvest, - main="little.splitblock") -- -# Convert continuous traits to factors -dat <- transform(dat, R=factor(row), C=factor(block), - H=factor(harvest), N=factor(nitro)) - -if(0){ - libs(lattice) - xyplot(yield ~ nitro|H,dat) - xyplot(yield ~ harvest|N,dat) -} - -# Anova table matches Little, table 10.3 -m1 <- aov(yield ~ R + C + N + H + N:H + - Error(R:C:N + C:H + C:N:H), data=dat) -#> Warning: Error() model is singular#> -#> Error: C:H -#> Df Sum Sq Mean Sq F value Pr(>F) -#> C 3 58 19.4 2.326 0.126 -#> H 4 3719 929.6 111.711 2.19e-09 *** -#> Residuals 12 100 8.3 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 -#> -#> Error: R:C:N -#> Df Sum Sq Mean Sq F value Pr(>F) -#> R 3 224.7 74.9 3.755 0.07888 . -#> N 3 1101.3 367.1 18.406 0.00198 ** -#> Residuals 6 119.7 19.9 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 -#> -#> Error: C:N:H -#> Df Sum Sq Mean Sq F value Pr(>F) -#> N:H 12 157.68 13.140 6.497 5.61e-06 *** -#> Residuals 36 72.81 2.022 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1-# } -
loesell.bean.uniformity.Rd
Uniformity trial of white pea beans
-data("loesell.bean.uniformity")- - -
A data frame with 1890 observations on the following 3 variables.
row
row ordinate
col
column ordinate
yield
yield, grams per plot
Trial conducted at Michigan Agricultural Experiment Station, 1.75 - acres. Beans were planted in rows 28 inches apart on 15 Jun - 1932. Plants spaced 1 to 2 inches apart. After planting, an area 210 - ft x 210 feet. This area was divided into 21 columns, each 10 foot - wide, and each containing90 rows.
-Field length: 90 rows * 28 inches = 210 feet.
-Field width: 21 series * 10 feet = 210 feet.
-Author's conclusion: Increasing the size of the plot by increasing its - length was more efficient than increasing its width.
-Note, the missing values in this dataset are a result of the PDF scan - omitting corners of the table.
-Loesell, Clarence (1936). - Size of plot & number of replications necessary for varietal trials - with white pea beans. - PhD Thesis, Michigan State. Table 3, p. 9-10. - https://d.lib.msu.edu/etd/5271
-None
- --# \dontrun{ - require(agridat) - data(loesell.bean.uniformity) - dat <- loesell.bean.uniformity - require(desplot) - desplot(dat, yield ~ col*row, - flip=TRUE, aspect=1, tick=TRUE, - main="loesell.bean.uniformity") -# } -
lonnquist.maize.Rd
Half diallel of maize
-data("lonnquist.maize")
A data frame with 78 observations on the following 3 variables.
p1
parent 1 factor
p2
parent 2 factor
yield
yield
Twelve hybrids were selfed/crossed in a half-diallel design. - The data here are means adjusted for block effects. - Original experiment was 3 reps at 2 locations in 2 years.
-J. H. Lonnquist, C. O. Gardner. (1961) - Heterosis in Intervarietal Crosses in Maize and Its Implication in - Breeding Procedures. - Crop Science, 1, 179-183. Table 1.
-Mohring, Melchinger, Piepho. (2011). - REML-Based Diallel Analysis. - Crop Science, 51, 470-478. - https://doi.org/10.2135/cropsci2010.05.0272
-C. O. Gardner and S. A. Eberhart. 1966. - Analysis and Interpretation of the Variety Cross Diallel and Related - Populations. Biometrics, 22, 439-452. - https://doi.org/10.2307/2528181
-# \dontrun{
-
- library(agridat)
- data(lonnquist.maize)
- dat <- lonnquist.maize
- dat <- transform(dat,
- p1=factor(p1,
- levels=c("C","L","M","H","G","P","B","RM","N","K","R2","K2")),
- p2=factor(p2,
- levels=c("C","L","M","H","G","P","B","RM","N","K","R2","K2")))
-
- libs(lattice)
- redblue <- colorRampPalette(c("firebrick", "lightgray", "#375997"))
- levelplot(yield ~ p1*p2, dat, col.regions=redblue,
- main="lonnquist.maize - yield of diallel cross")
-
-
-
- # Calculate the F1 means in Lonnquist, table 1
- # libs(reshape2)
- # mat <- acast(dat, p1~p2)
- # mat[upper.tri(mat)] <- t(mat)[upper.tri(mat)] # make symmetric
- # diag(mat) <- NA
- # round(rowMeans(mat, na.rm=TRUE),1)
- ## C L M H G P B RM N K R2 K2
- ## 94.8 89.2 95.0 96.4 95.3 95.2 97.3 93.7 95.0 94.0 98.9 102.4
-
-
- # Griffings method
- # https://www.statforbiology.com/2021/stat_met_diallel_griffing/
- # libs(lmDiallel)
- # dat2 <- lonnquist.maize
- # dat2 <- subset(dat2,
- # is.element(p1, c("M","H","G","B","K","K2")) &
- # is.element(p2, c("M","H","G","B","K","K2")))
- # dat2 <- droplevels(dat2)
- # dmod1 <- lm(yield ~ GCA(p1, p2) + tSCA(p1, p2),
- # data = dat2)
- # dmod2 <- lm.diallel(yield ~ p1 + p2,
- # data = dat2, fct = "GRIFFING2")
- # anova.diallel(dmod1, MSE=7.1, dfr=60)
- ## Response: yield
- ## Df Sum Sq Mean Sq F value Pr(>F)
- ## GCA(p1, p2) 5 234.23 46.846 6.5980 5.923e-05 ***
- ## tSCA(p1, p2) 15 238.94 15.929 2.2436 0.01411 *
- ## Residuals 60 7.100
-
-
- # ----------
-
- # asreml4
- # Mohring 2011 used 6 varieties to calculate GCA & SCA
- # Matches Table 3, column 2
- d2 <- subset(dat, is.element(p1, c("M","H","G","B","K","K2")) &
- is.element(p2, c("M","H","G","B","K","K2")))
- d2 <- droplevels(d2)
- libs(asreml,lucid)
- m2 <- asreml(yield~ 1, data=d2, random = ~ p1 + and(p2))
-#> Model fitted using the gamma parameterization.
-#> ASReml 4.1.0 Fri Dec 17 15:17:47 2021
-#> LogLik Sigma2 DF wall cpu
-#> 1 -42.1442 18.4535 20 15:17:47 0.0
-#> 2 -42.0279 17.6444 20 15:17:47 0.0
-#> 3 -41.9054 16.2198 20 15:17:47 0.0
-#> 4 -41.9007 15.9433 20 15:17:47 0.0
- # vc(m2)
- ## effect component std.error z.ratio con
- ## p1!p1.var 3.865 3.774 1 Positive
- ## R!variance 15.93 5.817 2.7 Positive
-
- # Calculate GCA effects
- m3 <- asreml(yield~ p1 + and(p2), data=d2)
-#> Model fitted using the gamma parameterization.
-#> ASReml 4.1.0 Fri Dec 17 15:17:47 2021
-#> LogLik Sigma2 DF wall cpu
-#> 1 -34.0862 15.9294 15 15:17:47 0.0
- coef(m3)$fixed-1.462
-#> effect
-#> p1_M -1.46200
-#> p1_H -0.19950
-#> p1_G -2.16200
-#> p1_B 1.48800
-#> p1_K -1.78700
-#> p1_K2 4.12550
-#> (Intercept) 91.77014
- # Matches Gardner 1966, Table 5, Griffing method
-
-# }
-
lord.rice.uniformity.Rd
Uniformity trial of rice in Ceylon, 1929.
-data("lord.rice.uniformity")- - -
A data frame with 560 observations on the following 5 variables.
field
field
row
row
col
column
grain
grain weight, pounds per plot
straw
straw weight, pounds per plot
In 1929, eight fields 1/5 acre in size were broadcast seeded with rice - at the Anuradhapura Experiment Station in the northern dry zone of - Ceylon. After broadcast, the fields were marked into 10 ft by 10 ft - squares. At harvest, weights of grain and straw were recorded.
-Fields 10-14 were on one side of a drain, and fields 26-28 on the - other side.
-Each field was surrounded by a bund. Plots next to the bunds had higher - yields.
-Field width: 5 plots * 10 feet = 50 feet
-Field length: 14 plots * 10 feet = 140 feet
-Conclusions: "It would appear that plots of about 1/87 acre are the most effective."
-Lord, L. (1931). - A Uniformity Trial with Irrigated Broadcast Rice. - The Journal of Agricultural Science, 21(1), 178-188. - https://doi.org/10.1017/S0021859600008029
-None
- --# \dontrun{ - -library(agridat) -data(lord.rice.uniformity) -dat <- lord.rice.uniformity - -# match table on page 180 -## libs(dplyr) -## dat -## field grain straw -## <chr> <dbl> <dbl> -## 1 10 590 732 -## 2 11 502 600 -## 3 12 315 488 -## 4 13 291 538 -## 5 14 489 670 -## 6 26 441 560 -## 7 27 451 629 -## 8 28 530 718 - -# There are consistently high yields along all edges of the field -# libs(lattice) -# bwplot(grain ~ factor(col)|field,dat) -# bwplot(grain ~ factor(col)|field,dat) - -# Heatmaps -libs(desplot) -desplot(dat, grain ~ col*row|field, - flip=TRUE, aspect=140/50, - main="lord.rice.uniformity") -- -# bivariate scatterplots -# xyplot(grain ~ straw|field, dat) - -# } -
love.cotton.uniformity.Rd
Uniformity trial of cotton
-data("love.cotton.uniformity")- - -
A data frame with 170 observations on the following 3 variables.
row
row
col
column
yield
yield
Within each 100-foot row, the first 20 feet were harvested as a single plot, - and then the rest of the row was harvested in 5-foot lengths.
-Crop location is unknown, but likely Southeast Asia given Love's work - teaching in China. Date circa 1930.
-Possibly more information would be in the collected papers of Harry - Love at Cornell: - https://rmc.library.cornell.edu/EAD/htmldocs/RMA00890.html - Cotton - Plot Technic Study 1930-1932. Box 3, Folder 34
-Harry Love (1937). - Application of Statistical Methods to Agricultural Research. - The Commercial Press, Shanghai. Page 411. - https://archive.org/details/in.ernet.dli.2015.233346/page/n421
-None.
- --# \dontrun{ - -library(agridat) - - data(love.cotton.uniformity) - # omit first column which has 20-foot plots - dat <- subset(love.cotton.uniformity, col > 1) - - libs(desplot) - desplot(dat, yield ~ col*row, - flip=TRUE, aspect=20/80, # just a guess - main="love.cotton.uniformity") --# } -
lu.stability.Rd
Multi-environment trial to illustrate stability statistics
-data("lu.stability")- - -
A data frame with 120 observations on the following 4 variables.
yield
yield
gen
genotype factor, 5 levels
env
environment factor, 6 levels
block
block factor, 4 levels
Data for 5 maize genotypes in 2 years x 3 sites = 6 environments.
-H.Y. Lu and C. T. Tien. (1993) - Studies on nonparametric method of phenotypic stability: II. Selection - for stability of agroeconomic concept. - J. Agric. Assoc. China 164:1-17.
-Hsiu Ying Lu. 1995. - PC-SAS Program for Estimating Huehn's Nonparametric Stability - Statistics. - Agron J. 87:888-891.
-Kae-Kang Hwu and Li-yu D Liu. (2013) - Stability Analysis Using Multiple Environment Trials Data by Linear - Regression. (In Chinese) - Crop, Environment & Bioinformatics 10:131-142.
- --# \dontrun{ - - library(agridat) - data(lu.stability) - dat <- lu.stability - - # GxE means. Match Lu 1995 table 1 - libs(reshape2) - datm <- acast(dat, gen~env, fun=mean, value.var='yield') - round(datm, 2) -#> E1 E2 E3 E4 E5 E6 -#> G1 3288.75 2162.50 3692.75 3920.75 1588.75 1805.25 -#> G2 3487.25 1659.50 3148.25 3897.25 1936.50 1404.00 -#> G3 2651.25 1996.25 2374.50 2919.75 982.50 1158.00 -#> G4 2467.00 2095.25 2574.50 3743.00 1845.75 1488.75 -#> G5 2752.50 1761.25 3912.75 4178.75 1889.50 1678.00#> G1 G2 G3 G4 G5 -#> 2743.125 2588.792 2013.708 2369.042 2695.458#> E1 E2 E3 E4 E5 E6 -#> 2929.35 1934.95 3140.55 3731.90 1648.60 1506.80- - # Traditional ANOVA. Match Hwu table 2 - # F value for gen,env - m1 = aov(yield~env+gen+Error(block:env+env:gen), data=dat) -#> Warning: Error() model is singular#> -#> Error: block:env -#> Df Sum Sq Mean Sq F value Pr(>F) -#> env 5 82817889 16563578 102.9 1.36e-12 *** -#> Residuals 18 2897821 160990 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 -#> -#> Error: env:gen -#> Df Sum Sq Mean Sq F value Pr(>F) -#> gen 4 8573084 2143271 4.436 0.00995 ** -#> Residuals 20 9662873 483144 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 -#> -#> Error: Within -#> Df Sum Sq Mean Sq F value Pr(>F) -#> Residuals 72 12912246 179337# F value for gen:env, block:env - m2 <- aov(yield ~ gen + env + gen:env + block:env, data=dat) - summary(m2) -#> Df Sum Sq Mean Sq F value Pr(>F) -#> gen 4 8573084 2143271 11.951 1.68e-07 *** -#> env 5 82817889 16563578 92.360 < 2e-16 *** -#> gen:env 20 9662873 483144 2.694 0.00114 ** -#> env:block 18 2897821 160990 0.898 0.58302 -#> Residuals 72 12912246 179337 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1- # Finlay Wilkinson regression coefficients - # First, calculate env mean, merge in - libs(dplyr) - dat2 <- group_by(dat, env) - dat2 <- mutate(dat2, locmn=mean(yield)) - m4 <- lm(yield ~ gen -1 + gen:locmn, data=dat2) - coef(m4) # Match Hwu table 4 -#> genG1 genG2 genG3 genG4 genG5 genG1:locmn -#> 24.4698520 -176.3280420 0.5186791 366.5962974 -215.2567865 1.0953375 -#> genG2:locmn genG3:locmn genG4:locmn genG5:locmn -#> 1.1140580 0.8111077 0.8067789 1.1727179-# Table 6: Shukla's heterogeneity test - dat2$ge = paste0(dat2$gen, dat2$env) # Create a separate ge interaction term - m6 <- lm(yield ~ gen + env + ge + ge:locmn, data=dat2) - m6b <- lm( yield ~ gen + env + ge + locmn, data=dat2) - anova(m6, m6b) # Non-significant difference -#> Analysis of Variance Table -#> -#> Model 1: yield ~ gen + env + ge + ge:locmn -#> Model 2: yield ~ gen + env + ge + locmn -#> Res.Df RSS Df Sum of Sq F Pr(>F) -#> 1 90 15810067 -#> 2 90 15810067 0 0- # Table 7 - Shukla stability - # First, environment means - emn <- group_by(dat2, env) - emn <- summarize(emn, ymn=mean(yield)) -#>#> env -#> gen E1 E2 E3 E4 E5 E6 -#> G1 98.3000 -33.5500 291.1000 -72.2500 -320.9500 37.3500 -#> G2 451.1333 -382.2167 -99.0667 58.5833 181.1333 -209.5667 -#> G3 190.2167 529.6167 -297.7333 -343.8333 -197.7833 119.5167 -#> G4 -349.3667 273.2833 -453.0667 124.0833 310.1333 94.9333 -#> G5 -390.2833 -387.1333 558.7667 233.4167 27.4667 -42.2333for (ll in 1:nrow(getab)){ - m7l <- lm(getab[ll, ] ~ emn$ymn) - cat("\n\n*************** Gen ",ll," ***************\n") - cat("Regression coefficient: ",round(coefficients(m7l)[2],5),"\n") - print(anova(m7l)) - } # Match Hwu table 7. -#> -#> -#> *************** Gen 1 *************** -#> Regression coefficient: 0.09534 -#> Analysis of Variance Table -#> -#> Response: getab[ll, ] -#> Df Sum Sq Mean Sq F value Pr(>F) -#> emn$ymn 1 37638 37638 0.8987 0.3968 -#> Residuals 4 167514 41879 -#> -#> -#> *************** Gen 2 *************** -#> Regression coefficient: 0.11406 -#> Analysis of Variance Table -#> -#> Response: getab[ll, ] -#> Df Sum Sq Mean Sq F value Pr(>F) -#> emn$ymn 1 53870 53870 0.5586 0.4963 -#> Residuals 4 385715 96429 -#> -#> -#> *************** Gen 3 *************** -#> Regression coefficient: -0.18889 -#> Analysis of Variance Table -#> -#> Response: getab[ll, ] -#> Df Sum Sq Mean Sq F value Pr(>F) -#> emn$ymn 1 147748 147748 1.377 0.3057 -#> Residuals 4 429197 107299 -#> -#> -#> *************** Gen 4 *************** -#> Regression coefficient: -0.19322 -#> Analysis of Variance Table -#> -#> Response: getab[ll, ] -#> Df Sum Sq Mean Sq F value Pr(>F) -#> emn$ymn 1 154598 154598 1.6804 0.2646 -#> Residuals 4 368004 92001 -#> -#> -#> *************** Gen 5 *************** -#> Regression coefficient: 0.17272 -#> Analysis of Variance Table -#> -#> Response: getab[ll, ] -#> Df Sum Sq Mean Sq F value Pr(>F) -#> emn$ymn 1 123529 123529 0.9018 0.3961 -#> Residuals 4 547906 136976-# } # dontrun -
lucas.switchback.Rd
Switchback experiment on dairy cattle, milk yield for 3 treatments
-data("lucas.switchback")- - -
A data frame with 36 observations on the following 5 variables.
cow
cow factor, 12 levels
trt
treatment factor, 3 levels
period
period factor, 3 levels
yield
yield (FCM = fat corrected milk), pounds/day
block
block factor
Lucas says - "because no data from feeding trials employing the present designs are yet available, uniformity data will be used".
-Six cows were started together in block 1, then three cows in block 2 - and three cows in block 3.
-Lucas, HL. 1956. - Switchback trials for more than two treatments. - Journal of Dairy Science, 39, 146-154. - https://doi.org/10.3168/jds.S0022-0302(56)94721-X
-Sanders, WL and Gaynor, PJ. 1987. - Analysis of Switchback Data Using Statistical Analysis System. - Journal of Dairy Science, 70, 2186-2191. - https://doi.org/10.3168/jds.S0022-0302(87)80273-4
- ---library(agridat) - -data(lucas.switchback) -dat <- lucas.switchback - -# Create a numeric period variable -dat$per <- as.numeric(substring(dat$period,2)) - -libs(lattice) -xyplot(yield ~ period|block, data=dat, group=cow, type=c('l','r'), - auto.key=list(columns=6), - main="lucas.switchback - (actually uniformity data)") --# Need to use 'terms' to preserve the order of the model terms -# Really, cow(block), per:cow(block), period(block) -m1 <- aov(terms(yield ~ block + cow:block + per:cow:block + - period:block + trt, keep.order=TRUE), data=dat) -anova(m1) # Match Sanders & Gaynor table 3 -#> Analysis of Variance Table -#> -#> Response: yield -#> Df Sum Sq Mean Sq F value Pr(>F) -#> block 2 30.93 15.464 55.345 5.132e-05 *** -#> block:cow 9 1700.97 188.997 676.426 1.907e-09 *** -#> block:cow:per 12 120.47 10.040 35.932 4.137e-05 *** -#> block:period 3 14.85 4.950 17.717 0.001194 ** -#> trt 2 1.58 0.789 2.825 0.126048 -#> Residuals 7 1.96 0.279 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1## Analysis of Variance Table -## Df Sum Sq Mean Sq F value Pr(>F) -## block 2 30.93 15.464 55.345 5.132e-05 *** -## block:cow 9 1700.97 188.997 676.426 1.907e-09 *** -## block:cow:per 12 120.47 10.040 35.932 4.137e-05 *** -## block:period 3 14.85 4.950 17.717 0.001194 ** -## trt 2 1.58 0.789 2.825 0.126048 -## Residuals 7 1.96 0.279 - -coef(m1) # trtT2 and trtT3 match Sanders table 3 trt diffs -#> (Intercept) blockB2 blockB3 blockB3:cowC10 -#> 37.5833333 -4.1750000 -14.7250000 18.0083333 -#> blockB3:cowC11 blockB1:cowC2 blockB1:cowC3 blockB1:cowC4 -#> 4.6041667 -12.5375000 -1.1416667 14.9402778 -#> blockB1:cowC5 blockB1:cowC6 blockB2:cowC7 blockB2:cowC8 -#> -15.1555556 -10.9305556 -1.0291667 5.7416667 -#> blockB1:cowC1:per blockB3:cowC10:per blockB3:cowC11:per blockB3:cowC12:per -#> -3.0500000 -2.1500000 -1.1500000 -1.0000000 -#> blockB1:cowC2:per blockB1:cowC3:per blockB1:cowC4:per blockB1:cowC5:per -#> -2.1000000 -2.7000000 -3.4500000 -0.0500000 -#> blockB1:cowC6:per blockB2:cowC7:per blockB2:cowC8:per blockB2:cowC9:per -#> -0.7500000 -1.8500000 -3.4000000 -2.2000000 -#> blockB1:periodP2 blockB2:periodP2 blockB3:periodP2 trtT2 -#> 1.4833333 1.1166667 1.3333333 -0.5333333 -#> trtT3 -#> -0.5541667-
lyon.potato.uniformity.Rd
Uniformity trial of potatoes at Nebraska Experiment Station, 1909.
-A data frame with 204 observations on the following 3 variables.
row
row
col
column, section
yield
yield, pounds
In 1909, potatoes were harvested from uniform land at Nebraska - Experiment Station.
-There were 34 rows, 34 inches apart. - Lyon, page 97 says "He harvested each row in six sections, - each of which was seventy-two feet and seven inches long." - It is not clear if each section is 72 feet long, or if the - entire row is 72 feet long. Yield of potato is roughly 0.5 to 0.8 - pounds per square foot, so it seems more plausible the entire row is - 72 feet long (see calculations below).
-Field width: 6 plots = 72 feet
-Field length: 34 rows * 34 in / 12in/ft = 96 ft
-Lyon, T.L. (1911). - Some experiments to estimate errors in field plat tests. - Proc. Amer. Soc. Agron, 3, 89-114. Table III. - https://doi.org/10.2134/agronj1911.00021962000300010016x
-None.
- --# \dontrun{ - -library(agridat) - - data(lyon.potato.uniformity) - dat <- lyon.potato.uniformity - - # Yield per square foot, assuming 72 foot rows - sum(dat$yield)/(72*96) # 0.67 # seems about right -#> [1] 0.6738571#> [1] 0.1123095- libs(desplot) - desplot(dat, yield ~ col*row, - tick=TRUE, flip=TRUE, aspect=96/72, # true aspect - main="lyon.potato.uniformity") --# } -
lyons.wheat.Rd
Yield of winter wheat at 12 sites in 4 years.
-A data frame with 48 observations on the following 3 variables.
loc
location, 12 levels
year
year, numeric
yield
yield (kg)
Krzanowski uses this briefly for multi-dimensional scaling.
-R. Lyons (1980). A review of multidimensional scaling. - Unpublished M.Sc. dissertation, University of Reading.
-Krzanowski, W.J. (1988) - Principles of multivariate analysis. Oxford University Press.
- --
magistad.pineapple.uniformity.Rd
Uniformity trial of pineapple in Hawaii in 1932
-data("magistad.pineapple.uniformity")- - -
A data frame with 137 observations on the following 6 variables.
field
field number
plat
plat number
row
row
col
column
number
number of fruits
weight
weight of fruits, grams
Field 19. Kunia. Harvested 1932.
-"In this field, harvested in 1932, there were four rows per bed. A 300-foot bed was divided into four equal parts to form plats 1, 2, 3, and 4. The third [sic, second] bed from this was similarly divided to form plats 5 to 8, inclusive. In the same manner plats 9 to 24 were formed. In this way 24 plats each 75 feet long and 1 bed wide were formed."
-Field length: 4 plats * 75 feet = 300 feet
-Field width: 6 plats * 6.5 feet = 39 feet
- -Field 82. Pearl City.
-"Eight beds, each separated by two beds, were selected and harvested. Beds were 8 feet center to center. Each bed was divided into three plats 76 feet long."
-Note: Layout of plats into rows/columns assumes the same pattern as field 19.
-Field length: 3 plats * 76 feet = 228 feet
-Field width: 8 plats * 8 feet * 3 (every third bed) = 192 feet.
- -Field 21. Kahuku.
-"In field 21, Kahuku, the experimental plan was of the Latin square type, having five beds of five plats each. The beds were 7.5 feet center to center. Each plat was approximately 60 feet long and each third bed was selected and harvested." -Note: Layout of plats into rows/columns assumes the same pattern as field 19.
-Field lenght: 5 plats * 60 feet = 300 feet
-Field width: 5 plats * 7.5 feet * 3 (every third bed) = 112.5 feet
- -Field 1. Kunia.
-"This experiment was another Latin square test having eight plats in each column and eight plats in each row. It was harvested in 1930. Each plat consisted of two beds 150 feet long. Beds were 6 feet center to center and consisted of three rows each. The entire experimental area occupied 2.85 acres."
-Field length: 8 plats * 2 beds * 150 feet = 2400 feet
-Field width: 8 plats * 6 feet = 48 feet
-Total area: 2400*48/43560=2.64 acres
-O. C. Magistad & C. A. Farden (1934). - Experimental Error In Field Experiments With Pineapples. - Journal of the American Society of Agronomy, 26, 631--643.
-None
- --# \dontrun{ - -library(agridat) - - data(magistad.pineapple.uniformity) - dat <- magistad.pineapple.uniformity - - # match table page 641 - ## dat - ## summarize(number=mean(number), - ## weight=mean(weight)) - ## field number weight - ## 1 1 596.4062 2499.922 - ## 2 19 171.1667 2100.250 - ## 3 21 171.1600 2056.800 - ## 4 82 220.7500 1264.500 - - libs(desplot) - desplot(dat, weight ~ col*row, - subset=field==1, - aspect=2400/48, - main="magistad.pineapple.uniformity - field 1") -desplot(dat, weight ~ col*row, - subset=field==19, - aspect=300/39, - main="magistad.pineapple.uniformity - field 19") -desplot(dat, weight ~ col*row, - subset=field==82, - aspect=228/192, - main="magistad.pineapple.uniformity - field 82") -desplot(dat, weight ~ col*row, - subset=field==21, - aspect=300/112.5, - main="magistad.pineapple.uniformity - field 21") --# } -
masood.rice.uniformity.Rd
Uniformity trial of rice at Lahore, Punjab, circa 2011.
-data("masood.rice.uniformity")- - -
A data frame with 288 observations on the following 3 variables.
row
row
col
column
yield
yield, kg/m^2
Data by collected from the Rice Research Institute on a paddy yield trial. - A single variety of rice was harvested in an area 12m x 24 m. - Yield in kilograms was measured for each square meter. - Masood et al report a low degree of similarity for neighboring plots.
-Note, the Smith index calculations below match the results in the - Pakistan Journal of Agricultural Research, but do not match the - results in the American-Eurasian Journal, which seems to be the same - paper and seems to refer to the same data. The results may simply - differ by a scaling factor.
-Field length: 24 plots x 1m = 24m.
-Field width: 12 plots x 1m = 12m.
-Used with permission of Asif Masood.
-Masood, M Asif and Raza, Irum. 2012. - Estimation of optimum field plot size and shape in paddy yield trial. - Pakistan J. Agric. Res., Vol. 25 No. 4, 2012
-Masood, M Asif and Raza, Irum. 2012. - Estimation of optimum field plot size and shape in paddy yield trial. - American-Eurasian Journal of Scientific Research, 7, 264-269. - Table 1. - https://doi.org/10.5829/idosi.aejsr.2012.7.6.1926
- --# \dontrun{ - -library(agridat) - - data(masood.rice.uniformity) - dat <- masood.rice.uniformity - - libs(desplot) - desplot(dat, yield ~ col*row, - flip=TRUE, tick=TRUE, aspect=24/12, # true aspect - main="masood.rice.uniformity - yield heatmap") -- libs(agricolae) - libs(reshape2) - dmat <- acast(dat, row~col, value.var='yield') - index.smith(dmat, - main="masood.rice.uniformity", - col="red") # CVs match Table 3 --# } -
mcclelland.corn.uniformity.Rd
Uniformity trial of corn at Arkansas Experiment Station, 1925.
-data("mcclelland.corn.uniformity")- - -
A data frame with 438 observations on the following 3 variables.
row
row
col
column
yield
yield
A uniformity trial of corn in 1925 at the Arkansas Experimental Station.
-Field width = 66ft * 2 = 132 feet.
-Field length = 219 rows * 44 inches / 12 inches/ft = 803 ft.
-Note: In the source document, table 2, first 'west' column and - second-to-last row (page 822), the value 1.40 is assumed to be a - typographical error and was changed to 14.0 for this data.
-McClelland, Chalmer Kirk (1926). - Some determinations of plat variability. - Agronomy Journal, 18, 819-823. - https://doi.org/10.2134/agronj1926.00021962001800090009x
-None
- --# \dontrun{ - -library(agridat) - - data(mcclelland.corn.uniformity) - dat <- mcclelland.corn.uniformity - - # McClelland table 3, first row, gives 11.2 - # Probable error = 0.67449 * sd(). Relative to mean. - # 0.67449 * sd(dat$yield)/mean(dat$yield) # 11.2 - - libs(desplot) - desplot(dat, yield ~ col*row, - flip=TRUE, - aspect=(219*44/12)/132, # true aspect, 219 rows * 44 inches x 132 feet - main="mcclelland.corn.uniformity") --# } -
mcconway.turnip.Rd
RCB experiment of turnips, 2 treatments for planting date and density
-A data frame with 64 observations on the following 6 variables.
gen
genotype
date
planting date, levels 21Aug1990
28Aug1990
density
planting density, 1, 2, 4, 8 kg/ha
block
block, 4 levels
yield
yield
This is a randomized block experiment with 16 treatments - allocated at random to each of four blocks. The 16 treatments - were combinations of two varieties, two planting dates, and - four densities.
-Lee et al (2008) proposed an analysis using mixed models with changing - treatment variances.
-Piepho (2009) proposed an ordinary ANOVA using transformed data.
-Used with permission of Kevin McConway.
-K. J. McConway, M. C. Jones, P. C. Taylor. - Statistical Modelling Using Genstat.
-Michael Berthold, D. J. Hand. - Intelligent data analysis: an introduction, 1998. - Pages 75--82.
-Lee, C.J. and O Donnell, M. and O Neill, M. (2008). - Statistical analysis of field trials with changing treatment - variance. - Agronomy Journal, 100, 484--489.
-Piepho, H.P. (2009), - Data transformation in statistical analysis of field trials - with changing treatment variance. - Agronomy Journal, 101, 865--869. - https://doi.org/10.2134/agronj2008.0226x
- --# \dontrun{ - -library(agridat) -data(mcconway.turnip) -dat <- mcconway.turnip -dat$densf <- factor(dat$density) - -# Table 2 of Lee et al. -m0 <- aov( yield ~ gen * densf * date + block, dat ) -summary(m0) -#> Df Sum Sq Mean Sq F value Pr(>F) -#> gen 1 84.0 83.95 8.753 0.00491 ** -#> densf 3 470.4 156.79 16.347 2.51e-07 *** -#> date 1 233.7 233.71 24.367 1.14e-05 *** -#> block 3 163.7 54.58 5.690 0.00216 ** -#> gen:densf 3 8.6 2.88 0.301 0.82485 -#> gen:date 1 36.5 36.45 3.800 0.05749 . -#> densf:date 3 154.8 51.60 5.380 0.00299 ** -#> gen:densf:date 3 18.0 6.00 0.626 0.60224 -#> Residuals 45 431.6 9.59 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1## Df Sum Sq Mean Sq F value Pr(>F) -## gen 1 84.0 83.95 8.753 0.00491 ** -## densf 3 470.4 156.79 16.347 2.51e-07 *** -## date 1 233.7 233.71 24.367 1.14e-05 *** -## block 3 163.7 54.58 5.690 0.00216 ** -## gen:densf 3 8.6 2.88 0.301 0.82485 -## gen:date 1 36.5 36.45 3.800 0.05749 . -## densf:date 3 154.8 51.60 5.380 0.00299 ** -## gen:densf:date 3 18.0 6.00 0.626 0.60224 -## Residuals 45 431.6 9.59 -## --- -## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 - -# Boxplots suggest heteroskedasticity for date, density -libs("HH") -interaction2wt(yield ~ gen + date + densf +block, dat, - x.between=0, y.between=0, - main="mcconway.turnip - yield") -- -libs(nlme) -# Random block model -m1 <- lme(yield ~ gen * date * densf, random= ~1|block, data=dat) -summary(m1) -#> Linear mixed-effects model fit by REML -#> Data: dat -#> AIC BIC logLik -#> 308.1365 341.8181 -136.0683 -#> -#> Random effects: -#> Formula: ~1 | block -#> (Intercept) Residual -#> StdDev: 1.676819 3.096991 -#> -#> Fixed effects: yield ~ gen * date * densf -#> Value Std.Error DF t-value p-value -#> (Intercept) 2.275 1.760900 45 1.2919531 0.2030 -#> genMarco -1.025 2.189903 45 -0.4680573 0.6420 -#> date28Aug1990 1.325 2.189903 45 0.6050496 0.5482 -#> densf2 1.550 2.189903 45 0.7077939 0.4827 -#> densf4 1.875 2.189903 45 0.8562023 0.3964 -#> densf8 2.900 2.189903 45 1.3242595 0.1921 -#> genMarco:date28Aug1990 -1.150 3.096991 45 -0.3713282 0.7121 -#> genMarco:densf2 -0.600 3.096991 45 -0.1937365 0.8473 -#> genMarco:densf4 0.550 3.096991 45 0.1775918 0.8598 -#> genMarco:densf8 1.025 3.096991 45 0.3309665 0.7422 -#> date28Aug1990:densf2 -0.175 3.096991 45 -0.0565065 0.9552 -#> date28Aug1990:densf4 8.550 3.096991 45 2.7607446 0.0083 -#> date28Aug1990:densf8 7.650 3.096991 45 2.4701399 0.0174 -#> genMarco:date28Aug1990:densf2 0.200 4.379806 45 0.0456641 0.9638 -#> genMarco:date28Aug1990:densf4 -4.950 4.379806 45 -1.1301870 0.2644 -#> genMarco:date28Aug1990:densf8 -2.725 4.379806 45 -0.6221737 0.5370 -#> Correlation: -#> (Intr) genMrc dt28A1990 densf2 densf4 densf8 -#> genMarco -0.622 -#> date28Aug1990 -0.622 0.500 -#> densf2 -0.622 0.500 0.500 -#> densf4 -0.622 0.500 0.500 0.500 -#> densf8 -0.622 0.500 0.500 0.500 0.500 -#> genMarco:date28Aug1990 0.440 -0.707 -0.707 -0.354 -0.354 -0.354 -#> genMarco:densf2 0.440 -0.707 -0.354 -0.707 -0.354 -0.354 -#> genMarco:densf4 0.440 -0.707 -0.354 -0.354 -0.707 -0.354 -#> genMarco:densf8 0.440 -0.707 -0.354 -0.354 -0.354 -0.707 -#> date28Aug1990:densf2 0.440 -0.354 -0.707 -0.707 -0.354 -0.354 -#> date28Aug1990:densf4 0.440 -0.354 -0.707 -0.354 -0.707 -0.354 -#> date28Aug1990:densf8 0.440 -0.354 -0.707 -0.354 -0.354 -0.707 -#> genMarco:date28Aug1990:densf2 -0.311 0.500 0.500 0.500 0.250 0.250 -#> genMarco:date28Aug1990:densf4 -0.311 0.500 0.500 0.250 0.500 0.250 -#> genMarco:date28Aug1990:densf8 -0.311 0.500 0.500 0.250 0.250 0.500 -#> gnM:28A1990 gnMr:2 gnMr:4 gnMr:8 d28A1990:2 -#> genMarco -#> date28Aug1990 -#> densf2 -#> densf4 -#> densf8 -#> genMarco:date28Aug1990 -#> genMarco:densf2 0.500 -#> genMarco:densf4 0.500 0.500 -#> genMarco:densf8 0.500 0.500 0.500 -#> date28Aug1990:densf2 0.500 0.500 0.250 0.250 -#> date28Aug1990:densf4 0.500 0.250 0.500 0.250 0.500 -#> date28Aug1990:densf8 0.500 0.250 0.250 0.500 0.500 -#> genMarco:date28Aug1990:densf2 -0.707 -0.707 -0.354 -0.354 -0.707 -#> genMarco:date28Aug1990:densf4 -0.707 -0.354 -0.707 -0.354 -0.354 -#> genMarco:date28Aug1990:densf8 -0.707 -0.354 -0.354 -0.707 -0.354 -#> d28A1990:4 d28A1990:8 gM:28A1990:2 gM:28A1990:4 -#> genMarco -#> date28Aug1990 -#> densf2 -#> densf4 -#> densf8 -#> genMarco:date28Aug1990 -#> genMarco:densf2 -#> genMarco:densf4 -#> genMarco:densf8 -#> date28Aug1990:densf2 -#> date28Aug1990:densf4 -#> date28Aug1990:densf8 0.500 -#> genMarco:date28Aug1990:densf2 -0.354 -0.354 -#> genMarco:date28Aug1990:densf4 -0.707 -0.354 0.500 -#> genMarco:date28Aug1990:densf8 -0.354 -0.707 0.500 0.500 -#> -#> Standardized Within-Group Residuals: -#> Min Q1 Med Q3 Max -#> -2.95673473 -0.47103959 -0.08756561 0.45826905 2.90356710 -#> -#> Number of Observations: 64 -#> Number of Groups: 4#> numDF denDF F-value p-value -#> (Intercept) 1 45 33.89726 <.0001 -#> gen 1 45 8.75282 0.0049 -#> date 1 45 24.36650 <.0001 -#> densf 3 45 16.34730 <.0001 -#> gen:date 1 45 3.80045 0.0575 -#> gen:densf 3 45 0.30050 0.8248 -#> date:densf 3 45 5.37960 0.0030 -#> gen:date:densf 3 45 0.62554 0.6022-# Multiplicative variance model over densities and dates -m2 <- update(m1, - weights=varComb(varIdent(form=~1|densf), - varIdent(form=~1|date))) -summary(m2) -#> Linear mixed-effects model fit by REML -#> Data: dat -#> AIC BIC logLik -#> 294.2643 335.4307 -125.1322 -#> -#> Random effects: -#> Formula: ~1 | block -#> (Intercept) Residual -#> StdDev: 0.4004249 1.014646 -#> -#> Combination of variance functions: -#> Structure: Different standard deviations per stratum -#> Formula: ~1 | densf -#> Parameter estimates: -#> 1 2 4 8 -#> 1.000000 1.481556 3.237435 2.771912 -#> Structure: Different standard deviations per stratum -#> Formula: ~1 | date -#> Parameter estimates: -#> 21Aug1990 28Aug1990 -#> 1.000000 1.747335 -#> Fixed effects: yield ~ gen * date * densf -#> Value Std.Error DF t-value p-value -#> (Intercept) 2.275 0.545401 45 4.171245 0.0001 -#> genMarco -1.025 0.717463 45 -1.428644 0.1600 -#> date28Aug1990 1.325 1.021369 45 1.297278 0.2011 -#> densf2 1.550 0.906819 45 1.709271 0.0943 -#> densf4 1.875 1.718994 45 1.090754 0.2812 -#> densf8 2.900 1.494969 45 1.939840 0.0587 -#> genMarco:date28Aug1990 -1.150 1.444434 45 -0.796160 0.4301 -#> genMarco:densf2 -0.600 1.282436 45 -0.467860 0.6421 -#> genMarco:densf4 0.550 2.431025 45 0.226242 0.8220 -#> genMarco:densf8 1.025 2.114205 45 0.484816 0.6302 -#> date28Aug1990:densf2 -0.175 1.825655 45 -0.095856 0.9241 -#> date28Aug1990:densf4 8.550 3.460766 45 2.470551 0.0173 -#> date28Aug1990:densf8 7.650 3.009747 45 2.541742 0.0145 -#> genMarco:date28Aug1990:densf2 0.200 2.581866 45 0.077463 0.9386 -#> genMarco:date28Aug1990:densf4 -4.950 4.894263 45 -1.011388 0.3172 -#> genMarco:date28Aug1990:densf8 -2.725 4.256425 45 -0.640209 0.5253 -#> Correlation: -#> (Intr) genMrc dt28A1990 densf2 densf4 densf8 -#> genMarco -0.658 -#> date28Aug1990 -0.462 0.351 -#> densf2 -0.520 0.396 0.278 -#> densf4 -0.275 0.209 0.147 0.165 -#> densf8 -0.316 0.240 0.169 0.190 0.100 -#> genMarco:date28Aug1990 0.327 -0.497 -0.707 -0.196 -0.104 -0.119 -#> genMarco:densf2 0.368 -0.559 -0.196 -0.707 -0.117 -0.134 -#> genMarco:densf4 0.194 -0.295 -0.104 -0.117 -0.707 -0.071 -#> genMarco:densf8 0.223 -0.339 -0.119 -0.134 -0.071 -0.707 -#> date28Aug1990:densf2 0.258 -0.196 -0.559 -0.497 -0.082 -0.094 -#> date28Aug1990:densf4 0.136 -0.104 -0.295 -0.082 -0.497 -0.050 -#> date28Aug1990:densf8 0.157 -0.119 -0.339 -0.094 -0.050 -0.497 -#> genMarco:date28Aug1990:densf2 -0.183 0.278 0.396 0.351 0.058 0.067 -#> genMarco:date28Aug1990:densf4 -0.096 0.147 0.209 0.058 0.351 0.035 -#> genMarco:date28Aug1990:densf8 -0.111 0.169 0.240 0.067 0.035 0.351 -#> gnM:28A1990 gnMr:2 gnMr:4 gnMr:8 d28A1990:2 -#> genMarco -#> date28Aug1990 -#> densf2 -#> densf4 -#> densf8 -#> genMarco:date28Aug1990 -#> genMarco:densf2 0.278 -#> genMarco:densf4 0.147 0.165 -#> genMarco:densf8 0.169 0.190 0.100 -#> date28Aug1990:densf2 0.396 0.351 0.058 0.067 -#> date28Aug1990:densf4 0.209 0.058 0.351 0.035 0.165 -#> date28Aug1990:densf8 0.240 0.067 0.035 0.351 0.190 -#> genMarco:date28Aug1990:densf2 -0.559 -0.497 -0.082 -0.094 -0.707 -#> genMarco:date28Aug1990:densf4 -0.295 -0.082 -0.497 -0.050 -0.117 -#> genMarco:date28Aug1990:densf8 -0.339 -0.094 -0.050 -0.497 -0.134 -#> d28A1990:4 d28A1990:8 gM:28A1990:2 gM:28A1990:4 -#> genMarco -#> date28Aug1990 -#> densf2 -#> densf4 -#> densf8 -#> genMarco:date28Aug1990 -#> genMarco:densf2 -#> genMarco:densf4 -#> genMarco:densf8 -#> date28Aug1990:densf2 -#> date28Aug1990:densf4 -#> date28Aug1990:densf8 0.100 -#> genMarco:date28Aug1990:densf2 -0.117 -0.134 -#> genMarco:date28Aug1990:densf4 -0.707 -0.071 0.165 -#> genMarco:date28Aug1990:densf8 -0.071 -0.707 0.190 0.100 -#> -#> Standardized Within-Group Residuals: -#> Min Q1 Med Q3 Max -#> -1.94246823 -0.54962541 -0.01044348 0.47135647 2.10724103 -#> -#> Number of Observations: 64 -#> Number of Groups: 4#> numDF denDF F-value p-value -#> (Intercept) 1 45 84.42187 <.0001 -#> gen 1 45 9.35277 0.0037 -#> date 1 45 7.85586 0.0074 -#> densf 3 45 12.82334 <.0001 -#> gen:date 1 45 2.03115 0.1610 -#> gen:densf 3 45 0.13262 0.9401 -#> date:densf 3 45 4.83297 0.0053 -#> gen:date:densf 3 45 0.47936 0.6983-# Unstructured variance model over densities and dates -m3 <- update(m1, weights=varIdent(form=~1|densf*date)) -summary(m3) -#> Linear mixed-effects model fit by REML -#> Data: dat -#> AIC BIC logLik -#> 298.2036 344.9836 -124.1018 -#> -#> Random effects: -#> Formula: ~1 | block -#> (Intercept) Residual -#> StdDev: 0.2719394 0.9379041 -#> -#> Variance function: -#> Structure: Different standard deviations per stratum -#> Formula: ~1 | densf * date -#> Parameter estimates: -#> 1*21Aug1990 2*21Aug1990 4*21Aug1990 8*21Aug1990 1*28Aug1990 2*28Aug1990 -#> 1.000000 1.871530 2.668169 3.330860 1.979384 2.383431 -#> 4*28Aug1990 8*28Aug1990 -#> 7.394191 4.760777 -#> Fixed effects: yield ~ gen * date * densf -#> Value Std.Error DF t-value p-value -#> (Intercept) 2.275 0.488266 45 4.659345 0.0000 -#> genMarco -1.025 0.663198 45 -1.545541 0.1292 -#> date28Aug1990 1.325 1.039970 45 1.274075 0.2092 -#> densf2 1.550 0.995088 45 1.557652 0.1263 -#> densf4 1.875 1.336236 45 1.403195 0.1674 -#> densf8 2.900 1.630890 45 1.778170 0.0821 -#> genMarco:date28Aug1990 -1.150 1.470740 45 -0.781919 0.4384 -#> genMarco:densf2 -0.600 1.407266 45 -0.426358 0.6719 -#> genMarco:densf4 0.550 1.889723 45 0.291048 0.7724 -#> genMarco:densf8 1.025 2.306427 45 0.444410 0.6589 -#> date28Aug1990:densf2 -0.175 1.760996 45 -0.099376 0.9213 -#> date28Aug1990:densf4 8.550 3.830255 45 2.232228 0.0306 -#> date28Aug1990:densf8 7.650 2.916474 45 2.623030 0.0119 -#> genMarco:date28Aug1990:densf2 0.200 2.490425 45 0.080308 0.9363 -#> genMarco:date28Aug1990:densf4 -4.950 5.416798 45 -0.913824 0.3657 -#> genMarco:date28Aug1990:densf8 -2.725 4.124517 45 -0.660683 0.5122 -#> Correlation: -#> (Intr) genMrc dt28A1990 densf2 densf4 densf8 -#> genMarco -0.679 -#> date28Aug1990 -0.433 0.319 -#> densf2 -0.453 0.333 0.213 -#> densf4 -0.337 0.248 0.158 0.165 -#> densf8 -0.276 0.203 0.130 0.136 0.101 -#> genMarco:date28Aug1990 0.306 -0.451 -0.707 -0.150 -0.112 -0.092 -#> genMarco:densf2 0.320 -0.471 -0.150 -0.707 -0.117 -0.096 -#> genMarco:densf4 0.238 -0.351 -0.112 -0.117 -0.707 -0.071 -#> genMarco:densf8 0.195 -0.288 -0.092 -0.096 -0.071 -0.707 -#> date28Aug1990:densf2 0.256 -0.188 -0.591 -0.565 -0.093 -0.077 -#> date28Aug1990:densf4 0.118 -0.087 -0.272 -0.058 -0.349 -0.035 -#> date28Aug1990:densf8 0.154 -0.114 -0.357 -0.076 -0.056 -0.559 -#> genMarco:date28Aug1990:densf2 -0.181 0.266 0.418 0.400 0.066 0.054 -#> genMarco:date28Aug1990:densf4 -0.083 0.122 0.192 0.041 0.247 0.025 -#> genMarco:date28Aug1990:densf8 -0.109 0.161 0.252 0.054 0.040 0.395 -#> gnM:28A1990 gnMr:2 gnMr:4 gnMr:8 d28A1990:2 -#> genMarco -#> date28Aug1990 -#> densf2 -#> densf4 -#> densf8 -#> genMarco:date28Aug1990 -#> genMarco:densf2 0.213 -#> genMarco:densf4 0.158 0.165 -#> genMarco:densf8 0.130 0.136 0.101 -#> date28Aug1990:densf2 0.418 0.400 0.066 0.054 -#> date28Aug1990:densf4 0.192 0.041 0.247 0.025 0.160 -#> date28Aug1990:densf8 0.252 0.054 0.040 0.395 0.211 -#> genMarco:date28Aug1990:densf2 -0.591 -0.565 -0.093 -0.077 -0.707 -#> genMarco:date28Aug1990:densf4 -0.272 -0.058 -0.349 -0.035 -0.113 -#> genMarco:date28Aug1990:densf8 -0.357 -0.076 -0.056 -0.559 -0.149 -#> d28A1990:4 d28A1990:8 gM:28A1990:2 gM:28A1990:4 -#> genMarco -#> date28Aug1990 -#> densf2 -#> densf4 -#> densf8 -#> genMarco:date28Aug1990 -#> genMarco:densf2 -#> genMarco:densf4 -#> genMarco:densf8 -#> date28Aug1990:densf2 -#> date28Aug1990:densf4 -#> date28Aug1990:densf8 0.097 -#> genMarco:date28Aug1990:densf2 -0.113 -0.149 -#> genMarco:date28Aug1990:densf4 -0.707 -0.068 0.160 -#> genMarco:date28Aug1990:densf8 -0.068 -0.707 0.211 0.097 -#> -#> Standardized Within-Group Residuals: -#> Min Q1 Med Q3 Max -#> -1.69200677 -0.60443077 -0.08494936 0.54315774 1.88973883 -#> -#> Number of Observations: 64 -#> Number of Groups: 4#> numDF denDF F-value p-value -#> (Intercept) 1 45 108.51118 <.0001 -#> gen 1 45 9.22296 0.0040 -#> date 1 45 9.82424 0.0030 -#> densf 3 45 13.20545 <.0001 -#> gen:date 1 45 2.18519 0.1463 -#> gen:densf 3 45 0.06028 0.9804 -#> date:densf 3 45 4.71544 0.0060 -#> gen:date:densf 3 45 0.42959 0.7328-# Table 3 of Piepho, using transformation -m4 <- aov( yield^.235 ~ gen * date * densf + block, dat ) -summary(m4) -#> Df Sum Sq Mean Sq F value Pr(>F) -#> gen 1 0.3677 0.3677 10.203 0.002562 ** -#> date 1 0.5873 0.5873 16.294 0.000208 *** -#> densf 3 2.0902 0.6967 19.330 3.37e-08 *** -#> block 3 0.8409 0.2803 7.776 0.000274 *** -#> gen:date 1 0.0713 0.0713 1.979 0.166364 -#> gen:densf 3 0.0252 0.0084 0.233 0.873171 -#> date:densf 3 0.3822 0.1274 3.535 0.022038 * -#> gen:date:densf 3 0.0030 0.0010 0.028 0.993624 -#> Residuals 45 1.6220 0.0360 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1-# } -
mcleod.barley.Rd
Yield and yield components for barley with different seeding rates.
-A data frame with 40 observations on the following 10 variables.
year
year, numeric
site
site factor
rate
rate, numeric
plants
plants per sq meter
tillers
tillers per plant
heads
heads per plant
surviving
percent surviving tillers
grains
grains per head
weight
weight of 1000 grains
yield
yield tons/hectare
Trials were conducted at 5 sites, 3 years in South Canterbury. - (not all sites in every year). - Values are the average of 6 blocks. In 1974 there was a - severe drought. The other years had favorable growing conditions.
-C. C. McLeod (1982). - Effects of rates of seeding on barley sown for grain. - New Zealand Journal of Experimental Agriculture, 10, 133-136. - https://doi.org/10.1080/03015521.1982.10427857.
-Maindonald (1992).
- ---library(agridat) - -data(mcleod.barley) -dat <- mcleod.barley - -# Table 3 of McLeod. Across-environment means by planting rate -d1 <- aggregate(cbind(plants, tillers, heads, surviving, grains, - weight, yield) ~ rate, dat, FUN=mean) -# Calculate income based on seed cost of $280/ton, grain $140/ton. -d1 <- transform(d1, income=140*yield-280*rate/1000) -signif(d1,3) -#> rate plants tillers heads surviving grains weight yield income -#> 1 50 112 5.22 4.36 84.0 21.2 46.1 3.97 541 -#> 2 75 163 4.04 3.26 80.9 20.0 45.1 4.26 575 -#> 3 100 203 3.69 2.72 74.3 19.2 44.7 4.38 585 -#> 4 125 239 3.28 2.33 71.9 18.4 43.4 4.41 582 -#> 5 150 294 2.90 2.00 69.5 17.9 42.8 4.47 584## rate plants tillers heads surviving grains weight yield -## 50 112.12 5.22 4.36 83.95 21.25 46.11 3.97 -## 75 162.75 4.04 3.26 80.89 19.95 45.10 4.26 -## 100 202.62 3.69 2.73 74.29 19.16 44.66 4.38 -## 125 239.00 3.28 2.33 71.86 18.45 43.45 4.41 -## 150 293.62 2.90 2.00 69.54 17.94 42.77 4.47 - -# Even though tillers/plant, heads/plant, surviving tillers, -# grains/head, weight/1000 grains are all decreasing as planting -# rate increases, the total yield is still increasing. -# But, income peaks around seed rate of 100. - -libs(lattice) -xyplot(yield +income +surviving +grains +weight +plants +tillers +heads ~ rate, - data=d1, outer=TRUE, type=c('p','l'), - scales=list(y=list(relation="free")), - xlab="Nitrogen rate", ylab="Trait value", - main="mcleod.barley - nitrogen response curves" ) --
mead.cauliflower.Rd
Leaves for cauliflower plants at different times in two years.
-A data frame with 14 observations on the following 4 variables.
year
year factor
degdays
degree days above 32F
leaves
number of leaves
Numbers of leaves for 10 cauliflower plants in each of two years, and - temperature degree-days above 32F, divided by 100.
-The year is 1956-57 or 1957-58.
-Over the data range shown, the number of leaves is increasing - linearly. Extrapolating backwards shows that a linear model is - inappropriate, and so a glm is used.
-Roger Mead, Robert N Curnow, Anne M Hasted. 2002. - Statistical Methods in Agriculture and Experimental Biology, 3rd ed. - Chapman and Hall. Page 251.
-Mick O'Neill. Regression & Generalized Linear (Mixed) Models. - Statistical Advisory & Training Service Pty Ltd.
- --# \dontrun{ - -library(agridat) -data(mead.cauliflower) -dat <- mead.cauliflower - -dat <- transform(dat, year=factor(year)) - -m1 <- glm(leaves ~ degdays + year, data=dat, family=poisson) -coef(m1) -#> (Intercept) degdays year1957 -#> 3.49492453 0.08512651 0.21688760## (Intercept) degdays year1957 -## 3.49492453 0.08512651 0.21688760 - -dat$pred <- predict(m1, type="response") -libs(lattice) -libs(latticeExtra) -xyplot(leaves~degdays, data=dat, groups=year, type=c('p'), - auto.key=list(columns=2), - main="mead.cauliflower - observed (symbol) & fitted (line)", - xlab="degree days", ylab="Number of leaves", ) + - xyplot(pred~degdays, data=dat, groups=year, type=c('l'), col="black") --# } -
mead.cowpea.maize.Rd
Intercropping experiment of maize/cowpea, multiple nitrogen treatments.
-A data frame with 72 observations on the following 6 variables.
block
block, 3 levels
nitro
nitrogen, 4 levels
cowpea
cowpea variety, 2 levels
maize
maize variety, 3 levels
cyield
cowpea yield, kg/ha
myield
maize yield, kg/ha
An intercropping experiment conducted in Nigeria. The four nitrogen - treatments were 0, 40, 80, 120 kg/ha.
-Roger Mead. 1990. A Review of Methodology For The Analysis of Intercropping - Experiments. Training Working Document No. 6. CIMMYT. - https://repository.cimmyt.org/xmlui/handle/10883/868
-Roger Mead, Robert N Curnow, Anne M Hasted. 2002. - Statistical Methods in Agriculture and Experimental Biology, 3rd ed. - Chapman and Hall. Page 390.
-# \dontrun{
-
-library(agridat)
-data(mead.cowpea.maize)
-dat <- mead.cowpea.maize
-
-# Cowpea and maize yields are clearly in competition
-libs("latticeExtra")
-#>
-#> Attaching package: 'latticeExtra'
-#> The following object is masked from 'package:corrgram':
-#>
-#> panel.ellipse
-useOuterStrips(xyplot(myield ~ cyield|maize*cowpea, dat, group=nitro,
- main="mead.cowpea.maize - intercropping",
- xlab="cowpea yield",
- ylab="maize yield", auto.key=list(columns=4)))
-
-
-
-# Mead Table 2 Cowpea yield anova...strongly affected by maize variety.
-anova(aov(cyield ~ block + maize + cowpea + nitro +
- maize:cowpea + maize:nitro + cowpea:nitro +
- maize:cowpea:nitro, dat))
-#> Analysis of Variance Table
-#>
-#> Response: cyield
-#> Df Sum Sq Mean Sq F value Pr(>F)
-#> block 2 73014 36507 2.8019 0.071083 .
-#> maize 2 409446 204723 15.7122 6.298e-06 ***
-#> cowpea 1 6013 6013 0.4615 0.500319
-#> nitro 3 113064 37688 2.8925 0.045320 *
-#> maize:cowpea 2 9910 4955 0.3803 0.685790
-#> maize:nitro 6 67563 11261 0.8642 0.528246
-#> cowpea:nitro 3 172403 57468 4.4106 0.008282 **
-#> maize:cowpea:nitro 6 135379 22563 1.7317 0.135003
-#> Residuals 46 599359 13030
-#> ---
-#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
-# Cowpea mean yields for nitro*cowpea
-aggregate(cyield ~ nitro+cowpea, dat, FUN=mean)
-#> nitro cowpea cyield
-#> 1 N0 C1 482.3333
-#> 2 N1 C1 459.2222
-#> 3 N2 C1 413.1111
-#> 4 N3 C1 511.4444
-#> 5 N0 C2 596.5556
-#> 6 N1 C2 496.7778
-#> 7 N2 C2 478.8889
-#> 8 N3 C2 367.0000
-# Cowpea mean yields for each maize variety
-aggregate(cyield ~ maize, dat, FUN=mean)
-#> maize cyield
-#> 1 M1 581.9167
-#> 2 M2 430.5000
-#> 3 M3 414.5833
-
-# Bivariate analysis
-aov.c <- anova(aov(cyield/1000 ~ block + maize + cowpea + nitro +
- maize:cowpea + maize:nitro + cowpea:nitro +
- maize:cowpea:nitro, dat))
-
-aov.m <- anova(aov(myield/1000 ~ block + maize + cowpea + nitro +
- maize:cowpea + maize:nitro + cowpea:nitro +
- maize:cowpea:nitro, dat))
-
-aov.cm <- anova(aov(cyield/1000 + myield/1000 ~ block + maize + cowpea + nitro +
- maize:cowpea + maize:nitro + cowpea:nitro +
- maize:cowpea:nitro, dat))
-
-biv <- cbind(aov.m[,1:2], aov.c[,2], aov.cm[,2])
-names(biv) <- c('df','maize ss','cowpea ss','ss for sum')
-biv$'sum of prod' <- (biv[,4] - biv[,2] - biv[,3] ) /2
-biv$cor <- biv[,5]/(sqrt(biv[,2] * biv[,3]))
-signif(biv,2)
-#> df maize ss cowpea ss ss for sum sum of prod cor
-#> block 2 0.290 0.0730 0.250 -0.058 -0.400
-#> maize 2 18.000 0.4100 13.000 -2.600 -0.980
-#> cowpea 1 0.027 0.0060 0.058 0.013 1.000
-#> nitro 3 29.000 0.1100 25.000 -1.800 -0.980
-#> maize:cowpea 2 1.100 0.0099 0.920 -0.099 -0.950
-#> maize:nitro 6 1.300 0.0680 0.920 -0.200 -0.680
-#> cowpea:nitro 3 0.240 0.1700 0.150 -0.130 -0.640
-#> maize:cowpea:nitro 6 1.300 0.1400 1.300 -0.033 -0.079
-#> Residuals 46 16.000 0.6000 14.000 -1.400 -0.460
-## df maize ss cowpea ss ss for sum sum of prod cor
-## block 2 0.290 0.0730 0.250 -0.058 -0.400
-## maize 2 18.000 0.4100 13.000 -2.600 -0.980
-## cowpea 1 0.027 0.0060 0.058 0.013 1.000
-## nitro 3 29.000 0.1100 25.000 -1.800 -0.980
-## maize:cowpea 2 1.100 0.0099 0.920 -0.099 -0.950
-## maize:nitro 6 1.300 0.0680 0.920 -0.200 -0.680
-## cowpea:nitro 3 0.240 0.1700 0.150 -0.130 -0.640
-## maize:cowpea:nitro 6 1.300 0.1400 1.300 -0.033 -0.079
-## Residuals 46 16.000 0.6000 14.000 -1.400 -0.460
-
-# }
-
mead.cowpeamaize.Rd
Intercropping experiment of maize/cowpea, multiple nitrogen treatments.
-A data frame with 72 observations on the following 6 variables.
block
block, 3 levels
nitro
nitrogen, 4 levels
cowpea
cowpea variety, 2 levels
maize
maize variety, 3 levels
cyield
cowpea yield, kg/ha
myield
maize yield, kg/ha
An intercropping experiment conducted in Nigeria. The four nitrogen - treatments were 0, 40, 80, 120 kg/ha.
-Roger Mead. 1990. A Review of Methodology For The Analysis of Intercropping - Experiments. Training Working Document No. 6. CIMMYT. - https://repository.cimmyt.org/xmlui/handle/10883/868
-Roger Mead, Robert N Curnow, Anne M Hasted. 2002. - Statistical Methods in Agriculture and Experimental Biology, 3rd ed. - Chapman and Hall. Page 390.
- --# \dontrun{ - -library(agridat) -data(mead.cowpeamaize) -dat <- mead.cowpeamaize - -# Cowpea and maize yields are clearly in competition -libs("latticeExtra") -useOuterStrips(xyplot(myield ~ cyield|maize*cowpea, dat, group=nitro, - main="mead.cowpeamaize - intercropping", - xlab="cowpea yield", - ylab="maize yield", auto.key=list(columns=4))) -- -# Mead Table 2 Cowpea yield anova...strongly affected by maize variety. -anova(aov(cyield ~ block + maize + cowpea + nitro + - maize:cowpea + maize:nitro + cowpea:nitro + - maize:cowpea:nitro, dat)) -#> Analysis of Variance Table -#> -#> Response: cyield -#> Df Sum Sq Mean Sq F value Pr(>F) -#> block 2 73014 36507 2.8019 0.071083 . -#> maize 2 409446 204723 15.7122 6.298e-06 *** -#> cowpea 1 6013 6013 0.4615 0.500319 -#> nitro 3 113064 37688 2.8925 0.045320 * -#> maize:cowpea 2 9910 4955 0.3803 0.685790 -#> maize:nitro 6 67563 11261 0.8642 0.528246 -#> cowpea:nitro 3 172403 57468 4.4106 0.008282 ** -#> maize:cowpea:nitro 6 135379 22563 1.7317 0.135003 -#> Residuals 46 599359 13030 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1#> nitro cowpea cyield -#> 1 N0 C1 482.3333 -#> 2 N1 C1 459.2222 -#> 3 N2 C1 413.1111 -#> 4 N3 C1 511.4444 -#> 5 N0 C2 596.5556 -#> 6 N1 C2 496.7778 -#> 7 N2 C2 478.8889 -#> 8 N3 C2 367.0000#> maize cyield -#> 1 M1 581.9167 -#> 2 M2 430.5000 -#> 3 M3 414.5833-# Bivariate analysis -aov.c <- anova(aov(cyield/1000 ~ block + maize + cowpea + nitro + - maize:cowpea + maize:nitro + cowpea:nitro + - maize:cowpea:nitro, dat)) - -aov.m <- anova(aov(myield/1000 ~ block + maize + cowpea + nitro + - maize:cowpea + maize:nitro + cowpea:nitro + - maize:cowpea:nitro, dat)) - -aov.cm <- anova(aov(cyield/1000 + myield/1000 ~ block + maize + cowpea + nitro + - maize:cowpea + maize:nitro + cowpea:nitro + - maize:cowpea:nitro, dat)) - -biv <- cbind(aov.m[,1:2], aov.c[,2], aov.cm[,2]) -names(biv) <- c('df','maize ss','cowpea ss','ss for sum') -biv$'sum of prod' <- (biv[,4] - biv[,2] - biv[,3] ) /2 -biv$cor <- biv[,5]/(sqrt(biv[,2] * biv[,3])) -signif(biv,2) -#> df maize ss cowpea ss ss for sum sum of prod cor -#> block 2 0.290 0.0730 0.250 -0.058 -0.400 -#> maize 2 18.000 0.4100 13.000 -2.600 -0.980 -#> cowpea 1 0.027 0.0060 0.058 0.013 1.000 -#> nitro 3 29.000 0.1100 25.000 -1.800 -0.980 -#> maize:cowpea 2 1.100 0.0099 0.920 -0.099 -0.950 -#> maize:nitro 6 1.300 0.0680 0.920 -0.200 -0.680 -#> cowpea:nitro 3 0.240 0.1700 0.150 -0.130 -0.640 -#> maize:cowpea:nitro 6 1.300 0.1400 1.300 -0.033 -0.079 -#> Residuals 46 16.000 0.6000 14.000 -1.400 -0.460## df maize ss cowpea ss ss for sum sum of prod cor -## block 2 0.290 0.0730 0.250 -0.058 -0.400 -## maize 2 18.000 0.4100 13.000 -2.600 -0.980 -## cowpea 1 0.027 0.0060 0.058 0.013 1.000 -## nitro 3 29.000 0.1100 25.000 -1.800 -0.980 -## maize:cowpea 2 1.100 0.0099 0.920 -0.099 -0.950 -## maize:nitro 6 1.300 0.0680 0.920 -0.200 -0.680 -## cowpea:nitro 3 0.240 0.1700 0.150 -0.130 -0.640 -## maize:cowpea:nitro 6 1.300 0.1400 1.300 -0.033 -0.079 -## Residuals 46 16.000 0.6000 14.000 -1.400 -0.460 - -# } -
mead.germination.Rd
Seed germination with different temperatures/concentrations
- -A data frame with 64 observations on the following 5 variables.
temp
temperature regimen
rep
replication factor (not blocking)
conc
chemical concentration
germ
number of seeds germinating
seeds
number of seeds tested = 50
The rep factor is NOT a blocking factor.
- -Roger Mead, Robert N Curnow, Anne M Hasted. 2002. - Statistical Methods in Agriculture and Experimental Biology, 3rd ed. - Chapman and Hall. Page 350-351.
-Used with permission of Roger Mead, Robert Curnow, and Anne Hasted.
- -Schabenberger, O. and Pierce, F.J., 2002. - Contemporary statistical models for the plant and soil sciences, - CRC.
- - ---library(agridat) - -data(mead.germination) -dat <- mead.germination -dat <- transform(dat, concf=factor(conc)) -libs(lattice) -xyplot(germ~log(conc+.01)|temp, dat, layout=c(4,1), - main="mead.germination", ylab="number of seeds germinating")-m1 <- glm(cbind(germ, seeds-germ) ~ 1, dat, family=binomial) -m2 <- glm(cbind(germ, seeds-germ) ~ temp, dat, family=binomial) -m3 <- glm(cbind(germ, seeds-germ) ~ concf, dat, family=binomial) -m4 <- glm(cbind(germ, seeds-germ) ~ temp + concf, dat, family=binomial) -m5 <- glm(cbind(germ, seeds-germ) ~ temp * concf, dat, family=binomial) -anova(m1,m2,m3,m4,m5)#> Analysis of Deviance Table -#> -#> Model 1: cbind(germ, seeds - germ) ~ 1 -#> Model 2: cbind(germ, seeds - germ) ~ temp -#> Model 3: cbind(germ, seeds - germ) ~ concf -#> Model 4: cbind(germ, seeds - germ) ~ temp + concf -#> Model 5: cbind(germ, seeds - germ) ~ temp * concf -#> Resid. Df Resid. Dev Df Deviance -#> 1 63 1193.80 -#> 2 60 430.11 3 763.69 -#> 3 60 980.10 0 -549.98 -#> 4 57 148.11 3 831.99 -#> 5 48 55.64 9 92.46## Resid. Df Resid. Dev Df Deviance -## 1 63 1193.80 -## 2 60 430.11 3 763.69 -## 3 60 980.10 0 -549.98 -## 4 57 148.11 3 831.99 -## 5 48 55.64 9 92.46 - -# Show logit and fitted values. T2 has highest germination -subset(cbind(dat, predict(m5), fitted(m5)), rep=="R1")#> temp rep conc germ seeds concf predict(m5) fitted(m5) -#> 1 T1 R1 0.0 9 50 0 -1.81528997 0.140 -#> 2 T1 R1 0.1 13 50 0.1 -0.99462258 0.270 -#> 3 T1 R1 1.0 21 50 1 -0.10008346 0.475 -#> 4 T1 R1 10.0 40 50 10 1.07212067 0.745 -#> 5 T2 R1 0.0 19 50 0 -0.02000067 0.495 -#> 6 T2 R1 0.1 33 50 0.1 0.42634269 0.605 -#> 7 T2 R1 1.0 43 50 1 1.41784272 0.805 -#> 8 T2 R1 10.0 48 50 10 3.31678004 0.965 -#> 9 T3 R1 0.0 7 50 0 -2.14286337 0.105 -#> 10 T3 R1 0.1 1 50 0.1 -2.84385174 0.055 -#> 11 T3 R1 1.0 8 50 1 -1.69591151 0.155 -#> 12 T3 R1 10.0 3 50 10 -2.19722458 0.100 -#> 13 T4 R1 0.0 4 50 0 -2.04065552 0.115 -#> 14 T4 R1 0.1 13 50 0.1 -1.35533214 0.205 -#> 15 T4 R1 1.0 16 50 1 -0.70818506 0.330 -#> 16 T4 R1 10.0 13 50 10 -0.89538405 0.290-
mead.lamb.Rd
Number of lambs born to 3 breeds on 3 farms
-data("mead.lamb")- - -
A data frame with 36 observations on the following 4 variables.
farm
farm: F1, F2, F3
breed
breed: B1, B2, B3
lambclass
lambing class: L0, L1, L2, L3
y
count of ewes in class
The data 'y' are counts of ewes in different lambing classes. - The classes are number of live lambs per birth for 0, 1, 2, 3+ lambs.
-Roger Mead, Robert N Curnow, Anne M Hasted. 2002. - Statistical Methods in Agriculture and Experimental Biology, 3rd ed. - Chapman and Hall. Page 359.
-None
- --# \dontrun{ - -library(agridat) -data(mead.lamb) -dat <- mead.lamb - -# farm 1 has more ewes in lambclass 3 -d2 <- xtabs(y ~ farm+breed+lambclass, data=dat) -mosaicplot(d2, color=c("lemonchiffon1","moccasin","lightsalmon1","indianred"), - xlab="farm/lambclass", ylab="breed", main="mead.lamb") --names(dat) <- c('F','B','L','y') # for compactness -# Match totals in Mead example 14.6 -libs(dplyr) -dat <- group_by(dat, F,B) -summarize(dat, y=sum(y)) -#>#> # A tibble: 9 x 3 -#> # Groups: F [3] -#> F B y -#> <fct> <fct> <int> -#> 1 F1 A 150 -#> 2 F1 B 46 -#> 3 F1 C 78 -#> 4 F2 A 72 -#> 5 F2 B 79 -#> 6 F2 C 28 -#> 7 F3 A 224 -#> 8 F3 B 129 -#> 9 F3 C 34## F B y -## <fctr> <fctr> <int> -## 1 F1 A 150 -## 2 F1 B 46 -## 3 F1 C 78 -## 4 F2 A 72 -## 5 F2 B 79 -## 6 F2 C 28 -## 7 F3 A 224 -## 8 F3 B 129 -## 9 F3 C 34 - - -# Models -m1 <- glm(y ~ F + B + F:B, data=dat, - family=poisson(link=log)) -m2 <- update(m1, y ~ F + B + F:B + L) -m3 <- update(m1, y ~ F + B + F:B + L + B:L) -m4 <- update(m1, y ~ F + B + F:B + L + F:L) -m5 <- update(m1, y ~ F + B + F:B + L + B:L + F:L) - -AIC(m1, m2, m3, m4, m5) # Model 4 has best AIC -#> df AIC -#> m1 9 852.9800 -#> m2 12 306.5457 -#> m3 18 303.5781 -#> m4 18 206.1520 -#> m5 24 213.8873## df AIC -## m1 9 852.9800 -## m2 12 306.5457 -## m3 18 303.5781 -## m4 18 206.1520 -## m5 24 213.8873 - -# Change contrasts for Miroslav -m4 <- update(m4, - contrasts=list(F=contr.sum,B=contr.sum,L=contr.sum)) -summary(m4) -#> -#> Call: -#> glm(formula = y ~ F + B + L + F:B + F:L, family = poisson(link = log), -#> data = dat, contrasts = list(F = contr.sum, B = contr.sum, -#> L = contr.sum)) -#> -#> Deviance Residuals: -#> Min 1Q Median 3Q Max -#> -2.00000 -0.49709 0.04627 0.47793 1.54534 -#> -#> Coefficients: -#> Estimate Std. Error z value Pr(>|z|) -#> (Intercept) 2.38679 0.07147 33.395 < 2e-16 *** -#> F1 0.23967 0.08795 2.725 0.006431 ** -#> F2 -0.44980 0.11371 -3.956 7.63e-05 *** -#> B1 0.56941 0.05214 10.922 < 2e-16 *** -#> B2 0.02240 0.05790 0.387 0.698885 -#> L1 -0.50321 0.11242 -4.476 7.60e-06 *** -#> L2 0.45373 0.08930 5.081 3.76e-07 *** -#> L3 1.42046 0.07553 18.806 < 2e-16 *** -#> F1:B1 0.04256 0.07061 0.603 0.546678 -#> F2:B1 -0.28552 0.08104 -3.523 0.000426 *** -#> F1:B2 -0.59242 0.08541 -6.936 4.03e-12 *** -#> F2:B2 0.35428 0.08405 4.215 2.50e-05 *** -#> F1:L1 -0.34198 0.15261 -2.241 0.025031 * -#> F2:L1 0.01066 0.17867 0.060 0.952420 -#> F1:L2 -0.76829 0.12326 -6.233 4.58e-10 *** -#> F2:L2 0.12824 0.13935 0.920 0.357432 -#> F1:L3 -0.05738 0.09454 -0.607 0.543896 -#> F2:L3 0.23542 0.12030 1.957 0.050351 . -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 -#> -#> (Dispersion parameter for poisson family taken to be 1) -#> -#> Null deviance: 1008.825 on 35 degrees of freedom -#> Residual deviance: 18.845 on 18 degrees of freedom -#> AIC: 206.15 -#> -#> Number of Fisher Scoring iterations: 5 -#>-# Match deviance table from Mead -libs(broom) -all <- do.call(rbind, lapply(list(m1, m2, m3, m4, m5), broom::glance)) -all$model <- unlist(lapply(list(m1, m2, m3, m4, m5), - function(x) as.character(formula(x)[3]))) -all[,c('model','deviance','df.residual')] -#> # A tibble: 5 x 3 -#> model deviance df.residual -#> <chr> <dbl> <int> -#> 1 F + B + F:B 684. 27 -#> 2 F + B + L + F:B 131. 24 -#> 3 F + B + L + F:B + B:L 116. 18 -#> 4 F + B + L + F:B + F:L 18.8 18 -#> 5 F + B + L + F:B + B:L + F:L 14.6 12## model deviance df.residual -## 1 F + B + F:B 683.67257 27 -## 2 F + B + L + F:B 131.23828 24 -## 3 F + B + L + F:B + B:L 116.27069 18 -## 4 F + B + L + F:B + F:L 18.84460 18 -## 5 F + B + L + F:B + B:L + F:L 14.57987 12 - - -if(0){ - # Using MASS::loglm - libs(MASS) - # Note: without 'fitted=TRUE', devtools::run_examples has an error - m4b <- MASS::loglm(y ~ F + B + F:B + L + F:L, data = dat, fitted=TRUE) - # Table of farm * class interactions. Match Mead p. 360 - round(coef(m4b)$F.L,2) - fitted(m4b) - resid(m4b) - # libs(vcd) - # mosaic(m4b, shade=TRUE, - # formula = ~ F + B + F:B + L + F:L, - # residual_type="rstandard", keep_aspect=FALSE) -} - -# } -
mead.strawberry.Rd
RCB experiment of strawberry
-A data frame with 32 observations on the following 5 variables.
row
row
col
column
block
block, 4 levels
gen
genotype, 8 levels
yield
yield, pounds
A hedge along the right side (column 8) caused shading and lower - yields.
-R. Mead said (in a discussion of the Besag & Higdon paper), - "the blocks defined (as given to me by the experimenter) - are the entire horizontal rows...the design of the trial is actually - (and unrecognized by me also) a checker-board of eight half-blocks - with two groups of split-plot varieties".
-The two sub-groups of genotypes are G, V, R1, F and Re, M, E, P.
-Unknown, but prior to 1968 according to Besag. Probably via R. Mead.
-R. Mead, 1990, The Design of Experiments.
-Julian Besag and D Higdon, 1999. - Bayesian Analysis of Agricultural Field Experiments, - Journal of the Royal Statistical Society: Series B (Statistical - Methodology),61, 691--746. Table 4.
- --# \dontrun{ - -library(agridat) -data(mead.strawberry) -dat <- mead.strawberry -dat$sub <- ifelse(is.element(dat$gen, c('G', 'V', 'R1', 'F')), - "S1","S2") - -libs(desplot) -desplot(dat, yield~col*row, - text=gen, cex=1, out1=block, out2=sub, # unknown aspect - main="mead.strawberry") --# } -
mead.turnip.Rd
Density/spacing experiment for turnips in 3 blocks.
-data("mead.turnip")- - -
A data frame with 60 observations on the following 4 variables.
yield
log yield (pounds/plot)
block
block
spacing
row spacing, inches
density
density of seeds, pounds/acre
An experiment with turnips, 3 blocks, 20 treatments in a factorial - arrangement of 5 seeding rates (density) and 4 widths (spacing).
-Roger Mead. (1988). - The Design of Experiments: Statistical Principles for Practical Applications. - Example 12.3. Page 323.
-H. P. Piepho, R. N. Edmondson. (2018). - A tutorial on the statistical analysis of factorial experiments - with qualitative and quantitative treatment factor levels. - Jour Agronomy and Crop Science, 8, 1-27. - https://doi.org/10.1111/jac.12267
- --# \dontrun{ - -library(agridat) -data(mead.turnip) -dat <- mead.turnip - -dat$ratef <- factor(dat$density) -dat$widthf <- factor(dat$spacing) - -m1 <- aov(yield ~ block + ratef + widthf + ratef:widthf, data=dat) -anova(m1) # table 12.10 in Mead -#> Analysis of Variance Table -#> -#> Response: yield -#> Df Sum Sq Mean Sq F value Pr(>F) -#> block 2 3.4168 1.7084 43.6173 1.443e-10 *** -#> ratef 4 25.6476 6.4119 163.7023 < 2.2e-16 *** -#> widthf 3 0.9167 0.3056 7.8011 0.000353 *** -#> ratef:widthf 12 0.9976 0.0831 2.1224 0.038910 * -#> Residuals 38 1.4884 0.0392 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1-# Similar to Piepho fig 10 -libs(lattice) -xyplot(yield ~ log(spacing)|ratef, data=dat, - auto.key=list(columns=5), - main="mead.turnip - log(yield) for each density", - group=ratef) --# } -
mercer.mangold.uniformity.Rd
Uniformity trial of mangolds at Rothamsted Experiment Station, - England, 1910.
-data("mercer.mangold.uniformity")- - -
A data frame with 200 observations on the following 4 variables.
row
row
col
column
roots
root yields, pounds
leaves
leaf yields, pounds
Grown in 1910.
-Each plot was 3 drills, each drill being 2.4 feet wide. - Plots were 1/200 acres, 7.2 feet by 30.25 feet long - The "length of the plots runs with the horizontal lines of figures [in - Table I], this being also the direction of the drills across the field."
-Field width: 10 plots * 30.25ft = 302.5 feet
-Field length: 20 plots * 7.25 ft = 145 feet
-Mercer, WB and Hall, AD, 1911. The experimental error of field trials - The Journal of Agricultural Science, 4, 107-132. Table 1. - https://doi.org/10.1017/S002185960000160X
-McCullagh, P. and Clifford, D., (2006). - Evidence for conformal invariance of crop yields, - Proceedings of the Royal Society A: Mathematical, Physical and - Engineering Science, 462, 2119--2143. - https://doi.org/10.1098/rspa.2006.1667
- --# \dontrun{ - -library(agridat) - - data(mercer.mangold.uniformity) - dat <- mercer.mangold.uniformity - - libs(desplot) - desplot(dat, leaves~col*row, - aspect=145/302, # true aspect - main="mercer.mangold.uniformity - leaves") -- libs(desplot) - desplot(dat, roots~col*row, - aspect=145/302, # true aspect - main="mercer.mangold.uniformity - roots") --# } -
mercer.wheat.uniformity.Rd
Uniformity trial of wheat at Rothamsted Experiment Station, England, 1910.
-A data frame with 500 observations on the following 4 variables.
row
row
col
column
grain
grain yield, pounds
straw
straw yield, pounds
The wheat crop was grown in the summer of 1910 at Rothamsted - Experiment Station (Harpenden, Hertfordshire, England). In the Great Knott, a - seemingly uniform area of 1 acre was harvested in separate plots, each - 1/500th acre in size. The grain and straw from each plot was weighed - separately.
-McCullagh gives more information about the plot size.
-Field width: 25 plots * 8 ft = 200 ft
-Field length: 20 plots * 10.82 ft = 216 ft
-D. G. Rossiter (2014) uses this data for an extensive data analysis - tutorial.
-Mercer, WB and Hall, AD, (1911). - The experimental error of field trials - The Journal of Agricultural Science, 4, 107-132. Table 5. - https://doi.org/10.1017/S002185960000160X
-McCullagh, P. and Clifford, D., (2006). - Evidence for conformal invariance of crop yields, - Proceedings of the Royal Society A: Mathematical, Physical and - Engineering Science, 462, 2119--2143. - https://doi.org/10.1098/rspa.2006.1667
-D. G. Rossiter (2014). Tutorial: Using the R Environment for Statistical Computing - An example with the Mercer & Hall wheat yield dataset.
-G. A. Baker (1941). - Fundamental Distribution of Errors for Agricultural Field Trials. - National Mathematics Magazine, 16, 7-19. - https://doi.org/10.2307/3028105
-The 'spdep' package includes the grain yields - (only) and spatial positions of plot centres in its example dataset - 'wheat'.
-Note, checked that all '4.03' values in this data match the original - document.
- --# \dontrun{ - - library(agridat) - data(mercer.wheat.uniformity) - dat <- mercer.wheat.uniformity - - - libs(desplot) - desplot(dat, grain ~ col*row, - aspect=216/200, # true aspect - main="mercer.wheat.uniformity - grain yield") -- - libs(lattice) - xyplot(straw ~ grain, data=dat, type=c('p','r'), - main="mercer.wheat.uniformity - regression") -- - libs(sp, gstat) - plot.wid <- 2.5 - plot.len <- 3.2 - nr <- length(unique(dat$row)) - nc <- length(unique(dat$col)) - - xy <- expand.grid(x = seq(plot.wid/2, by=plot.wid, length=nc), - y = seq(plot.len/2, by=plot.len, length=nr)) - dat.sp <- dat - coordinates(dat.sp) <- xy - - # heatmap - spplot(dat.sp, zcol = "grain", cuts=8, - cex = 1.6, - col.regions = bpy.colors(8), - main = "Grain yield", key.space = "right") -- # variogram - # Need gstat::variogram to get the right method - vg <- gstat::variogram(grain ~ 1, dat.sp, cutoff = plot.wid * 10, width = plot.wid) - plot(vg, plot.numbers = TRUE, - main="mercer.wheat.uniformity - variogram") --# } -
miguez.biomass.Rd
Biomass of 3 crops in Greece
-data("miguez.biomass")- - -
A data frame with 212 observations on the following 5 variables.
doy
day of year
block
block, 1-4
input
management input, Lo/Hi
crop
crop type
yield
yield tons/ha
Experiment was conducted in Greece in 2009. Yield values are - destructive Measurements of above-ground biomass for fiber sorghum, - maize, sweet sorghum.
-Hi management refers to weekly irrigation and high nitrogen applications. - Lo management refers to bi-weekly irrigation and low nitrogen.
-The experiment had 4 blocks.
-Crops were planted on DOY 141 with 0 yield.
-Fernando E. Miguez. R package nlraa. - https://github.com/femiguez/nlraa
-Sotirios V. Archontoulis and Fernando E. Miguez (2013). - Nonlinear Regression Models and Applications in Agricultural Research. - Agron. Journal, 105:1-13. - https://doi.org/10.2134/agronj2012.0506
-Hamze Dokoohaki. - https://www.rpubs.com/Para2x/100378 - https://rstudio-pubs-static.s3.amazonaws.com/100440_26eb9108524c4cc99071b0db8e648e7d.html
- --# \dontrun{ - - library(agridat) - data(miguez.biomass) - dat <- miguez.biomass - dat <- subset(dat, doy > 141) - - libs(lattice) - xyplot(yield ~ doy | crop*input, data = dat, - main="miguez.biomass", - groups = crop, - type=c('p','smooth'), - auto.key=TRUE) -- - # ---------- - # Archontoulis et al fit some nonlinear models. - # Here is a simple example which does NOT account for crop/input - # Slow, so dont run - if(0){ - dat2 <- transform(dat, eu = paste(block, input, crop)) - dat2 <- groupedData(yield ~ doy | eu, data = dat2) - fit.lis <- nlsList(yield ~ SSfpl(doy, A, B, xmid, scal), - data = dat2, - control=nls.control(maxiter=100)) - print(plot(intervals(fit.lis))) - - libs(nlme) - # use all data to get initial values - inits <- getInitial(yield ~ SSfpl(doy, A, B, xmid, scal), data = dat2) - inits - xvals <- 150:325 - y1 <- with(as.list(inits), SSfpl(xvals, A, B, xmid, scal)) - plot(yield ~ doy, dat2) - lines(xvals,y1) - - # must have groupedData object to use augPred - dat2 <- groupedData(yield ~ doy|eu, data=dat2) - plot(dat2) - - # without 'random', all effects are included in 'random' - m1 <- nlme(yield ~ SSfpl(doy, A, B, xmid,scale), - data= dat2, - fixed= A + B + xmid + scale ~ 1, - # random = B ~ 1|eu, # to make only B random - random = A + B + xmid + scale ~ 1|eu, - start=inits) - fixef(m1) - summary(m1) - plot(augPred(m1, level=0:1), - main="miguez.biomass - observed/predicted data") # only works with groupedData object - } - -# } -
minnesota.barley.weather.Rd
This is monthly weather summaries for the 6 sites where barley yield - trials were conducted.
-A data frame with 719 observations on the following 8 variables.
site
site, 6 levels
year
year, 1927-1936
mo
month, 1-12, numeric
cdd
monthly cooling degree days, Fahrenheit
hdd
monthly heating degree days, Fahrenheit
precip
monthly precipitation, inches
min
monthly average daily minimum temp, Fahrenheit
max
monthly average daily maximum temp, Fahrenheit
When the weather data was extracted from the National Climate Data - Center, the following weather stations were chosen, based on - availability of weather data in the given time frame (1927-1936) - and the proximity to the town (site) for the barley data.
-site | station name | station |
Morris | MORRIS WC EXPERIMENTAL STATION | USC00215638 |
StPaul | MINNEAPOLIS WEATHER BUREAU DOWNTOWN | USC00215433 |
Crookston | CROOKSTON NW EXPERIMENTAL STATION | USC00211891 |
GrandRapids | GRAND RAPIDS FRS LAB | USC00213303 |
Waseca | WASECA EXPERIMENTAL STATION | USC00218692 |
Duluth | SUPERIOR | USC00478349 |
'cdd' are cooling degree days, which is the number of degree days with - a temperature _above_ 65 Fahrenheit.
-'hdd' are heating degree days, _below_ 65 Fahrenheit.
-No data is available for Duluth in Dec, 1931.
-National Climate Data Center, https://www.ncdc.noaa.gov/.
-Kevin Wright. 2013. Revisiting Immer's Barley Data. - The American Statistitician, 67, 129-133. - https://doi.org/10.1080/00031305.2013.801783
- --# \dontrun{ - -library(agridat) -data(minnesota.barley.yield) -dat <- minnesota.barley.yield -data( minnesota.barley.weather) -datw <- minnesota.barley.weather - - # Weather trends over time - libs(latticeExtra) - useOuterStrips(xyplot(cdd~mo|year*site, datw, groups=year, - main="minnesota.barley", - xlab="month", ylab="Cooling degree days", - subset=(mo > 3 & mo < 10), - scales=list(alternating=FALSE), - type='l', auto.key=list(columns=5))) -- -# Total cooling/heating/precip in Apr-Aug for each site/yr -ww <- subset(datw, mo>=4 & mo<=8) -ww <- aggregate(cbind(cdd,hdd,precip)~site+year, data=ww, sum) - -# Average yield per each site/env -yy <- aggregate(yield~site+year, dat, mean) - -minn <- merge(ww, yy) - - -# Higher yields generally associated with cooler temps, more precip -libs(reshape2) -me <- melt(minn, id.var=c('site','year')) -mey <- subset(me, variable=="yield") -mey <- mey[,c('site','year','value')] -names(mey) <- c('site','year','y') -mec <- subset(me, variable!="yield") -names(mec) <- c('site','year','covar','x') -mecy <- merge(mec, mey) -mecy$yr <- factor(mecy$year) -foo <- xyplot(y~x|covar*site, data=mecy, groups=yr, cex=1, ylim=c(5,65), - par.settings=list(superpose.symbol=list(pch=substring(levels(mecy$yr),4))), - xlab="", ylab="yield", main="minnesota.barley", - panel=function(x,y,...) { - panel.lmline(x,y,..., col="gray") - panel.superpose(x,y,...) - }, - scales=list(x=list(relation="free"))) - libs(latticeExtra) - foo <- useOuterStrips(foo, strip.left = strip.custom(par.strip.text=list(cex=.7))) - combineLimits(foo, margin.x=2L) # Use a common x axis for all rows --# } -
minnesota.barley.yield.Rd
This is an expanded version of the barley data that is often - used to illustrate dot plots.
-A data frame with 647 observations on the following 4 variables.
yield
yield in bu/ac
gen
genotype (variety) factor
year
year
site
site factor, 6 levels
The lattice
package contains a smaller version of this data for
- the years 1931 and 1932.
The following comments are in reference to the mentioned source - documents.
-Notes about Immer (1934).
-The University Farm location is at the city of Saint Paul.
-This source provides the yield data for each of the three blocks at - each location in 1931 and 1932. The following registration numbers - and names are given:
-C.I. number | Variety name |
Minn 184 | Manchuria |
Minn 445 | Glabron |
Minn 440 | Svansota |
Minn 447 | Velvet |
Minn 448 | Trebi |
Minn 457 | Manchuria x Smooth Awn |
Minn 462 | Smooth Awn x Manchuria |
Minn 452 | Peatland |
Minn 475 | Svanhals x Lion |
Minn 529 | Wisconsin No 38 |
Notes about Harlan (1935):
-The 1931 yields match the average values of Immer (1934).
-The Minnesota 474 and 475 cultivars are both 'Svanhals x Lion' crosses.
-No yields are reported at Crookston in 1928 because of a crop failure. (Page 20)
-Also, in the report for North Dakota it says - "the zero yields at Williston, ND in 1931 were caused by drought". (Page 31)
- -Notes about Wiebe (1940):
-The 1932 data generally match the average values from Immer (1934) - with the following notes.
-The data for Glabron at St Paul in 1932 are missing, but given as 36.8 - in Immer (1934). This value is treated as missing in this R dataset.
-The data for Svansota at Morris in 1932 are missing, but given as 35.0 - in Immer (1934). This value is treated as missing in this R dataset.
-The yield for 'Wisconsin 38' at St Paul in 1932 is shown as 3.80, but - 38 in Immer (1934). The latter value is used in this R dataset.
-The yields for No475 in 1932 are not reported in Wiebe (1940), but are - reported in Immer (1934).
-No yields are reported at Morris in 1933 and 1934, because of a crop - failure owing to drought.
-Notes about Hayes (1942).
-This sources gives the block-level yield data for 5 cultivars at 4 - sites in 1932 and 1935. Cultivar 'Barbless' is the same as 'Wisconsin - No38'.
-H V Harlan and P R Cowan and Lucille Reinbach. (1935). - Yields of barley varieties in the United States and Canada, 1927-1931. - United States Dept of Agriculture. - https://naldc.nal.usda.gov/download/CAT86200440/PDF
-Gustav A. Wiebe, Philip Russell Cowan, Lucille Reinbach-Welch. (1940). - Yields of barley varieties in the United States and Canada, 1932-36. - United States Dept of Agriculture. - https://books.google.com/books?id=OUfxLocnpKkC&pg=PA19
-Immer, R. F. and H. K. Hayes and LeRoy Powers. (1934). - Statistical Determination of Barley Varietal Adaptation. - Journal of the American Society of Agronomy, 26, 403-419. - https://doi.org/10.2134/agronj1934.00021962002600050008x
-Hayes, H.K. and Immer, F.R. (1942). - Methods of plant breeding. McGraw Hill.
-Kevin Wright. (2013). Revisiting Immer's Barley Data. - The American Statistitician, 67, 129-133. - https://doi.org/10.1080/00031305.2013.801783
-
-library(agridat)
-
-data(minnesota.barley.yield)
-dat <- minnesota.barley.yield
-dat$yr <- factor(dat$year)
-
-# Drop Dryland, Jeans, CompCross, MechMixture because they have less than 5
-# year-loc values
-dat <- droplevels(subset(dat, !is.element(gen, c("CompCross","Dryland","Jeans","MechMixture"))))
-
-# 1934 has huge swings from one loc to the next
-libs(lattice)
-dotplot(gen~yield|site, dat, groups=yr,
- main="minnesota.barley.yield",
- auto.key=list(columns=5), scales=list(y=list(cex=.5)))
-
-
montgomery.wheat.uniformity.Rd
Uniformity trial of wheat at Nebraska Experiment Station, 1909 & 1911.
-data("montgomery.wheat.uniformity")- - -
A data frame with 448 observations on the following 3 variables.
year
year
col
column
row
row
yield
yield, grams
Experiments were conducted by the Nebraska Experiment Station.
-A field was sown to Turkey winter wheat in the fall of 1908 and - harvested in 1909. The drill, 5.5 feet wide, was driven across the - first series of 14 blocks, the boundaries of the blocks being later - established. Each series was sown the same way, no space was allowed - between the blocks. Each block was 5.5 ft square.
-The experiment was done 3 times with harvests in 1909, 1910, 1911. - A simple heatmap of the 3 years' yields are shown in Montgomery - (1912), figure 3, p. 178.
-The 1909 data are given by Montgomery (1913), figure 10, page 37. - NOTE: North is at the right side of this diagram (as determined by - comparing yield values with the fertility map in Montgomery 1912, p. 178).
-The 1910 data are not available.
-The 1911 data are given by Montgomery (1912), figure 1, page - 165. NOTE: North is at the top of this diagram.
-Surface & Pearl (1916) give a simple method for adjusting yield due to - fertility effects using the 1909 data.
-Field width: 14 plots * 5.5 feet
-Field length: 16 blocks * 5.5 feet
-E. G. Montgomery (1912). - Variation in Yield and Methods of Arranging Plats To Secure - Comparative Results. - Twenty-Fifth Annual Report of the Agricultural Experiment Station of Nebraska, 164-180. - https://books.google.com/books?id=M-5BAQAAMAAJ&pg=RA4-PA164
-E. G. Montgomery (1913). - Experiments in Wheat Breeding: Experimental Error In The Nursery and - Variation in Nitrogen and Yield. - U.S. Dept of Agriculture, Bureau of Plant Industry, Bulletin 269. - Figure 10, page 37. - https://doi.org/10.5962/bhl.title.43602
-Surface & Pearl, (1916). - A method of correcting for soil heterogeneity in variety tests. - Journal of Agricultural Research, 5, 22, 1039-1050. - Figure 2. - https://books.google.com/books?id=BVNyoZXFVSkC&pg=PA1039
- --# \dontrun{ - -library(agridat) - - data(montgomery.wheat.uniformity) - dat <- montgomery.wheat.uniformity - dat09 <- subset(dat, year==1909) - dat11 <- subset(dat, year==1911) - - # Match the figures of Montgomery 1912 Fig 3, p. 178 - libs(desplot) - desplot(dat09, yield ~ col*row, - aspect=1, # true aspect - main="montgomery.wheat.uniformity - 1909 yield") -desplot(dat, yield ~ col*row, subset= year==1911, - aspect=1, # true aspect - main="montgomery.wheat.uniformity - 1911 yield") -- # Surface & Pearl adjust 1909 yield for fertility effects. - # They calculate smoothed yield as (row sum)*(column sum)/(total) - # and subtract this from the overall mean to get 'deviation'. - # We can do something similar with a linear model with rows and columns - # as factors, then predict yield to get the smooth trend. - # Corrected yield = observed - deviation = observed - (smooth-mean) - - m1 <- lm(yield ~ factor(col) + factor(row), data=dat09) - dev1 <- predict(m1) - mean(dat09$yield) - # Corrected. Similar (but not exact) to Surface, fig 2. - dat09$correct <- round(dat09$yield - dev1,0) - - libs(desplot) - desplot(dat09, yield ~ col*row, - shorten="none", text=yield, - main="montgomery.wheat.uniformity 1909 observed") -desplot(dat09, correct ~ col*row, text=correct, - cex=0.8, shorten="none", - main="montgomery.wheat.uniformity 1909 corrected") -# Corrected yields are slightly shrunk toward overall mean - plot(correct~yield,dat09, xlim=c(350,1000), ylim=c(350,1000)) --# } -
moore.uniformity.Rd
Uniformity trials of pole beans, bush beans, sweet corn, carrots, - spring and fall cauliflower at Washington, 1952-1955.
-Each data frame has the following columns at a minimum. Some datasets - have an additional trait column.
row
row
col
column
yield
yield
All trials were grown on sandy loam soil in the Puyallup valley of - Washington. In most experiments a gradient in soil fertility was - evident. Moore & Darroch appear to have assigned 4 treatments to the - plots and used the residual variation to calculate a CV. In the - examples below a 'raw' CV is calculated and is always higher than the - CV given by Moore & Darroch.
-Blue Lake Pole Beans.
-Conducted 1952. Seven pickings were made at about 5-day intervals. - Table 26.
-Field width: 12 rows x 5 feet = 60 feet.
-Field length: 12 ranges x 10 feet = 120 feet.
-Bush Beans.
-Conducted in 1955. Two harvests. Table 27.
-Field width: 24 rows x 3 feet = 72 feet.
-Field length: 24 ranges x 5 feet = 120 feet.
-Sweet Corn.
-Conducted 1952. Table 28-29.
-Field width: 24 rows x 3 feet = 72 feet.
-Field length: 12 ranges x 10 feet = 120 feet.
-Carrot.
-Conducted 1952. Table 30.
-Field width: 24 rows * 1.5 feet = 36 feet.
-Field length: 12 ranges * 5 feet = 60 feet.
-Spring Cauliflower.
-Conducted spring 1951. Five harvests. Table 31-32.
-Field width: 12 rows x 3 feet = 36 feet.
-Field length: 10 plants * 1.5 feet * 20 ranges = 300 feet.
-Fall Cauliflower.
-Conducted fall 1951. Five harvests. Table 33-34.
-Field width: 12 rows x 3 feet = 36 feet.
-Field length: 10 plants * 1.5 feet * 20 ranges = 300 feet.
-Moore, John F and Darroch, JG. (1956). - Field plot technique with Blue Lake pole beans, bush beans, carrots, - sweet corn, spring and fall cauliflower. - Washington Agricultural Experiment Stations, Institute of Agricultural Sciences, State College of Washington.
-None.
- --# \dontrun{ - -library(agridat) - - cv <- function(x) sd(x)/mean(x) - - libs(desplot) - - # Pole Bean - data(moore.polebean.uniformity) - cv(moore.polebean.uniformity$yield) # 8.00. Moore says 6.73. -#> [1] 0.07998926desplot(moore.polebean.uniformity, yield~col*row, - flip=TRUE, tick=TRUE, aspect=120/60, # true aspect - main="moore.polebean.uniformity - yield") -- # Bush bean - data(moore.bushbean.uniformity) - cv(moore.bushbean.uniformity$yield) # 12.1. Moore says 10.8 -#> [1] 0.1209518desplot(moore.bushbean.uniformity, yield~col*row, - flip=TRUE, tick=TRUE, aspect=120/72, # true aspect - main="moore.bushbean.uniformity - yield") -- # Sweet corn - data(moore.sweetcorn.uniformity) - cv(moore.sweetcorn.uniformity$yield) # 17.5. Moore says 13.6 -#> [1] 0.1746622desplot(moore.sweetcorn.uniformity, yield~col*row, - flip=TRUE, tick=TRUE, aspect=120/72, # true aspect - main="moore.sweetcorn.uniformity - yield") -## desplot(moore.sweetcorn.uniformity, ears~col*row, - ## flip=TRUE, tick=TRUE, aspect=120/72, # true aspect - ## main="moore.sweetcorn.uniformity - ears") - ## libs(lattice) - ## xyplot(yield ~ ears, moore.sweetcorn.uniformity) - - libs(desplot) - # Carrot - data(moore.carrot.uniformity) - cv(moore.carrot.uniformity$yield) # 33.4. Moore says 27.6 -#> [1] 0.3345489desplot(moore.carrot.uniformity, yield~col*row, - flip=TRUE, tick=TRUE, aspect=60/36, # true aspect - main="moore.carrot.uniformity - yield") -- libs(desplot) - # Spring cauliflower - data(moore.springcauliflower.uniformity) - cv(moore.springcauliflower.uniformity$yield) # 21. Moore says 19.5 -#> [1] 0.2100339desplot(moore.springcauliflower.uniformity, yield~col*row, - flip=TRUE, tick=TRUE, aspect=300/36, # true aspect - main="moore.springcauliflower.uniformity - yield") -## desplot(moore.springcauliflower.uniformity, heads~col*row, - ## flip=TRUE, tick=TRUE, aspect=300/36, # true aspect - ## main="moore.springcauliflower.uniformity - heads") - ## libs(lattice) - ## xyplot(yield ~ heads, moore.springcauliflower.uniformity) - - libs(desplot) - # Fall cauliflower - data(moore.fallcauliflower.uniformity) - cv(moore.fallcauliflower.uniformity$yield) # 17.7. Moore says 17.0 -#> [1] 0.1772603desplot(moore.fallcauliflower.uniformity, yield~col*row, - flip=TRUE, tick=TRUE, aspect=300/36, # true aspect - main="moore.fallcauliflower.uniformity - yield") -## desplot(moore.fallcauliflower.uniformity, heads~col*row, - ## flip=TRUE, tick=TRUE, aspect=300/36, # true aspect - ## main="moore.fallcauliflower.uniformity - heads") - ## libs(lattice) - ## xyplot(yield ~ heads, moore.fallcauliflower.uniformity) - -# } -
nagai.strawberry.uniformity.Rd
Uniformity trial of strawberry in Brazil.
-data("nagai.strawberry.uniformity")- - -
A data frame with 432 observations on the following 3 variables.
row
row
col
column
yield
yield grams/plot
A uniformity trial of strawberry, at Jundiai, Brazil, in April 1976.
-The spacing between plants and rows was 0.3 m. Test area was 233.34 m^2. -There were 18 rows of 144 plants. Each plat consisted of 6 consecutive plants. -There were 432 plats, each 0.54 m^2.
-Field length: 18 rows * 0.3 m = 5.4 m.
-Field width: 24 columns * 6 plants * 0.3 m = 43.2 m.
-Violeta Nagai (1978). - Tamanho da parcela e numero de repeticoes em experimentos com morangueiro (Plot size and number of repetitions in experiments with strawberry). - Bragantia, 37, 71-81. Table 2, page 75. - https://dx.doi.org/10.1590/S0006-87051978000100009
-None
- --# \dontrun{ - -library(agridat) - - data(nagai.strawberry.uniformity) - dat <- nagai.strawberry.uniformity - - # CV matches Nagai - # with(dat, sd(yield)/mean(yield)) - # 23.42 - - libs(desplot) - desplot(dat, yield ~ col*row, - flip=TRUE, aspect=(5.4)/(43.2), # true aspect - main="nagai.strawberry.uniformity") -# } -
nair.turmeric.uniformity.Rd
Uniformity trial of turmeric in India, 1984.
-data("nair.turmeric.uniformity")- - -
A data frame with 864 observations on the following 3 variables.
row
row ordinate
col
column ordinate
yield
yield per plot, kg
An experiment conducted at the College of Horticulture, Vellanikkara, - India, in 1984. The crop was grown in raised beds.
-The gross experimental area was 74.2 m long x 15.2 m wide. Small - elevated beds 0.6 m x 1.5 m were raised providing channels of 0.4 m - around each bed. One row of beds all around the experiment was - discarded to eliminate border effects. After discarding the borders, - there were 432 beds in the experiment. At the time of harvest, each - bed was divided into equal plots of size .6 m x .75 m, and the yield - from each plot was recorded.
- -Field map on page 64 of Nair.
-Field length: 14 plots * .6 m + 13 alleys * .4 m = 13.6 m
-Field width: 72 plots * .75 m + 35 alleys * .4 m = 68 m
-Data found in the appendix.
-Nair, B. Gopakumaran (1984). - Optimum plot size for field experiments on turmeric. - Thesis, Kerala Agriculture University. - https://krishikosh.egranth.ac.in/handle/1/5810147397
-None.
- --# \dontrun{ - - library(agridat) - data(nair.turmeric.uniformity) - dat <- gopakumaran.turmeric.uniformity -#> Error in eval(expr, envir, enclos): object 'gopakumaran.turmeric.uniformity' not found- libs(desplot) - desplot(dat, yield ~ col*row, - flip=TRUE, aspect=13.6/68, - main="nair.turmeric.uniformity") -#> Error in desplot(dat, yield ~ col * row, flip = TRUE, aspect = 13.6/68, main = "nair.turmeric.uniformity"): object 'dat' not found-# } -
narain.sorghum.uniformity.Rd
Uniformity trial of sorghum in Pakistan, 1936.
-data("narain.sorghum.uniformity")- - -
A data frame with 160 observations on the following 3 variables.
row
row
col
column
yield
yield, maunds per 1/40 acre
A uniformity trial with chari (sorghum) at Rawalpindi Agricultural - Station (Pakistan) in kharif (monsoon season) in 1936. Each plot was - 36 feet by 30.25 feet. The source document does not describe the - orientation of the plots, but the fertility map shown in Narain figure - 1 shows the plots are taller than wide.
-Field width: 10 plots * 30.25 feet
-Field length: 16 plots * 36 feet
-R. Narain and A. Singh, (1940). - A Note on the Shape of Blocks in Field Experiments. - Ind. J. Agr. Sci., 10, 844-853. Page 845. - https://archive.org/stream/in.ernet.dli.2015.271745
-None
- --# \dontrun{ - -library(agridat) - - data(narain.sorghum.uniformity) - dat <- narain.sorghum.uniformity - - # Narain figure 1 - libs(desplot) - desplot(dat, yield ~ col*row, - flip=TRUE, aspect=(16*36)/(10*30.25), - main="narain.sorghum.uniformity") --# } -
nass.corn.Rd
Yields and acres harvested in each state for the major agricultural - crops in the United States, from approximately 1900 to 2011. - Crops include: barley, corn, cotton, hay, rice, sorghum, soybeans, wheat.
-nass.barley - nass.corn - nass.cotton - nass.hay - nass.sorghum - nass.wheat - nass.rice - nass.soybean- - -
year
year
state
state factor
acres
acres harvested
yield
average yield
Be cautious with yield values for states with small acres harvested.
-Yields are in bushels/acre, except: cotton pounds/acre, hay tons/acre, - rice pounds/acre.
-Each crop is in a separate dataset: nass.barley, nass.corn, nass.cotton, - nass.hay, nass.sorghum, nass.wheat, nass.rice, nass.soybean.
-United States Department of Agriculture, - National Agricultural Statistics Service. - https://quickstats.nass.usda.gov/
- ---library(agridat) - -data(nass.corn) -dat <- nass.corn - -# Use only states that grew at least 100K acres of corn in 2011 -keep <- droplevels(subset(dat, year == 2011 & acres > 100000))$state -dat <- droplevels(subset(dat, is.element(state, keep))) - -# Acres of corn grown each year -libs(lattice) -xyplot(acres ~ year|state, dat, type='l', as.table=TRUE, - main="nass.corn: state trends in corn acreage") --## Plain levelplot, using only states -## libs(reshape2) -## datm <- acast(dat, year~state, value.var='yield') -## redblue <- colorRampPalette(c("firebrick", "lightgray", "#375997")) -## levelplot(datm, aspect=.7, col.regions=redblue, -## main="nass.corn", -## scales=list(x=list(rot=90, cex=.7))) - -# Model the rate of genetic gain in Illinois as a piecewise regression -# Breakpoints define periods of open-pollinated varieties, double-cross, -# single-cross, and transgenic hybrids. - -dil <- subset(nass.corn, state=="Illinois" & year >= 1900) -m1 <- lm(yield ~ pmin(year,1932) + pmax(1932, pmin(year, 1959)) + - pmax(1959, pmin(year, 1995)) + pmax(1995, year), dil) -signif(coef(m1)[-1],3) # Rate of gain for each segment -#> pmin(year, 1932) pmax(1932, pmin(year, 1959)) -#> -0.19 1.48 -#> pmax(1959, pmin(year, 1995)) pmax(1995, year) -#> 1.75 2.30-
nebraska.farmincome.Rd
Nebraska farm income in 2007 by county
-A data frame with 93 observations on the following 4 variables.
county
county
crop
crop income, thousand dollars
animal
livestock and poultry income, thousand dollars
area
area of each county, square miles
The variables for each county are:
-Value of farm products sold - crops (NAICS) 2007 (adjusted)
-Value of farm products sold - livestock, 2007 (adjusted).
-Area in square miles.
-Note: Cuming county is a very important beef-producing county. - Some counties are not reported to protect privacy. - Western Nebraska is dryer and has lower income. - South-central Nebraska is irrigated and has higher crop income per - square mile.
-U.S. Department of Agriculture-National Agriculture Statistics - Service. https://censtats.census.gov/usa/usa.shtml
- --# \dontrun{ - -library(agridat) - -data(nebraska.farmincome) -dat <- nebraska.farmincome - -libs(maps, mapproj, latticeExtra) -# latticeExtra for mapplot - -dat$stco <- paste0('nebraska,', dat$county) -# Scale to million dollars per county -dat <- transform(dat, crop=crop/1000, animal=animal/1000) - -# Raw, county-wide incomes. Note the outlier Cuming county -redblue <- colorRampPalette(c("firebrick", "lightgray", "#375997")) -mapplot(stco ~ crop + animal, data = dat, colramp=redblue, - main="nebraska.farmincome", - xlab="Farm income from animals and crops (million $ per county)", - scales = list(draw = FALSE), - map = map('county', 'nebraska', plot = FALSE, fill = TRUE, - projection = "mercator") ) --# Now scale to income/mile^2 -dat <- within(dat, { - crop.rate <- crop/area - animal.rate <- animal/area -}) -# And use manual breakpoints. -mapplot(stco ~ crop.rate + animal.rate, data = dat, colramp=redblue, - main="nebraska.farmincome: income per square mile (percentile breaks)", - xlab="Farm income (million $ / mi^2) from animals and crops", - scales = list(draw = FALSE), - map = map('county', 'nebraska', plot = FALSE, fill = TRUE, - projection = "mercator"), - # Percentile break points - # breaks=quantile(c(dat$crop.rate, dat$animal.rate), - # c(0,.1,.2,.4,.6,.8,.9,1), na.rm=TRUE) - # Fisher-Jenks breakpoints via classInt package - # breaks=classIntervals(na.omit(c(dat$crop.rate, dat$animal.rate)), - # n=7, style='fisher')$brks - breaks=c(0,.049, .108, .178, .230, .519, .958, 1.31)) --# } -
nonnecke.peas.uniformity.Rd
Uniformity trial of canning peas in southern Alberta, 1957.
-data("nonnecke.peas.uniformity")- - -
A data frame with 540 observations on the following 5 variables.
block
block factor
row
row
col
column
vines
vines weight, pounds
peas
shelled peas weight, pounds
Width of basic plot was 10 feet, length was 5 feet, as limited by the - viner. At each of two blocks/locations, planting consisted of 18 rows - (only 15 rows were harvested) that were 10 feet wide and 90 feet - long. Rows were separated by 7 foot bare ground to facilitate - harvesting. Nonnecke 1960 shows a map of one block.
-Plots were harvested with a five foot mower. Vines from - each plot were weighed, then shelled. The two blocks/locations were - side by side and combined by Nonnecke. The optimum plot size was found - to be 5 feet long and 10 feet wide.
-Field width: 15 rows * 10 ft/row + 14 gaps * 7 ft/gap = 248 feet
-Field length: 18 plots * 5 ft/plot = 90 feet
-Ib Libner Nonnecke. 1958. - Yield variability of sweet corn and canning peas as affected by plot size and shape. - Thesis at Oregon State College. - https://hdl.handle.net/1957/23367
-I. L. Nonnecke, 1960. - The precision of field experiments with vegetable crops as influenced by plot and block size and shape: II. Canning peas. - Canadian Journal of Plant Science, 40(2): 396-404. - https://doi.org/10.4141/cjps60-053
- --# \dontrun{ - -library(agridat) - - data(nonnecke.peas.uniformity) - dat <- nonnecke.peas.uniformity - - libs(desplot) - desplot(dat, vines~col*row|block, - tick=TRUE, flip=TRUE, aspect=248/90, # true aspect - main="nonnecke.peas.uniformity - vines") -desplot(dat, peas~col*row|block, - tick=TRUE, flip=TRUE, aspect=248/90, # true aspect - main="nonnecke.peas.uniformity - peas") -- libs(lattice) - xyplot(peas~vines|block,dat, - xlab="vine weight", ylab="shelled pea weight", - main="nonnecke.peas.uniformity") --# } -
nonnecke.sweetcorn.uniformity.Rd
Uniformity trials of sweet corn in Alberta, 1956.
-data("nonnecke.sweetcorn.uniformity")- - -
A data frame:
loc
location
row
row
col
column
yield
yield of marketable ears, pounds
Experiments were conducted at three locations in Southern Alberta at - Lethbridge, Vauxhall, and Cranford in 1956. Plot layout was 32 rows, - each 179 feet long, allowing 18 ten-foot plots per row. Rows were 3 - feet apart, thinned to one foot between plants. A double guard row - surrounded the entire plot. The same two persons were assigned to - harvest the corn from all locations. All 576 plots were harvested in - one day. Optimal plot sizes were found to be 10ft x 6ft or 20ft by - 3ft. The R data uses row/column for plot/row.
-Field width: 18 plots * 10 ft = 180 feet
-Field length: 32 rows * 3 ft = 96 feet
-Ib Libner Nonnecke. 1958. - Yield variability of sweet corn and canning peas as affected by plot size and shape. - Thesis at Oregon State College. - https://hdl.handle.net/1957/23367
-I. L. Nonnecke, 1959. - The precision of field experiments with vegetable crops as influenced by plot and block size and shape: I. Sweet corn. - Canadian Journal of Plant Science, 39(4): 443-457. Tables 1-7. - https://doi.org/10.4141/cjps59-061
- --# \dontrun{ - -library(agridat) - - # Corn 1 - data(nonnecke.sweetcorn.uniformity) - dat <- nonnecke.sweetcorn.uniformity - - libs(desplot) - desplot(dat, yield~col*row|loc, - flip=TRUE, tick=TRUE, aspect=96/180, # true aspect - main="nonnecke.sweetcorn.uniformity") --# } -
obsi.potato.uniformity.Rd
Uniformity trial of potato in Africa in 2001
-data("obsi.potato.uniformity")- - -
A data frame with 2569 observations on the following 4 variables.
loc
location, 2 levels
row
row
col
column
yield
yield
Data collected from potato uniformity trials at Hollota (L1) and Kulumsa (L2). - Each field was 0.15 hectares. - In each field, 75cm between rows and 60cm between plants. The basic - units harvested were 1.2m x 1.5m. It is not clear which way the plots - are oriented in the field with respect to the rows and columns.
-At location L1, plot (10,7) was 22.5 in the source document, but was - changed to 2.25 for this electronic data.
-Note the horizontal banding of 8 or 9 rows at location L1.
-Dechassa Obsi. 2008. - Application of Spatial Modeling to the Study of Soil Fertility Pattern. - MS Thesis, Addis Ababa University. Page 122-125. - https://etd.aau.edu.et/handle/123456789/3221
-None.
- --library(agridat) -data(obsi.potato.uniformity) -dat <- obsi.potato.uniformity - -# libs(dplyr) -# dat <- group_by(dat, loc) -# summarize(dat, yield=mean(yield)) -## loc yield -## <fct> <dbl> -## 1 L1 2.54 # Obsi says 2.55 -## 2 L2 5.31 # Obsi says 5.36 - -# \dontrun{ -libs(desplot) -desplot(dat, yield ~ col*row, subset=loc=="L1", - main="obsi.potato.uniformity - loc L1", - flip=TRUE, tick=TRUE) -desplot(dat, yield ~ col*row, subset=loc=="L2", - main="obsi.potato.uniformity - loc L2", - flip=TRUE, tick=TRUE) -# } -
odland.soy.uniformity.Rd
Uniformity trials of soy hay and soybeans at Virginia Experiment - Station, 1925-1926.
-Data frames with 3 variables.
row
row
col
column
yield
yield: hay in tons, beans in bushels
Grown at West Virginia Experiment Station in 1925 & 1926. - Soybeans were planted in rows 30 inches apart.
-Soy hay
-In 1925 the crop was harvested for forage, 42 rows, each 200 feet long. - Yields of 8-foot plats recorded.
-Field width: 42 plots * 30 in / 12in/ft = 105 ft
-Field length: 24 plots * 8 feet = 192 feet + border = total 200 feet.
-Soy beans
-In 1926 the crop was harvested for seed, 55 rows, each 232 feet - long. Yields of 8-foot plats were recorded. - In 1926, data for the last row on page 96 seems to be missing.
-Field width: 55 plots * 30 in / 12in/ft = 137.5 feet
-Field length: 28 plots * 8 feet = 224 feet + border = total 232 feet.
-Odland and Garber provide no agronomic context for the yield variation.
-Odland, TE and Garber, RJ. 1928. - Size of Plat and Number of Replications in Field Experiments with - Soybeans. - Agronomy Journal, 20, 93--108. - https://doi.org/10.2134/agronj1928.00021962002000020002x
- --# \dontrun{ - -library(agridat) - - libs(desplot) - - data(odland.soyhay.uniformity) - dat1 <- odland.soyhay.uniformity - desplot(dat1, yield ~ col*row, - flip=TRUE, aspect=200/105, # true aspect - main="odland.soyhay.uniformity") -- data(odland.soybean.uniformity) - dat2 <- odland.soybean.uniformity - desplot(dat2, yield ~ col*row, - flip=TRUE, aspect = 232/137, - main="odland.soybean.uniformity") --# } -
odland.soybean.uniformity.Rd
Uniformity trials of soy hay and soybeans at Virginia Experiment - Station, 1925-1926.
-Data frames with 3 variables.
row
row
col
column
yield
yield: hay in tons, beans in bushels
Grown at West Virginia Experiment Station in 1925 & 1926. - Soybeans were planted in rows 30 inches apart.
-Soy hay
-In 1925 the crop was harvested for forage, 42 rows, each 200 feet long. - Yields of 8-foot plats recorded.
-Field width: 42 plots * 30 in / 12in/ft = 105 ft
-Field length: 24 plots * 8 feet = 192 feet + border = total 200 feet.
-Soy beans
-In 1926 the crop was harvested for seed, 55 rows, each 232 feet - long. Yields of 8-foot plats were recorded. - In 1926, data for the last row on page 96 seems to be missing.
-Field width: 55 plots * 30 in / 12in/ft = 137.5 feet
-Field length: 28 plots * 8 feet = 224 feet + border = total 232 feet.
-Odland and Garber provide no agronomic context for the yield variation.
-Odland, TE and Garber, RJ. 1928. - Size of Plat and Number of Replications in Field Experiments with - Soybeans. - Agronomy Journal, 20, 93--108. - https://doi.org/10.2134/agronj1928.00021962002000020002x
-# \dontrun{
-
-library(agridat)
-
- libs(desplot)
-
- data(odland.soyhay.uniformity)
- dat1 <- odland.soyhay.uniformity
- desplot(dat1, yield ~ col*row,
- flip=TRUE, aspect=200/105, # true aspect
- main="odland.soyhay.uniformity")
-
-
- data(odland.soybean.uniformity)
- dat2 <- odland.soybean.uniformity
- desplot(dat2, yield ~ col*row,
- flip=TRUE, aspect = 232/137,
- main="odland.soybean.uniformity")
-
-
-# }
-
omer.sorghum.Rd
Multi-environment trial of sorghum, 6 environments
-data("omer.sorghum")- - -
A data frame with 432 observations on the following 4 variables.
env
environment
rep
replication
gen
genotype factor
yield
yield, kg/ha
Trials were conducted in Sudan, 3 years at 2 locations, 4 reps in RCBD - at each location. The year and location have been combined to form 6 - environments. Only environments are given in the data, not the - individual year and location.
-Siraj Osman Omer, Abdel Wahab Hassan Abdalla, Mohammed Hamza Mohammed, Murari Singh (2015). - Bayesian estimation of genotype-by-environment interaction in sorghum variety trials - Communications in Biometry and Crop Science, 10 (2), 82-95.
-Electronic data provided by Siraj Osman Omer.
-None.
- ---library(agridat) - -data(omer.sorghum) -dat <- omer.sorghum - -# REML approach -libs(lme4) -libs(lucid) - -# 1 loc, 2 years. Match Omer table 1. -m1 <- lmer(yield ~ 1 + env + (1|env:rep) + (1|gen) + (1|gen:env), - data=subset(dat, is.element(env, c('E2','E4')))) -vc(m1) -#> grp var1 var2 vcov sdcor -#> gen:env (Intercept) <NA> 17050 130.6 -#> gen (Intercept) <NA> 2760 52.54 -#> env:rep (Intercept) <NA> 959.2 30.97 -#> Residual <NA> <NA> 43090 207.6## grp var1 var2 vcov sdcor -## gen:env (Intercept) <NA> 17050 130.6 -## gen (Intercept) <NA> 2760 52.54 -## env:rep (Intercept) <NA> 959.1 30.97 -## Residual <NA> <NA> 43090 207.6 - -# 1 loc, 3 years. Match Omer table 1. -m2 <- lmer(yield ~ 1 + env + (1|env:rep) + (1|gen) + (1|gen:env), - data=subset(dat, is.element(env, c('E2','E4','E6')))) -vc(m2) -#> grp var1 var2 vcov sdcor -#> gen:env (Intercept) <NA> 22210 149 -#> gen (Intercept) <NA> 9287 96.37 -#> env:rep (Intercept) <NA> 1332 36.5 -#> Residual <NA> <NA> 40270 200.7## grp var1 var2 vcov sdcor -## gen:env (Intercept) <NA> 22210 149 -## gen (Intercept) <NA> 9288 96.37 -## env:rep (Intercept) <NA> 1332 36.5 -## Residual <NA> <NA> 40270 200.7 - -# all 6 locs. Match Omer table 3, frequentist approach -m3 <- lmer(yield ~ 1 + env + (1|env:rep) + (1|gen) + (1|gen:env), - data=dat) -vc(m3) -#> grp var1 var2 vcov sdcor -#> gen:env (Intercept) <NA> 21340 146.1 -#> env:rep (Intercept) <NA> 1152 33.95 -#> gen (Intercept) <NA> 1169 34.19 -#> Residual <NA> <NA> 24660 157## grp var1 var2 vcov sdcor -## gen:env (Intercept) <NA> 21340 146.1 -## env:rep (Intercept) <NA> 1152 33.95 -## gen (Intercept) <NA> 1169 34.2 -## Residual <NA> <NA> 24660 157 - -
onofri.winterwheat.Rd
Multi-environment trial of winter wheat, 7 years, 8 gen
-data("onofri.winterwheat")- - -
A data frame with 168 observations on the following 5 variables.
year
year, numeric
block
block, 3 levels
plot
plot, numeric
gen
genotype, 7 levels
yield
yield for each plot
Yield of 8 durum winter wheat varieties across 7 years with 3 reps.
-Downloaded electronic version from here Nov 2015: - https://www.casaonofri.it/Biometry/index.html
-Used with permission of Andrea Onofri.
-Andrea Onofri, Egidio Ciriciofolo (2007). - Using R to Perform the AMMI Analysis on Agriculture Variety Trials. - R News, Vol. 7, No. 1, pp. 14-19.
-F. Mendiburu. - AMMI. - https://tarwi.lamolina.edu.pe/~fmendiburu/AMMI.htm
-A. Onofri. - https://accounts.unipg.it/~onofri/RTutorial/CaseStudies/WinterWheat.htm
- ---library(agridat) -data(onofri.winterwheat) -dat <- onofri.winterwheat -dat <- transform(dat, year=factor(dat$year)) - -m1 <- aov(yield ~ year + block:year + gen + gen:year, dat) -anova(m1) # Matches Onofri figure 1 -#> Analysis of Variance Table -#> -#> Response: yield -#> Df Sum Sq Mean Sq F value Pr(>F) -#> year 6 159.279 26.5466 178.3996 < 2.2e-16 *** -#> gen 7 11.544 1.6491 11.0824 2.978e-10 *** -#> year:block 14 3.922 0.2801 1.8826 0.03738 * -#> year:gen 42 27.713 0.6598 4.4342 6.779e-10 *** -#> Residuals 98 14.583 0.1488 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1# } - -
ortiz.tomato.Rd
Multi-environment trial of tomato in Latin America, weight/yield and environmental covariates
-data("ortiz.tomato.covs") - data("ortiz.tomato.yield")- - -
The ortiz.tomato.covs
data frame has 18 observations on the following 18 variables.
env
environment
Day
degree days (base 10)
Dha
days to harvest
Driv
drivings (0/1)
ExK
extra potassium (kg / ha)
ExN
extra nitrogen (kg / ha)
ExP
extra phosphorous (kg / ha)
Irr
irrigation (0/1)
K
potassium (me/100 g)
Lat
latitude
Long
longitude
MeT
mean temperature (C)
MnT
min temperature (C)
MxT
max temperature (C)
OM
organic matter (percent)
P
phosphorous (ppm)
pH
soil pH
Prec
precipitation (mm)
Tri
trimming (0/1)
The ortiz.tomato.yield
data frame has 270 observations on the following 4 variables.
env
environment
gen
genotype
yield
marketable fruit yield t/ha
weight
fruit weight, g
The environment locations are:
E04 | Estanzuela, Guatemala |
E05 | Baja Verapaz, Guatemala |
E06 | Cogutepeque, El Salvador |
E07 | San Andres, El Salvador |
E11 | Comayagua, Honduras |
E14 | Valle de Sabaco, Nicaragua |
E15 | San Antonio de Belen, Costa Rica |
E20 | San Cristobal, Dominican Republic |
E21 | Constanza, Dominican Republic |
E27 | Palmira, Colombia |
E40 | La Molina, Peru |
E41 | Santiago, Chile |
E42 | Chillan, Chile |
E43 | Curacavi, Chile |
E44 | Colina, Chile |
E50 | Belem, Brazil |
E51 | Caacupe, Paraguay |
E53 | Centeno, Trinidad Tobago |
Used with permission of Rodomiro Ortiz.
-Rodomiro Ortiz and Jose Crossa and Mateo Vargas and Juan Izquierdo, 2007. - Studying the Effect of Environmental Variables On the Genotype x - Environment Interaction of Tomato. - Euphytica, 153, 119--134. - https://doi.org/10.1007/s10681-006-9248-7
- --# \dontrun{ - -library(agridat) -data(ortiz.tomato.covs) -data(ortiz.tomato.yield) - -libs(pls, reshape2) -# Double-centered yield matrix -Y <- acast(ortiz.tomato.yield, env ~ gen, value.var='yield') -Y <- sweep(Y, 1, rowMeans(Y, na.rm=TRUE)) -Y <- sweep(Y, 2, colMeans(Y, na.rm=TRUE)) - -# Standardized covariates -X <- ortiz.tomato.covs -rownames(X) <- X$env -X <- X[,c("MxT", "MnT", "MeT", "Prec", "Day", "pH", "OM", "P", "K", - "ExN", "ExP", "ExK", "Trim", "Driv", "Irr", "Dha")] -X <- scale(X) - -# Now, PLS relating the two matrices. -# Note: plsr deletes observations with missing values - -m1 <- plsr(Y~X) -# Inner-product relationships similar to Ortiz figure 1. -biplot(m1, which="x", var.axes=TRUE, main="ortiz.tomato - env*cov biplot") -#biplot(m1, which="y", var.axes=TRUE) -# } -
pacheco.soybean.Rd
Yields of 18 soybean genotypes at 11 environments in Brazil.
-gen
genotype, 18 levels
env
environment, 11 levels
yield
yield, kg/ha
In each environment was used an RCB design with 3 reps. The means of - the reps are shown here.
-Used with permission of Robert Pacheco.
-R M Pacheco, J B Duarte, R Vencovsky, J B Pinheiro, A B Oliveira, - (2005). Use of supplementary genotypes in AMMI analysis. - Theor Appl Genet, 110, 812-818. - https://doi.org/10.1007/s00122-004-1822-6
- --# \dontrun{ - -library(agridat) -data(pacheco.soybean) -dat <- pacheco.soybean - -# AMMI biplot similar to Fig 2 of Pacheco et al. -libs(agricolae) -m1 <- with(dat, AMMI(env, gen, REP=1, yield)) -bip <- m1$biplot[,1:3] -# Fig 1 of Pacheco et al. -with(bip, plot(yield, PC1, cex=0.0, - text(yield,PC1,labels=row.names(bip), col="blue"), - xlim=c(1000,3000),main="pacheco.soybean - AMMI biplot",frame=TRUE)) -with(bip[19:29,], points(yield, PC1, cex=0.0, - text(yield,PC1,labels=row.names(bip[19:29,]), - col="darkgreen"))) --# } -
paez.coffee.uniformity.Rd
Uniformity trial of coffee in Caldas Columbia
-data("paez.coffee.uniformity")- - -
A data frame with 4190 observations on the following 5 variables.
plot
plot number
row
row
col
column
year
year
yield
yield per tree, kilograms
The field map on Paez page 56, has plots 1 to 838. - The data tables on page 79-97 have data for plots 1 to 900.
-Note: The 'row' ordinate in this data would imply that the rows and - columns are perpendicular. But the field map on page 56 of Paez shows - that the rows are not at a 90-degree angle compared to the columns, - but only at a 60-degree angle compared to the columns. In other - words, the columns are vertical, and the rows are sloping up and right - at about 30 degrees.
-Paez looks at blocks that are 1,2,...36 trees in size. - Page 30 shows annual CV.
-Gilberto Paez Bogarin (1962). - Estudios sobre tamano y forma de parcela para ensayos en cafe. - Instituto Interamericano de Ciencias Agricolas de la O.E.A. Centro Tropical de Investigacion y Ensenanza para Graduados. Costa Rica. - https://hdl.handle.net/11554/1892
-None
- --# \dontrun{ - -library(agridat) -data(paez.coffee.uniformity) -dat <- paez.coffee.uniformity - -libs(reshape2, corrgram) - datt <- acast(dat, plot ~ year) -#>corrgram(datt, lower.panel=panel.pts, - main="paez.coffee.uniformity") -- -# Not quite right. The rows are not actually horizontal. See notes above. -libs(desplot) -desplot(dat, yield ~ col*row,subset=year=="Y1", - tick=TRUE, aspect=1, - main="paez.coffee.uniformity - Y1") -desplot(dat, yield ~ col*row,subset=year=="Y2", - tick=TRUE, aspect=1, - main="paez.coffee.uniformity - Y2") -desplot(dat, yield ~ col*row,subset=year=="Y3", - tick=TRUE, aspect=1, - main="paez.coffee.uniformity - Y3") -desplot(dat, yield ~ col*row,subset=year=="Y4", - tick=TRUE, aspect=1, - main="paez.coffee.uniformity - Y4") -desplot(dat, yield ~ col*row,subset=year=="Y5", - tick=TRUE, aspect=1, - main="paez.coffee.uniformity - Y5") --# } -
panse.cotton.uniformity.Rd
Uniformity trial of cotton in India in 1934.
-data("panse.cotton.uniformity")- - -
A data frame with 1280 observations on the following 3 variables.
row
row
col
column
yield
total yield per plot, grams
A uniformity trial of cotton at the Institute of Plant Industry, Indore, India.
-The trial consisted of 128 rows of cotton with a spacing of 14 in between rows and length 186 feet 8 in.
-Each harvested plot was 4 rows wide and 4 ft 8 in long, measuring 1/2000 acre.
-Four pickings were made between Nov 1933 and Jan 1934. The data here are the total yields.
-The fertility map shows appreciable variation, not following any - systematic pattern.
-Field length: 40 plots * 4 feet 8 inches = 206 feet 8 inches
-Field width: 32 plots * 4 rows/plot * 14 inches/row = 150 feet
-Conclusions: Lower error was obtained when the plots were long rows - instead of across the rows.
-V. G. Panse (1941). - Studies in the technique of field experiments. V. Size and shape of - blocks and arrangements of plots in cotton trials. - The Indian Journal Of Agricultural Science, 11, 850-867 - https://archive.org/details/in.ernet.dli.2015.271747/page/n955
-Hutchinson, J. B. and V. G. Panse (1936). - Studies in the technique of field experiments. I. Size, shape and - arrangement of plots in cotton trials. - Indian J. Agric. Sci., 5, 523-538. - https://archive.org/details/in.ernet.dli.2015.271739/page/n599
-V.G. Panse and P.V. Sukhatme. (1954). - Statistical Methods for Agricultural Workers. - First edition page 137. Fourth edition, page 131.
- --# \dontrun{ - -library(agridat) -data(panse.cotton.uniformity) -dat <- panse.cotton.uniformity - -# match the CV of Panse 1954 -# sd(dat$yield)/mean(dat$yield) * 100 -# 32.1 - -# match the fertility map of Hutchinson, fig 1 -libs(desplot) -desplot(dat, yield ~ col*row, - flip=TRUE, aspect=207/150, # true aspect - main="panse.cotton.uniformity") --# } -
parker.orange.uniformity.Rd
Uniformity trial of oranges at Riverside, CA, 1921-1927.
-data("parker.orange.uniformity")- - -
A data frame with 1364 observations on the following 4 variables.
year
year
row
row
col
column
yield
yield, pounds/tree for plot
An orchard of naval oranges was planted in 1917 at the University of - California Citrus Experiment Station at Riverside. The orchard was - maintained under uniform conditions for 10 years.
-Eight Washington Navel orange trees in a single row constituted a - plot. The planting distance is 20 feet between trees within the row - and 24 feet between rows. Every other row was a guard row, so row 2 - and row 4 were observational units, while row 3 was a guard row. For - example, from row 2 to row 4 is 2*24 = 48 feet. Another way to think - of this is that each plot was 48 feet wide, but only the middle 24 - feet was harvested. At each end of the plot was one guard - tree. Including guard trees at the row ends, each row plot was 10 - trees * 20 feet = 200 feet long.
-Field width (west-east) 10 plots * 200 feet = 2000 feet.
-Field length (north-south) 27 plots * 48 feet = 1296 feet.
-An investigation into the variability between plots included - systematic soil surveys, soil moisture, soil nitrates, and inspection - for differences in infestation of the citrus nematode. None of these - factors was considered to be the primary cause of the variations in - yield.
-After the 7 years of uniformity trials, different treatments were - applied to the plots.
-Parker et al. state that soil heterogeneity is considerable and - first-year yields are not predictive of future yields.
-Table 25 has mean top volume per tree for each plot in 1926. Table 26 - has mean area of trunk cross section.
-E. R. Parker & L. D. Batchelor. (1932). - Variation in the Yields of Fruit Trees in Relation to the Planning of Future Experiments. - Hilgardia, 7(2), 81-161. Tables 3-9. - https://doi.org/10.3733/hilg.v07n02p081
-Batchelor, L. D. (Leon Dexter), b. 1884; Parker, E. R. (Edwin Robert), 1896-1952; McBride, Robert, d. 1927. (1928) - Studies preliminary to the establishment of a series of fertilizer - trials in a bearing citrus grove. - Vol B451. Berkeley, Cal. : Agricultural Experiment Station - https://archive.org/details/studiesprelimina451batc
- --# \dontrun{ - -library(agridat) - -data(parker.orange.uniformity) -dat <- parker.orange.uniformity - -# Parker fig 2, field plan -libs(desplot) -dat$year <- factor(dat$year) -# 27 rows * 48 ft x 10 cols * 200 feet -desplot(dat, yield ~ col*row|year, - flip = TRUE, aspect = 27*48/(10*200), # true aspect - main = "parker.orange.uniformity") --# CV across plots in each year. Similar to Parker table 11 -cv <- function(x) { - x <- na.omit(x) - sd(x)/mean(x) -} -round(100*tapply(dat$yield, dat$year, cv),2) -#> 1921 1922 1923 1924 1925 1926 1927 -#> 38.68 21.09 18.74 14.38 13.81 22.32 13.86- -# Correlation of plot yields across years. Similar to Parker table 15. -# Paker et al may have calculated correlation differently. -libs(reshape2) -libs(corrgram) -dat2 <- acast(dat, row+col ~ year, value.var = 'yield') -round(cor(dat2, use = "pair"),3) -#> 1921 1922 1923 1924 1925 1926 1927 -#> 1921 1.000 0.660 0.168 -0.046 0.116 -0.290 -0.046 -#> 1922 0.660 1.000 0.177 0.275 0.470 0.025 0.121 -#> 1923 0.168 0.177 1.000 0.650 0.422 0.433 0.361 -#> 1924 -0.046 0.275 0.650 1.000 0.759 0.681 0.605 -#> 1925 0.116 0.470 0.422 0.759 1.000 0.651 0.558 -#> 1926 -0.290 0.025 0.433 0.681 0.651 1.000 0.617 -#> 1927 -0.046 0.121 0.361 0.605 0.558 0.617 1.000corrgram(dat2, lower = panel.pts, upper = panel.conf, - main="parker.orange.uniformity") -- -# Fertility index. Mean across years (ignoring 1921). Parker table 16 -dat3 <- aggregate(yield ~ row+col, data = subset(dat, year !=1921 ), - FUN = mean, na.rm = TRUE) -round(acast(dat3, row ~ col, value.var = 'yield'),0) -#> 1 2 3 4 5 6 7 8 9 10 -#> 1 87 103 96 103 113 NA NA NA 100 121 -#> 2 95 106 119 104 120 NA NA NA 127 140 -#> 3 111 110 109 99 140 NA NA NA 116 141 -#> 4 78 112 98 114 128 NA NA NA 139 137 -#> 5 98 113 116 110 122 NA NA NA 130 128 -#> 6 102 109 122 128 113 NA NA NA 140 133 -#> 7 93 126 137 128 108 132 NA NA 132 138 -#> 8 100 116 129 119 113 130 NA NA 100 107 -#> 9 92 115 112 119 120 132 NA NA 124 105 -#> 10 98 116 127 135 124 131 NA NA 116 104 -#> 11 98 138 132 137 138 116 120 NA 122 124 -#> 12 103 NA 121 119 115 114 123 NA 118 121 -#> 13 97 121 104 110 117 115 103 NA NA 130 -#> 14 119 119 129 132 129 138 140 NA NA 116 -#> 15 108 131 148 130 152 153 140 NA NA 136 -#> 16 127 127 135 134 126 129 133 152 NA 139 -#> 17 119 NA 140 134 121 139 134 128 NA 128 -#> 18 135 146 146 147 150 143 127 138 NA 136 -#> 19 120 137 119 124 136 142 148 128 NA 133 -#> 20 121 138 135 139 142 150 132 130 NA 122 -#> 21 114 128 157 146 144 142 155 153 NA 138 -#> 22 107 126 143 134 126 NA 144 165 NA 144 -#> 23 NA NA NA NA NA 126 155 155 NA 146 -#> 24 NA NA NA NA NA 129 150 140 NA 118 -#> 25 NA NA NA NA NA 134 142 131 NA 115 -#> 26 NA NA NA NA NA 114 150 149 NA 122 -#> 27 NA NA NA NA NA 114 136 NA NA 108-libs(desplot) -desplot(dat3, yield ~ col*row, - flip = TRUE, aspect = 27*48/(10*200), # true aspect - main = "parker.orange.uniformity - mean across years") --# } -
patterson.switchback.Rd
Switchback experiment on dairy cattle, milk yield for 4 treatments
-data("patterson.switchback")- - -
A data frame with 36 observations on the following 4 variables.
y
response, milk FCM
trt
treatment factor, 4 levels
period
period factor, 3 levls
cow
cow factor, 12 levels
There are three periods. Each cow is assigned to one treatment cycle - like T1-T2-T1, where T1 is the treatment in period P1 and P3, and T2 - is the treatment in period P2.
-There are four treatments.
-All 4*3 = 12 treatment cycles are represented.
-Data were extracted from Lowry, page 70.
-Patterson, H.D. and Lucas, H.L. 1962. - Change-over designs. - Technical Bulletin 147, North Carolina Agricultural Experimental Station.
-Lowry, S.R. 1989. - Statistical design and analysis of dairy nutrition experiments to - improve detection of milk response differences. - Proceedings of the Conference on Applied Statistics in Agriculture, 1989. - https://newprairiepress.org/agstatconference/1989/proceedings/7/
- --# \dontrun{ - -library(agridat) -data(patterson.switchback) -dat <- patterson.switchback - -# Create groupings for first treatment, second treatment -datp1 <- subset(dat, period=="P1") -datp2 <- subset(dat, period=="P2") -dat$p1trt <- datp1$trt[match(dat$cow, datp1$cow)] -dat$p2trt <- datp2$trt[match(dat$cow, datp2$cow)] - -libs(latticeExtra) -useOuterStrips(xyplot(y ~ period|p1trt*p2trt, data=dat, - group=cow, type=c('l','r'), - auto.key=list(columns=5), - main="patterson.switchback", - xlab="First/Third period treatment", - ylab="Second period treatment")) -- -# Create a numeric period variable -dat$per <- as.numeric(substring(dat$period,2)) - -# Need to use 'terms' to preserve the order of the model terms -m1 <- aov(terms(y ~ cow + per:cow + period + trt, keep.order=TRUE), data=dat) -anova(m1) # Match table 2 of Lowry -#> Analysis of Variance Table -#> -#> Response: y -#> Df Sum Sq Mean Sq F value Pr(>F) -#> cow 11 3466.0 315.091 57.1773 2.258e-06 *** -#> cow:per 12 953.5 79.455 14.4182 0.0004017 *** -#> period 1 19.7 19.740 3.5821 0.0950382 . -#> trt 3 58.3 19.418 3.5237 0.0685092 . -#> Residuals 8 44.1 5.511 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1## Analysis of Variance Table -## Df Sum Sq Mean Sq F value Pr(>F) -## cow 11 3466.0 315.091 57.1773 2.258e-06 *** -## cow:per 12 953.5 79.455 14.4182 0.0004017 *** -## period 1 19.7 19.740 3.5821 0.0950382 . -## trt 3 58.3 19.418 3.5237 0.0685092 . -## Residuals 8 44.1 5.511 - -# } -
pearce.apple.Rd
Apple tree yields for 6 treatments with covariate of previous yield.
-A data frame with 24 observations on the following 4 variables.
block
block factor, 4 levels
trt
treatment factor, 6 levels
prev
previous yield in boxes
yield
yield per plot
Treatment 'S' is the standard practice in English apple orchards of - keeping the land clean in the summer.
-The previous yield is the number of boxes of fruit, for the four - seasons previous to the application of the treatments.
-S. C. Pearce (1953). - Field Experiments With Fruit Trees and - Other Perennial Plants. - Commonwealth Bureau of Horticulture and Plantation Crops, Farnham - Royal, Slough, England, App. IV.
-James G. Booth, Walter T. Federer, Martin T. Wells and Russell - D. Wolfinger (2009). A Multivariate Variance Components Model for - Analysis of Covariance in Designed Experiments. - Statistical Science, 24, 223-237.
- --# \dontrun{ - -library(agridat) -data(pearce.apple) -dat <- pearce.apple - -libs(lattice) -xyplot(yield~prev|block, dat, main="pearce.apple", xlab="previous yield") --# Univariate fixed-effects model of Booth et al, using previous -# yield as a covariate. -m1 <- lm(yield ~ trt + block + prev, data=dat) -# Predict values, holding the covariate at its overall mean of 8.3 -newdat <- expand.grid(trt=c('A','B','C','D','E','S'), - block=c('B1','B2','B3','B4'), prev=8.308333) -newdat$pred <- predict(m1, newdata=newdat) -# Average across blocks to get the adjusted mean, Booth et al. Table 1 -tapply(newdat$pred, newdat$trt, mean) -#> A B C D E S -#> 280.4765 266.5666 274.0666 281.1370 300.9175 251.3357# A B C D E S -# 280.4765 266.5666 274.0666 281.1370 300.9175 251.3357 - -# Same thing, but with blocks random -libs(lme4) -m2 <- lmer(yield ~ trt + (1|block) + prev, data=dat) -newdat$pred2 <- predict(m2, newdata=newdat) -tapply(newdat$pred2, newdat$trt, mean) -#> A B C D E S -#> 280.4041 266.5453 274.0453 281.3329 301.3432 250.8291# A B C D E S -# 280.4041 266.5453 274.0453 281.3329 301.3432 250.8291 - -# } -
pearl.kernels.Rd
Counts of yellow/white and sweet/starchy kernels on each of 4 maize - ears by 15 observers.
-A data frame with 59 observations on the following 6 variables.
ear
ear, 8-11
obs
observer, 1-15
ys
number of yellow starchy kernels
yt
yellow sweet
ws
white starchy
wt
white sweet
An ear of white sweet corn was crossed with an ear of yellow starchy - corn. The F1 kernels of the cross were grown and a sample of four - ears was harvested. The F2 kernels of these ears were classified by - each of 15 observers into white/yellow and sweet/starchy.
-By Mendelian genetics, the kernels should occur in the - ratio 9 yellow starch, 3 white starch, 3 yellow sweet, - 1 white sweet.
-The observers had the following positions:
1 | Plant pathologist |
2 | Asst plant pathologist |
3 | Prof agronomy |
4 | Asst prof agronomy |
5 | Prof philosophy |
6 | Biologist |
7 | Biologist |
8 | Asst biologist |
9 | Computer |
10 | Farmer |
11 | Prof plant physiology |
12 | Instructor plant physiology |
13 | Asst plant physiology |
14 | Asst plant physiology |
15 | Prof biology |
Raymond Pearl, 1911. - The Personal Equation In Breeding Experiments Involving Certain - Characters of Maize, Biol. Bull., 21, 339-366. - https://www.biolbull.org/cgi/reprint/21/6/339.pdf
- ---library(agridat) - -data(pearl.kernels) -dat <- pearl.kernels - -libs(lattice) -xyplot(ys+yt+ws+wt~obs|ear, dat, type='l', as.table=TRUE, - auto.key=list(columns=4), - main="pearl.kernels", xlab="observer",ylab="kernels", - layout=c(4,1), scales=list(x=list(rot=90))) --# Test hypothesis that distribution is 'Mendelian' 9:3:3:1 -dat$pval <- apply(dat[, 3:6], 1, function(x) - chisq.test(x, p=c(9,3,3,1)/16)$p.val) -dotplot(pval~obs|ear, dat, layout=c(1,4), main="pearl.kernels", - ylab="P-value for test of 9:3:3:1 distribution") --
pederson.lettuce.repeated.Rd
Repeated measurements of lettuce growth for 3 treatments.
-data("pederson.lettuce.repeated")- - -
A data frame with 594 observations on the following 4 variables.
plant
plant number
day
day of observation
trt
treatment
weight
weight
Experiment conducted in a greenhouse in Silver Bay, Minnesota. Plants were grown hydroponically. -Treatment 1 had 9 plants per raft. Treatment 2 had 18 plants, treatment 3 had 36 plants. -The response variable is weight of plant, roots, soil, cup, and water. The plants were measured repeatedly beginning Dec 1, and ending Jan 9, when the plants were harvested.
-Levi Dawson Pederson (2015). -Mixed Model Analysis for Repeated Measures of Lettuce Growth -Thesis at University of Minnesota. Appendix C. -https://scse.d.umn.edu/sites/scse.d.umn.edu/files/pedersonprojectthesis.pdf
-None
- ---library(agridat) -data(pederson.lettuce.repeated) -dat <- pederson.lettuce.repeated - -libs(lattice) -dat <- dat[order(dat$day),] -xyplot(weight ~ day|trt, dat, type='l', group=plant, layout=c(3,1), -main="pederson.lettuce.repeated") --# \dontrun{ -# Pederson used this SAS MIXED model for unstructured covariance -# proc mixed data=Project.Spacingdata; -# class trt plant day; -# model weight=trt day trt*day; -# repeated day / subject=plant type=un r rcorr; - -# This should give the same results as SAS, but does not. -libs(nlme) -dat <- transform(dat, plant=factor(plant), day=factor(day)) -datg <- groupedData(weight ~ day|plant, data=dat) -un1 <- gls(weight ~ trt * day, data=datg, - correlation=corSymm(value=rep(.6,55), form = ~ 1 | plant), - control=lmeControl(opt="optim", msVerbose=TRUE, - maxIter=500, msMaxIter=500)) -#> initial value 2429.796794 -#> iter 10 value 2043.265582 -#> iter 20 value 2026.878345 -#> iter 30 value 1991.844910 -#> iter 40 value 1974.144855 -#> iter 50 value 1962.086595 -#> iter 60 value 1957.390081 -#> final value 1957.093673 -#> converged#> 'log Lik.' -1955.263 (df=89)-# Comparing the SAS results in Pederson (page 16) and the nlme results, we notice -# the SAS correlations in table 5.2 are unusually low for the first -# column. The nlme results have a higher correlation in the first column -# and just "look" better -un1 -#> Generalized least squares fit by REML -#> Model: weight ~ trt * day -#> Data: datg -#> Log-restricted-likelihood: -977.6315 -#> -#> Coefficients: -#> (Intercept) trtT2 trtT3 day5 day8 day12 -#> 49.26666667 -0.46111111 0.69444444 0.73888889 2.57222222 4.42777778 -#> day15 day18 day21 day26 day33 day36 -#> 5.66666667 7.05555556 11.14444444 19.70555556 26.26111111 32.78888889 -#> day40 trtT2:day5 trtT3:day5 trtT2:day8 trtT3:day8 trtT2:day12 -#> 38.73333333 0.75555556 1.56111111 0.56111111 0.76111111 0.06111111 -#> trtT3:day12 trtT2:day15 trtT3:day15 trtT2:day18 trtT3:day18 trtT2:day21 -#> 0.51666667 -0.05555556 0.69444444 -0.27777778 0.96666667 -0.66666667 -#> trtT3:day21 trtT2:day26 trtT3:day26 trtT2:day33 trtT3:day33 trtT2:day36 -#> -0.86666667 -1.72222222 -3.48333333 -2.55000000 -0.43888889 -2.55000000 -#> trtT3:day36 trtT2:day40 trtT3:day40 -#> -1.89444444 -3.07222222 -6.53888889 -#> -#> Correlation Structure: General -#> Formula: ~1 | plant -#> Parameter estimate(s): -#> Correlation: -#> 1 2 3 4 5 6 7 8 9 10 -#> 2 0.945 -#> 3 0.942 0.980 -#> 4 0.938 0.962 0.986 -#> 5 0.919 0.944 0.973 0.990 -#> 6 0.901 0.922 0.951 0.974 0.994 -#> 7 0.883 0.900 0.929 0.956 0.971 0.979 -#> 8 0.803 0.803 0.845 0.879 0.895 0.909 0.955 -#> 9 0.706 0.701 0.741 0.777 0.799 0.821 0.882 0.954 -#> 10 0.504 0.515 0.555 0.602 0.629 0.656 0.743 0.866 0.944 -#> 11 0.537 0.551 0.587 0.633 0.657 0.683 0.763 0.864 0.929 0.963 -#> Degrees of freedom: 594 total; 561 residual -#> Residual standard error: 5.564987-# } -
perry.springwheat.Rd
Yields of wheat cultivars introduced 1860-1982. Grown in 20 environments.
-data("perry.springwheat")- - -
A data frame with 560 observations on the following 6 variables.
yield
yield, kg/ha
gen
genotype/cultivar factor, 28 levels
env
environment factor, 20 levels
site
site factor
year
year, 1979-1982
yor
year of release, 1860-1982
Twenty-eight of the most significant wheat cultivars of the past - century in Western Australia, were grown in 20 field trials over 4 - years in the Central and Eastern wheat-belt of Australia.
-At the Wongan Hills site there were separate early and late sown - trials in 1979 and 1980. Later sowing dates generally have lower - yields.
-Note: Although not indicated by the original paper, it may be that the - Merredin site in 1979 also had early/late sowing dates.
- -Used with permission of Mario D'Antuono and CSIRO Publishing.
-MW Perry and MF D'Antuono. (1989). - Yield improvement and associated characteristics of some Australian - spring wheat cultivars introduced between 1860 and 1982. - Australian Journal of Agricultural Research, 40(3), 457--472. - https://www.publish.csiro.au/nid/43/issue/1237.htm
- --# \dontrun{ - - library(agridat) - data(perry.springwheat) - dat <- perry.springwheat - - libs(lattice) - xyplot(yield~yor|env, dat, type=c('p','r'), xlab="year of release", - main="perry.springwheat") -- # Show a table of sites*year - # libs(latticeExtra) - # useOuterStrips(xyplot(yield~yor|site*factor(year), dat, - # type=c('p','r'))) - - - # Perry reports a rate of gain of 5.8 kg/ha/year. No model is given. - # We fit a model with separate intercept/slope for each env - m1 <- lm(yield ~ env + yor + env:yor, data=dat) - # Average slope across environments - mean(c(coef(m1)[21], coef(m1)[21]+coef(m1)[22:40])) -#> [1] 5.496781## [1] 5.496781 - - - # ---------- - - # Now a mixed-effects model. Fixed overall int/slope. Random env int/slope. - - # First, re-scale response so we don't have huge variances - dat$y <- dat$yield / 100 - - libs(lme4) - # Use || for uncorrelated int/slope. Bad model. See below. - # m2 <- lmer(y ~ 1 + yor + (1+yor||env), data=dat) - ## Warning messages: - ## 1: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, : - ## Model failed to converge with max|grad| = 0.55842 (tol = 0.002, component 1) - ## 2: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, : - ## Model is nearly unidentifiable: very large eigenvalue - ## - Rescale variables?;Model is nearly unidentifiable: large eigenvalue ratio - ## - Rescale variables? - - # Looks like lme4 is having trouble with variance of intercepts - # There is nothing special about 1800 years, so change the - # intercept -- 'correct' yor by subtracting 1800 and try again. - dat$yorc <- dat$yor - 1800 - m3 <- lmer(y ~ 1 + yorc + (1+yorc||env), data=dat) -#> Warning: Model failed to converge with max|grad| = 1.01901 (tol = 0.002, component 1)- # Now lme4 succeeds. Rate of gain is 100*0.0549 = 5.49 - fixef(m3) -#> (Intercept) yorc -#> 5.8757200 0.0549384## (Intercept) yorc - ## 5.87492444 0.05494464 - - # asreml3 & asreml4 - libs(asreml,lucid) - m3a <- asreml(y ~ 1 + yorc, data=dat, random = ~ env + env:yorc) -#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Fri Dec 11 17:49:48 2020 -#> LogLik Sigma2 DF wall cpu -#> 1 -762.231 3.97642 544 17:49:48 0.0 (1 restrained) -#> 2 -727.921 3.82476 544 17:49:48 0.0 (1 restrained) -#> 3 -697.967 3.71607 544 17:49:48 0.0 -#> 4 -694.459 3.81272 544 17:49:48 0.0 -#> 5 -689.505 3.63995 544 17:49:48 0.0 -#> 6 -688.610 3.56952 544 17:49:48 0.0 -#> 7 -688.560 3.55226 544 17:49:48 0.0 -#> 8 -688.560 3.55102 544 17:49:48 0.0vc(m3) -#> grp var1 var2 vcov sdcor -#> env (Intercept) <NA> 15.09 3.885 -#> env.1 yorc <NA> 0.000627 0.02504 -#> Residual <NA> <NA> 3.525 1.877## grp var1 var2 vcov sdcor - ## env (Intercept) <NA> 11.61 3.407 - ## env.1 yorc <NA> 0.00063 0.02511 - ## Residual <NA> <NA> 3.551 1.884 - - vc(m3a) -#> effect component std.error z.ratio bound %ch -#> env 11.61 4.385 2.6 P 0 -#> env:yorc 0.00063 0.000236 2.7 P 0 -#> units!R 3.551 0.2231 16 P 0## effect component std.error z.ratio con - ## env!env.var 11.61 4.385 2.6 Positive - ## env:yorc!env.var 0.00063 0.000236 2.7 Positive - ## R!variance 3.551 0.2231 16 Positive - -# } -
petersen.sorghum.cowpea.Rd
Intercropping experiment of sorghum/cowpea.
-data("petersen.sorghum.cowpea")
A data frame with 18 observations on the following 5 variables.
block
block
srows
sorghum rows
crows
cowpea rows
syield
sorghum yield, kg/ha
cyield
cowpea yield, kg/ha
An intercropping experiment in Tanzania. The treatments consisted of - four ratios of sorghum rows to cowpea rows as 1:4, 2:3, 3:2, 4:1.
-The sole-crop yields with 5 rows per crop are also given (not part of - the blocks).
-Roger G Petersen (1994). - Agricultural Field Experiments. - Marcel Dekker Inc, New York. - Page 372.
-None
-libs(agridat)
-data(petersen.sorghum.cowpea)
-dat <- petersen.sorghum.cowpea
-
-# Petersen figure 10.4a
-tmp <- dat
-
-with(tmp, plot(srows, syield + cyield,
- col="blue", type='l', xlim=c(0,5), ylim=c(0,4000)) )
-with(tmp, lines(srows, syield) )
-with(tmp, lines(srows, cyield, col="red") )
-title("Cow Pea (red), Sorghum (black), Total (blue)")
-title("petersen.sorghum.cowpea", line=0.5)
-
-
-
piepho.barley.uniformity.Rd
Uniformity trial of barley in Germany
-data("piepho.barley.uniformity")- - -
A data frame with 1080 observations on the following 5 variables.
row
row ordinate
col
column ordinate
yield
yield per plot
Uniformity trial of barley at Ihinger Hof farm, conducted by the - University of Hohenheim, Germany, in 2007.
-Note: The paper by Piepho says "The trial had 30 rows and 36 - columns. Plot widths were 1.90 m along rows and 3.73 m along columns." - However, the SAS code supplement to the paper, called - "PBR_1654_sm_example1.sas", has row=1-36, col=1-30. We cannot - determine which dimension is "row" and which is "column", and - therefore cannot determine the actual dimensions of the field.
-H. P. Piepho & E. R. Williams (2010). - Linear variance models for plant breeding trials. - Plant Breeding, 129, 1-8. - https://doi.org/10.1111/j.1439-0523.2009.01654.x
-None
- --# \dontrun{ - data(piepho.barley.uniformity) - dat <- piepho.barley.uniformity - libs(desplot) - desplot(yield ~ col*row, dat, - tick=TRUE, # aspect unknown - main="piepho.barley.uniformity.csv") -#>- libs(asreml,dplyr) - dat <- mutate(dat, x=factor(col), y=factor(row)) - dat <- arrange(dat, x, y) - - # Piepho AR1xAR1 model (in random term, NOT residual) - m1 <- asreml(data=dat, - yield ~ 1, - random = ~ x + y + ar1(x):ar1(y), - residual = ~ units, - na.action=na.method(x="keep") ) -#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Fri Dec 11 17:49:49 2020 -#> LogLik Sigma2 DF wall cpu -#> 1 -2115.600 15.6955 1075 17:49:49 0.0 (3 restrained) -#> 2 -2101.978 16.5258 1075 17:49:49 0.0 (3 restrained) -#> 3 -2087.509 15.9315 1075 17:49:49 0.0 (3 restrained) -#> 4 -2076.005 15.2437 1075 17:49:49 0.0 (3 restrained) -#> 5 -2071.390 14.9905 1075 17:49:49 0.0 (3 restrained) -#> 6 -2069.380 14.7343 1075 17:49:49 0.0 (2 restrained) -#> 7 -2057.416 13.4665 1075 17:49:49 0.0 (1 restrained) -#> 8 -2052.089 13.5044 1075 17:49:49 0.0 (1 restrained) -#> 9 -2049.050 13.7143 1075 17:49:49 0.0 (1 restrained) -#> 10 -2037.688 13.5521 1075 17:49:49 0.0 -#> 11 -2035.168 13.8721 1075 17:49:49 0.0 -#> 12 -2033.901 13.8242 1075 17:49:49 0.0 -#> 13 -2033.512 13.6703 1075 17:49:49 0.0#> Warning: Log-likelihood not converged#> Warning: Some components changed by more than 1% on the last iteration.#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Fri Dec 11 17:49:49 2020 -#> LogLik Sigma2 DF wall cpu -#> 1 -2033.492 13.6383 1075 17:49:49 0.0 -#> 2 -2033.491 13.6335 1075 17:49:49 0.0 -#> 3 -2033.489 13.6212 1075 17:49:49 0.0 -#> 4 -2033.489 13.6163 1075 17:49:50 0.0# Match Piepho table 3, footnote 4: .9671, .9705 for col,row correlation - # Note these parameters are basically at the boundary of the parameter - # space. Questionable fit. - libs(lucid) - lucid::vc(m1) -#> effect component std.error z.ratio bound %ch -#> x 0.7531 0.5642 1.3 P 0.1 -#> y 1.2 0.7423 1.6 P 0.2 -#> x:y 22.75 15.53 1.5 P 0.1 -#> x:y!x!cor 0.9672 0.02536 38 U 0 -#> x:y!y!cor 0.9708 0.01645 59 U 0 -#> units!R 13.62 0.654 21 P 0# } -
piepho.cocksfoot.Rd
Multi-environment trial of cock's foot, heading dates for 25 varieties in 7 yearsyears
-data("piepho.cocksfoot")- - -
A data frame with 111 observations on the following 3 variables.
gen
genotype factor, 25 levels
year
year, numeric
date
heading date (days from April 1)
These data are heading dates (days from April 1 to heading) of 25 cock's foot - Dactylis glomerata varieties in trials at Hannover, Germany, - repeated over seven years. Values are means over replications.
-Piepho fits a model similar to Finlay-Wilkinson regression, but with - genotype and environment swapped.
-Hans-Pieter Piepho. (1999). - Fitting a Regression Model for Genotype-by-Environment Data on Heading - Dates in Grasses by Methods for Nonlinear Mixed Models. - Biometrics, 55, 1120-1128. - https://doi.org/10.1111/j.0006-341X.1999.01120.x
- --# \dontrun{ - - library(agridat) - data(piepho.cocksfoot) - dat <- piepho.cocksfoot - dat$year <- factor(dat$year) - - libs(lattice) - # Gaussian, not gamma distn - densityplot(~date|year, data=dat, main="piepho.cocksfoot - heading date") -#> -#>#>-#> -#># note mp(random,fixed) - mod3 <- mumm(date ~ -1 + gen + (1|year) + mp(year, gen), dat) - - # Compare to Piepho table 3, "full maximum likelihood" - mod3$sigmas^2 # variances for year:gen, residual match -#> year mp year:gen Residual -#> 17.70292945 0.02944156 0.49024751# year mp year:gen Residual - # 17.70287377 0.02944158 0.49024737 - - # mod3$par_fix # fixed genotypes match - - # mod3$sdreport # estim/stderr - # Estimate Std. Error - # nu 49.0393183 1.55038652 - # nu 42.0889493 1.67597832 - # nu 45.3411252 1.59818620 - # etc - - # mod3$par_rand # random year:gen match - # $`mp year:gen` - # 1990 1991 1992 1993 1994 1995 - # 0.10595661 -0.05298523 0.08228274 -0.09629696 -0.11045540 0.29637268 - -# } - -
polson.safflower.uniformity.Rd
Uniformity trial of safflower at Farmington, Utah, 1962.
-data("polson.safflower.uniformity")- - -
A data frame with 1716 observations on the following 3 variables.
row
row
col
column
yield
yield (grams)
A uniformity trial of safflower at the Utah State University field - station in Farmington, Utah, in 1962. - The field was approximately 0.5 acres in size, 110 x 189 feet. - A four-row planter was used, 22 inches between rows. - Four rows on either side and 12 feet on both ends were removed before - harvesting.
-Yield of threshed grain was recorded in grams.
-Field width: (52 rows + 8 border rows) * 22 in = 110 ft
-Field length: 33 sections * 5ft + 2 borders * 12 ft = 189 ft
-David Polson. 1964. - Estimation of Optimum Size, Shape, and Replicate Number of Safflower Plots for Yield Trials. - Utah State University, All Graduate Theses and Dissertations, 2979. - Table 6. - https://digitalcommons.usu.edu/etd/2979
-None.
- --# \dontrun{ - -library(agridat) - - data(polson.safflower.uniformity) - dat <- polson.safflower.uniformity - - libs(desplot) - desplot(dat, yield ~ col*row, - flip=TRUE, aspect=189/110, # true aspect - main="polson.safflower.uniformity") -- libs(agricolae) - libs(reshape2) - dmat <- acast(dat, row~col, value.var="yield") - # Similar to Polson fig 4. - tab <- index.smith(dmat, col="red", - main="polson.safflower.uniformity - Smith Index", - xlab="Plot size in number of basic plots") -- # Polson p. 25 said CV decreased from 14.3 to 4.5 - # for increase from 1 unit to 90 units. Close match. - tab <- data.frame(tab$uniformity) - - # Polson only uses log(Size) < 2 in his Fig 5, obtained slope -0.63 - coef(lm(log(Vx) ~ log(Size), subset(tab, Size <= 6))) # -0.70 -#> (Intercept) log(Size) -#> 7.7582342 -0.7051578- # Polson table 2 reported labor for - # K1, number of plots, 133 hours 75 - # K2, size of plot, 43.5 hours 24 - # Optimum plot size - # X = b K1 / ((1-b) K2) - # Polson suggests optimum plot size 2.75 to 11 basic plots - -# } -
ratkowsky.onions.Rd
Onion yields for different densities at two locations
-This data frame contains the following columns:
planting density (plants per square meter)
yield (g / plant)
location, Purnong Landing or Virginia
Spanish white onions.
-Ratkowsky, D. A. (1983). - Nonlinear Regression Modeling: A Unified Practical Approach. - New York: Marcel Dekker.
-Ruppert, D., Wand, M.P. and Carroll, R.J. (2003). - Semiparametric Regression. Cambridge University Press. - https://stat.tamu.edu/~carroll/semiregbook/
- --# \dontrun{ - -library(agridat) -data(ratkowsky.onions) -dat <- ratkowsky.onions - -# Model inverse yield as a quadratic. Could be better... -libs(lattice) -dat <- transform(dat, iyield = 1/yield) -m1 <- lm(iyield ~ I(density^2)*loc, dat) -dat$pred <- predict(m1) - -libs(latticeExtra) -foo <- xyplot(iyield ~ density, data=dat, group=loc, auto.key=TRUE, - main="ratkowski.onions",ylab="Inverse yield") -foo + xyplot(pred ~ density, data=dat, group=loc, type='l') --# } -
reid.grasses.Rd
Yields of four grasses for a wide range of nitrogen fertilizer, - conducted over 3 years.
-data("reid.grasses")- - -
A data frame with 210 observations on the following 5 variables.
nitro
nitrogen, 21 numeric levels
year
Y1, Y2, or Y3
gen
genotype
drymatter
dry matter content
protein
protein content
Experiment at the Hannah Research Institute, Ayr.
-Single plots were planted to 4 different kinds of grasses. Within - each plot, 21 nitrogen treatments were randomized.
-Reid modeled the dry matter yield with four-parameter logistic curves - of the form y = a - b exp(-cx^d).
-D. Reid (1985). - A comparison of the yield responses of four grasses to a wide range of nitrogen application rates. - J. Agric. Sci., 105, 381-387. Table 1 & 3. - https://doi.org/10.1017/S0021859600056434
-None
- --# \dontrun{ - - library(agridat) - data(reid.grasses) - dat <- reid.grasses - - libs(latticeExtra) - foo <- xyplot(drymatter + protein ~ nitro|year, dat, group=gen, - auto.key=list(columns=4), - as.table=TRUE, type=c('p','l'), - main="reid.grasses",ylab="drymatter/protein trait value", - scales=list(y=list(relation="free"))) - combineLimits(foo) -- # devtools::run_examples does NOT like groupedData - if (0){ - libs(nlme) - dat2 <- dat - dat2$indiv <- paste(dat$year, dat$gen) # individual year+genotype curves - - # use all data to get initial values - inits <- getInitial(drymatter ~ SSfpl(nitro, A, B, xmid, scal), data = dat2) - inits - ## A B xmid scal - ## -4.167902 12.139796 68.764796 128.313106 - xvals <- 0:800 - y1 <- with(as.list(inits), SSfpl(xvals, A, B, xmid, scal)) - plot(drymatter ~ nitro, dat2) - lines(xvals,y1) - - # must have groupedData object to use augPred - dat2 <- groupedData(drymatter ~ nitro|indiv, data=dat2) - plot(dat2) - - # without 'random', all effects are included in 'random' - m1 <- nlme(drymatter ~ SSfpl(nitro, A, B, xmid,scale), - data= dat2, - fixed= A + B + xmid + scale ~ 1, - random = A + B + xmid + scale ~ 1|indiv, - start=inits) - fixef(m1) - summary(m1) - plot(augPred(m1, level=0:1), - main="reid.grasses - observed/predicted data") # only works with groupedData object - } # if(0) -# } -
ridout.appleshoots.Rd
Root counts for propagated columnar apple shoots.
- -data("ridout.appleshoots")- -
A data frame with 270 observations on the following 4 variables.
roots
number of roots per shoot
trtn
number of shoots per treatment combination
photo
photoperiod, 8 or 16
bap
BAP concentration, numeric
There were 270 micropropagated shoots from the columnar apple cultivar - Trajan. During the rooting period, shoot tips of length 1.0-1.5 cm were - cultured on media with different concentrations of the cytokinin BAP in - two growth chambers with 8 or 16 hour photoperiod.
-The response variable is the number of roots after 4 weeks at 22 degrees C.
-Almost all of the shoots in the 8 hour photoperiod rooted. Under the 16 - hour photoperiod only about half rooted.
-High BAP concentrations often inhibit root formation of apples, but - perhaps not for columnar varieties.
- -Ridout, M. S., Hinde, J. P., and Demetrio, C. G. B. (1998). - Models for Count Data with Many Zeros. - Proceedings of the 19th International Biometric Conference, - 179-192.
-Used with permission of Martin Ridout.
- -SAS. Fitting Zero-Inflated Count Data Models by Using PROC GENMOD. - support.sas.com/rnd/app/examples/stat/GENMODZIP/roots.pdf
- - ---library(agridat) -data(ridout.appleshoots) -dat <- ridout.appleshoots - -# Change photo and bap to factors -dat <- transform(dat, photo=factor(photo), bap=factor(bap)) - -libs(lattice) -# histogram(~roots, dat, breaks=0:18-0.5) - -# For photo=8, Poisson distribution looks reasonable. -# For photo=16, half of the shoots had no roots -# Also, photo=8 has very roughly 1/45 as many zeros as photo=8, -# so we anticipate prob(zero) is about 1/45=0.22 for photo=8. -histogram(~roots|photo, dat, breaks=0:18-0.5, main="ridout.appleshoots")- libs(latticeExtra) - foo.obs <- histogram(~roots|photo*bap, dat, breaks=0:18-0.5, type="density", - xlab="Number of roots for photoperiod 8, 16", - ylab="Density for BAP levels", - main="ridout.appleshoots") - useOuterStrips(foo.obs)- # Ordinary (non-ZIP) Poisson GLM - m1 <- glm(roots ~ bap + photo + bap:photo, data=dat, - family="poisson") - summary(m1) # Appears to have overdispersion#> -#> Call: -#> glm(formula = roots ~ bap + photo + bap:photo, family = "poisson", -#> data = dat) -#> -#> Deviance Residuals: -#> Min 1Q Median 3Q Max -#> -3.7815 -2.2136 -0.2798 0.8681 4.1197 -#> -#> Coefficients: -#> Estimate Std. Error z value Pr(>|z|) -#> (Intercept) 1.76359 0.07559 23.330 < 2e-16 *** -#> bap4.4 0.28625 0.10003 2.862 0.00421 ** -#> bap8.8 0.25131 0.09512 2.642 0.00824 ** -#> bap17.6 0.20352 0.09597 2.121 0.03395 * -#> photo16 -0.57982 0.12617 -4.596 4.31e-06 *** -#> bap4.4:photo16 -0.46450 0.18001 -2.580 0.00987 ** -#> bap8.8:photo16 -0.29299 0.17289 -1.695 0.09014 . -#> bap17.6:photo16 -0.49121 0.17210 -2.854 0.00432 ** -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 -#> -#> (Dispersion parameter for poisson family taken to be 1) -#> -#> Null deviance: 1077.75 on 269 degrees of freedom -#> Residual deviance: 813.04 on 262 degrees of freedom -#> AIC: 1572.9 -#> -#> Number of Fisher Scoring iterations: 6 -#>#>-#> -#> -#> -#> -#>-# Use SAS contrasts to match SAS output -oo <- options(contrasts=c('contr.SAS','contr.poly')) - -# There are unequal counts for each trt combination, which obviously affects -# the distribution of counts, so use log(trtn) as an offset. -dat$ltrtn <- log(dat$trtn) - -# Ordinary Poisson GLM: 1 + bap*photo. -# Zero inflated probability depends only on photoperiod: 1 + photo - -m2 <- zeroinfl(roots ~ 1 + bap*photo | 1 + photo, data=dat, - dist="poisson", offset=ltrtn) -logLik(m2) # -622.2283 matches SAS Output 1#> 'log Lik.' -622.2283 (df=10)#> 'log Lik.' 1244.457 (df=10)#> -#> Call: -#> zeroinfl(formula = roots ~ 1 + bap * photo | 1 + photo, data = dat, offset = ltrtn, -#> dist = "poisson") -#> -#> Pearson residuals: -#> Min 1Q Median 3Q Max -#> -2.5913 -0.8843 -0.2266 0.7357 4.5116 -#> -#> Count model coefficients (poisson with log link): -#> Estimate Std. Error z value Pr(>|z|) -#> (Intercept) -2.1581 0.1033 -20.884 < 2e-16 *** -#> bap2.2 0.6322 0.1449 4.364 1.28e-05 *** -#> bap4.4 0.5209 0.1521 3.425 0.000616 *** -#> bap8.8 0.4058 0.1468 2.765 0.005691 ** -#> photo8 0.4857 0.1193 4.072 4.67e-05 *** -#> bap2.2:photo8 -0.5974 0.1739 -3.434 0.000594 *** -#> bap4.4:photo8 -0.1998 0.1760 -1.135 0.256244 -#> bap8.8:photo8 -0.4074 0.1686 -2.416 0.015686 * -#> -#> Zero-inflation model coefficients (binomial with logit link): -#> Estimate Std. Error z value Pr(>|z|) -#> (Intercept) -0.1033 0.1766 -0.585 0.559 -#> photo8 -4.1698 0.7611 -5.478 4.29e-08 *** -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 -#> -#> Number of iterations in BFGS optimization: 18 -#> Log-likelihood: -622.2 on 10 Df#> (Intercept) photo8 -#> 0.90186501 0.01545465-# Get predicted _probabilities_ - -# Prediction data -newdat <- expand.grid(photo=c(8,16), bap=c(2.2, 4.4, 8.8, 17.6)) -newdat <- aggregate(trtn~bap+photo, dat, FUN=mean) -newdat$ltrtn <- log(newdat$trtn) - -# The predicted (Poisson + Zero) probabilities -d2 <- cbind(newdat[,c('bap','photo')], predict(m2, newdata=newdat, type="prob")) -libs(reshape2) -d2 <- melt(d2, id.var = c('bap','photo')) # wide to tall -d2$xpos <- as.numeric(as.character(d2$variable)) -foo.poi <- xyplot(value~xpos|photo*bap, d2, col="black", pch=20, cex=1.5) - -# Plot data and model -foo.obs <- update(foo.obs, main="ridout.appleshoots: observed (bars) & predicted (dots)") -useOuterStrips(foo.obs + foo.poi)
robinson.peanut.uniformity.Rd
Uniformity trial of peanuts in North Carolina in 1939, 1940.
-data("robinson.peanut.uniformity")- - -
A data frame with 1152 observations on the following 4 variables.
row
row
col
column
yield
yield in grams/plot
year
year
Two crops of peanuts were grown in North Carolina in 1939 and 1940. - A different field was used each year.
-A block of 36 rows 3 feet wide and 200 feet long were harvested in 12.5 foot lengths.
-Field length: 36 plots * 12.5 feet = 200 feet
-Field width: 16 plots * 3 feet = 48 feet
-Widening the plot was not as effective as increasing the plot length - in order to reduce error. This agrees with the results of other - uniformity studies.
-Assuming 30 percent of the total cost of an experiment is proportional - to the size of the plots used, the optimum plot size is approximately - 3.2 units.
-H.F. Robinson and J.A.Rigney and P.H.Harvey (1948). - Investigations In Peanut Plot Technique With Peanuts. - Univ California Tech. Bul. No 86.
-None
- --# \dontrun{ - -library(agridat) - - data(robinson.peanut.uniformity) - dat <- robinson.peanut.uniformity - - # Mean yield per year. Robinson has 703.9, 787.3 - # tapply(dat$yield, dat$year, mean) - # 1939 1940 - # 703.7847 787.8125 - - libs(desplot) - desplot(dat, yield ~ col*row|year, - flip=TRUE, tick=TRUE, aspect=200/48, - main="robinson.peanut.uniformity") --# } -
rothamsted.brussels.Rd
RCB experiment of brussels sprouts, 9 fertilizer treatments
-A data frame with 48 observations on the following 5 variables.
row
row
col
column
yield
yield of saleable sprouts, pounds
trt
treatment, 9 levels
block
block, 4 levels
The block numbers are arbitrary, and may not match the orignal source.
-Plots were 10 yards x 14 yards. Plot orientation is not clear.
-Rothamsted Experimental Station Report 1934-36. - Brussels sprouts: effect of sulphate of ammonia, poultry manure, soot - and rape dust, pp. 191-192. Harpenden: Lawes Agricultural Trust.
-McCullagh, P. and Clifford, D., (2006). - Evidence for conformal invariance of crop yields, - Proceedings of the Royal Society A: Mathematical, Physical and - Engineering Science, 462, 2119--2143. - https://doi.org/10.1098/rspa.2006.1667
- --# \dontrun{ - -library(agridat) -data(rothamsted.brussels) -dat <- rothamsted.brussels - -libs(lattice) -bwplot(yield~trt, dat, main="rothamsted.brussels") -- libs(desplot) - desplot(dat, yield~col*row, - num=trt, out1=block, cex=1, # aspect unknown - main="rothamsted.brussels") --# } -
rothamsted.oats.Rd
RCB experiment of oats, straw and grain, 9 fertilizer treatments
-data("rothamsted.oats")- - -
A data frame with 96 observations on the following 6 variables.
block
block
trt
fertilizer treatment with 9 levels
grain
grain, pounds per plot
straw
straw, pounds per plot
row
row
col
column
Oats (Grey Winter) grown at Rothamsted, Long Hoos field 1926.
-Values of grain and straw are actual weights in pounds. Each plot was 1/40 acre. - The plot dimensions are not given, but the Rothamsted report shows the field being square.
-The treatment codes are: - OA,OB,OC,OD = No top dressing. - E/L = Early/late application. - S/M = Sulphate or muriate of ammonia. - 1/2 = Single or double dressing.
-Rothamsted Report 1925-26, p. 146. - https://www.era.rothamsted.ac.uk/eradoc/article/ResReport1925-26-138-155 - Electronic version of data supplied by David Clifford.
-McCullagh, P. and Clifford, D., (2006). - Evidence for conformal invariance of crop yields, - Proceedings of the Royal Society A: Mathematical, Physical and - Engineering Science, 462, 2119--2143. - https://doi.org/10.1098/rspa.2006.1667
- --# \dontrun{ - - library(agridat) - data(rothamsted.oats) - dat <- rothamsted.oats - - - libs(desplot) - desplot(dat, grain~col*row, - out1=block, text=trt, cex=1, shorten=FALSE, - aspect=1, - main="rothamsted.oats") -desplot(dat, straw~col*row, - out1=block, text=trt, cex=1, shorten=FALSE, - aspect=1, - main="rothamsted.oats") -- - if(0){ - # compare to summary at bottom of page 146, first 3 columns - libs(dplyr) - dat = mutate(dat, - nfert=trt, # number of fertilizer applications - nfert=dplyr::recode(nfert, - "oa"="None", "ob"="None", - "oc"="None", "od"="None", - "1se"="Single", "1sl"="Single", - "1me"="Single", "1ml"="Single", - "2se"="Double", "2sl"="Double", - "2me"="Double", "2ml"="Double")) - # English ton = 2240 pounds, cwt = 112 pounds - # multiply by 40 to get pounds/acre - # divide by: 112 to get hundredweight/acre, 42 to get bushels/acre - # Avoid pipe operator in Rd examples! - dat <- group_by(dat, nfert) - dat <- summarize(dat, straw=mean(straw), grain=mean(grain)) - dat <- mutate(dat, straw= straw * 40/112, grain = grain * 40/42) - ## # A tibble: 3 x 3 - ## nfert straw grain - ## <fct> <dbl> <dbl> - ## 1 Single 50.3 78.9 - ## 2 Double 53.7 77.7 - ## 3 None 44.1 75.4 - } - -# } -
ryder.groundnut.Rd
RCB experiment of groundut, wet and dry yields
-A data frame with 24 observations on the following 6 variables.
block
block
row
row
col
column
gen
genotype factor
wet
wet yield, kg/plot
dry
dry yield, kg/plot
Ryder (1981) uses this data to discuss the importance of looking at - the field plan for an experiment. Based on analysis of the residuals, - he suggests that varieties A and B in block 3 may have had their data - swapped.
-K. Ryder (1981). Field plans: why the biometrician finds them useful, - Experimental Agriculture, 17, 243--256.
-https://doi.org/10.1017/S0014479700011601
- --# \dontrun{ - - library(agridat) - data(ryder.groundnut) - dat <- ryder.groundnut - - # RCB model - m1 <- lm(dry~block+gen,dat) - dat$res1 <- resid(m1) - - # Table 3 of Ryder. Scale up from kg/plot to kg/ha - round(dat$res1 * 596.6,0) -#> [1] -137 206 -92 -77 132 -32 -191 181 -355 32 167 167 -534 -12 -669 -#> [16] 778 152 286 -316 -346 -62 490 296 -62- # Visually. Note largest positive/negative residuals are adjacent - libs(desplot) - desplot(dat, res1 ~ col + row, - text=gen, # aspect unknown - main="ryder.groundnut - residuals") -- - libs(desplot) - # Swap the dry yields for two plots and re-analyze - dat[dat$block=="B3" & dat$gen=="A", "dry"] <- 2.8 - dat[dat$block=="B3" & dat$gen=="B", "dry"] <- 1.4 - m2 <- lm(dry~block+gen, dat) - dat$res2 <- resid(m2) - desplot(dat, res2 ~ col+row, - # aspect unknown - text=gen, main="ryder.groundnut") --# } -
salmon.bunt.Rd
Fungus infection in varieties of wheat
-A data frame with 400 observations on the following 4 variables.
bunt
bunt factor, 20 levels
pct
percent infected
rep
rep factor, 2 levels
gen
genotype factor, 10 levels
Note: Salmon (1938) gives results for all 69 types of bunt, not just - the 20 shown in the paper.
-H. A. Rodenhiser and C. S. Holton (1937) say that races from two - different species of bunt were used, Tilletia tritici and T. levis.
-This data gives the results with 20 types of bunt (fungus) for winter - wheat varieties at Kearneysville, W. Va., in 1935. Altogether there - were 69 types of bunt included in the experiment, of which the 20 in - this data are representative. Each type of wheat was grown in a short - row (5 to 8 feet), the seed of which had been innoculated with the - spores of bunt. The entire seeding was then repeated in the same - order.
-Infection was recorded as a percentage of the total number of heads - counted at or near harvest. The number counted was seldom less than 200 - and sometimes more than 400 per row.
-S.C. Salmon, 1938. - Generalized standard errors for evaluating bunt experiments with wheat. - Agronomy Journal, 30, 647--663. Table 1. - https://doi.org/10.2134/agronj1938.00021962003000080003x
-Salmon says the data came from:
-H. A. Rodenhiser and C. S. Holton (1937). - Physiologic races of Tilletia tritici and T. levis. - Journal of Agricultural Research, 55, 483-496. - naldc.nal.usda.gov/download/IND43969050/PDF
- --# \dontrun{ - -library(agridat) -data(salmon.bunt) -dat <- salmon.bunt - -d2 <- aggregate(pct~bunt+gen, dat, FUN=mean) # average reps -d2$gen <- reorder(d2$gen, d2$pct) -d2$bunt <- reorder(d2$bunt, d2$pct) -# Some wheat varieties (Hohenheimer) are resistant to all bunts, and some (Hybrid128) -# are susceptible to all bunts. Note the groups of bunt races that are similar, -# such as the first 4 rows of this plot. Also note the strong wheat*bunt interaction. -libs(lattice) -redblue <- colorRampPalette(c("firebrick", "lightgray", "#375997")) -levelplot(pct~gen+bunt,d2, col.regions=redblue, - main="salmon.bunt percent of heads infected", - xlab="Wheat variety", ylab="bunt line") -- # We don't have individual counts, so use beta regression - libs(betareg) - dat$y <- dat$pct/100 + .001 # Beta regression does not allow 0 - dat$gen <- reorder(dat$gen, dat$pct) # For a prettier dot plot - - m1 <- betareg(y ~ gen + bunt + gen:bunt, data=dat) - - # Construct 95 percent confidence intervals - p1 <- cbind(dat, - lo = predict(m1, type='quantile', at=.025), - est = predict(m1, type='quantile', at=.5), - up = predict(m1, type='quantile', at=.975)) - p1 <- subset(p1, rep=="R1") - - # Plot the model intervals over the original data - libs(latticeExtra) - dotplot(bunt~y|gen, data=dat, pch='x', col='red', - main="Observed data and 95 pct intervals for bunt infection") + - segplot(bunt~lo+up|gen, data=p1, centers=est, draw.bands=FALSE) -- - # To evaluate wheat, we probably want to include bunt as a random effect... - -# } -
sawyer.multi.uniformity.Rd
Uniformity trials of wheat, swedes, oats at Rothamsted, England, 1925-1927.
-data("sawyer.multi.uniformity")- - -
A data frame with 48 observations on the following 7 variables.
year
year
crop
crop
row
row
col
column
grain
wheat/oats grain weight, pounds
straw
wheat/oats straw weight, pounds
leafwt
swedes leaf weight, pounds
rootwt
swedes root weight, pounds
rootct
swedes root count
An experiment conducted at Rothamsted, England, in 1925-1927, in Sawyers Field.
-Row 6, column 1 was not planted in any year.
-Wheat was harvested in 1925. - Row 1, column 1 had partially missing data for the wheat values in - 1925 and was not used in the Rothamsted summary statistics on page 155.
-Swedes were harvested in 1926.
-Oats were harvested in 1927.
-Note the summaries statistics at the bottom of the page in each report - are calibrated to ACRES.
-Field width: 8 plots * 22 feet = 528 feet
-Field length: 6 plots * 22 feet = 396 feet
-The field is 8 plots wide, 6 plots long. The plots are drawn in the - source documents as squares .098 acres each (1 chain = 66 feet on each - side).
-Eden & Maskell (page 165) say the field was clover, and ploughed in - the autumn of 1924. The field was laid out uniformly in lands of one - chain width and each plot width made to coincide with the land width - from ridge to ridge. The length of each plot was also one chain and - from the point of view of yield data the trial comprised 47 plots in - 8x6 except that the run of the hedge only allowed a rank of five plots - at one of the ends.
-Rothamsted Experimental Station, Report 1925-26. - Lawes Agricultural Trust, p. 154-155. - https://www.era.rothamsted.ac.uk/eradoc/book/84
-Rothamsted Experimental Station, Report 1927-1928. - Lawes Agricultural Trust, p. 153. - https://www.era.rothamsted.ac.uk/eradoc/article/ResReport1927-28-131-175
-Eden, T. and E. J. Maskell. (1928). - The influence of soil heterogeneity on the growth and yield of - successive crops. - Jour of Agricultural Science, 18, 163-185. - https://archive.org/stream/in.ernet.dli.2015.25895/2015.25895.Journal-Of-Agricultural-Science-Vol-xviii-1928#page/n175
-McCullagh, P. and Clifford, D., (2006). - Evidence for conformal invariance of crop yields, - Proceedings of the Royal Society A: Mathematical, Physical and - Engineering Science, 462, 2119--2143. - https://doi.org/10.1098/rspa.2006.1667
-Winifred A. Mackenzie. (1926) - Note on a remarkable correlation between grain and straw, obtained at - Rothamsted. - Journal of Agricultural Science, 16, 275-279. - https://doi.org/10.1017/S0021859600018256
- --# \dontrun{ - - library(agridat) - data("sawyer.multi.uniformity") - dat <- sawyer.multi.uniformity - - libs(desplot) - # The field plan shows square plots - desplot(dat, grain~col*row, - subset= year==1925, - main="sawyer.multi.uniformity - 1925 wheat grain yield", - aspect=(6)/(8)) # true aspect -- desplot(dat, rootwt~col*row, - subset= year==1926, - main="sawyer.multi.uniformity - 1926 root weight of swedes", - aspect=(6)/(8)) -- desplot(dat, grain~col*row, subset= year==1927, - main="sawyer.multi.uniformity - 1927 oats grain yield", - aspect=(6)/(8)) -- - # This plot shows the "outlier" in the wheat data reported by Mackenzie. - libs(lattice) - xyplot(grain ~ straw, data=subset(dat, year==1925)) -#> leafwt rootwt rootct -#> leafwt 1.00 0.66 0.47 -#> rootwt 0.66 1.00 0.43 -#> rootct 0.47 0.43 1.00## leafwt rootwt rootct - ## leafwt 1.00 0.66 0.47 - ## rootwt 0.66 1.00 0.43 - ## rootct 0.47 0.43 1.00 - - ## pairs(dat[,7:9], - ## main="sawyer.multi.uniformity") - -# } -
sayer.sugarcane.uniformity.Rd
Uniformity trial of sugarcane in India, 1933 & 1934.
-data("sayer.sugarcane.uniformity")- - -
A data frame with 2056 observations on the following 4 variables.
row
row
col
column
yield
yield, pounds/plot
year
year
1933 Experiment
-First experiment was conducted in 1933 at Meghaul (Monghyr). -A road was cut through the field, creating blocks 480 ft x 315 ft and 480 ft x 93 ft. (See Plate XLI). -There were 136 rows, 3 feet apart, 480 feet long each. It required 16 days to harvest the 1088 plots. -Each plot was 1/242 acre. The authors conclude that long narrow plots of 12/242 to 16/242 acre would be best.
-Field width: 8 plots * 60 feet = 480 feet
-Field length: 136 rows * 3 feet = 408 feet
-1934 Experiment
-This experiment was conducted at the New Area, Pusa. The experiment was laid out in 6 blocks, each separated by a 3-foot bund. The cutting of the canes began in Jan 1934, taking 24 days. (An earthquake 15 January delayed harvesting). -Conclusion: Variation is reduced by increasing the plot size up to 9/242 acre.
-Field width: 8 plots * 60 feet = 480 feet
-Field length: 121 rows * 3 feet = 363 feet
-1933 Data
-Wynne Sayer, M. Vaidyanathan and S. Subrammonia Iyer (1936). - Ideal size and shape of sugar-cane experimental plots based upon tonnage experiments with Co 205 and Co 213 conducted in Pusa. - Indian J. Agric. Sci., 1936, 6, 684-714. Appendix, page 712. - https://archive.org/details/in.ernet.dli.2015.271737
-1934 data
-Wynne Sayer and Krishna Iyer. (1936). - On some of the factors that influence the error of field experiments with special reference to sugar cane. - Indian J. Agric. Sci., 1936, 6, 917-929. Appendix, page 927. - https://archive.org/details/in.ernet.dli.2015.271737
-None
- --# \dontrun{ - -library(agridat) - - data(sayer.sugarcane.uniformity) - dat33 <- subset(sayer.sugarcane.uniformity, year==1933) - dat34 <- subset(sayer.sugarcane.uniformity, year==1934) - - b1 <- subset(dat33, row<31) - b2 <- subset(dat33, row > 30 & row < 61) - b3 <- subset(dat33, row > 60 & row < 91) - b4 <- subset(dat33, row > 105 & row < 136) - mean(b1$yield) # 340.7 vs Sayer 340.8 -#> [1] 340.7021#> [1] 338.1708#> [1] 331.35#> [1] 295.3833#> [1] 270.8296- libs(desplot) - - desplot(dat33, yield ~ col*row, - flip=TRUE, aspect=408/480, # true aspect - main="sayer.sugarcane.uniformity 1933") -- desplot(dat34, yield ~ col*row, - flip=TRUE, aspect=363/480, # true aspect - main="sayer.sugarcane.uniformity 1934") --# } -
senshu.rice.Rd
Response of rice to solar radiation and temperature
-A data frame with 40 observations on the following 7 variables.
country
country
loc
location
year
year of planting, last two digits
month
month of planting
rad
solar radiation
mint
minimum temperature
yield
yield t/ha
Minimum temperature is the average across 30 days post flowering.
-Opinion: Fitting a quadratic model to this data makes no sense.
-Seshu, D. V. and Cady, F. B. 1984. - Response of rice to solar radiation and temperature estimated from international yield trials. - Crop Science, 24, 649-654. - https://doi.org/10.2135/cropsci1984.0011183X002400040006x
-Walter W. Piegorsch, A. John Bailer. (2005) - Analyzing Environmental Data, Wiley.
- --# \dontrun{ - -library(agridat) - -data(senshu.rice) -dat <- senshu.rice - -# Model 1 of Senshu & Cady -m1 <- lm(yield ~ 1 + rad + mint + I(mint^2), dat) -coef(m1) -#> (Intercept) rad mint I(mint^2) -#> 36.784898356 0.004618273 -2.726776448 0.051599360-# Use Fieller to calculate conf int around optimum minimum temp -# See: Piegorsch & Bailer, p. 31. -# Calculation derived from vegan:::fieller.MOStest -m2 <- lm(yield ~ 1 + mint + I(mint^2), dat) -b1 <- coef(m2)[2] -b2 <- coef(m2)[3] -vc <- vcov(m2) -sig11 <- vc[2,2] -sig12 <- vc[2,3] -sig22 <- vc[3,3] -u <- -b1/2/b2 -tval <- qt(1-.05/2, nrow(dat)-3) -gam <- tval^2 * sig22 / b2^2 -x <- u + gam * sig12 / (2 * sig22) -f <- tval / (-2*b2) -sq <- sqrt(sig11 + 4*u*sig12 + 4*u^2*sig22 - gam * (sig11 - sig12^2 / sig22) ) -ci <- (x + c(1,-1)*f*sq) / (1-gam) -plot(yield ~ mint, dat, xlim=c(17, 32), -main="senshu.rice: Quadratic fit and Fieller confidence interval", - xlab="Minimum temperature", ylab="Yield") -# } -
shafi.tomato.uniformity.Rd
Uniformity trial of tomato in India.
-data("shafi.tomato.uniformity")- - -
A data frame with 200 observations on the following 3 variables.
row
row ordinate
col
column ordinate
yield
yield, kg/plot
The original data was collected on 1m x 1m plots. The data here are - aggregated 2m x 2m plots.
-Field length: 20 row * 2 m = 40 m
-Field width: 10 col * 2 m = 20 m
-Shafi, Sameera (2007). - On Some Aspects of Plot Techniques in Field Experiments on Tomato (Lycopersicon esculentum mill.) in Soils of Kashmir. - Thesis. Univ. of Ag. Sciences & Technology of Kashmir. Table 2.2.1. - https://krishikosh.egranth.ac.in/handle/1/5810083035
-Shafi, Sameera; S.A.Mir, Nageena Nazir, and Anjum Rashid. (2010). - Optimum plot size for tomato by using S-PLUS and R-software's in the soils of Kashmir. - Asian J. Soil Sci., 4, 311-314. - https://www.researchjournal.co.in/upload/assignments/4_311-314.pdf
- --#> Error in eval(expr, envir, enclos): object 'dat' not found- libs(desplot) - desplot(dat, yield ~ col*row, - aspect=40/20, # true aspect - main="shafi.tomato.uniformity") -#> Error in desplot(dat, yield ~ col * row, aspect = 40/20, main = "shafi.tomato.uniformity"): object 'dat' not found# } -
shafii.rapeseed.Rd
Rapeseed yield multi-environment trial, 6 genotypes, 3 years, 14 loc, 3 rep
-A data frame with 648 observations on the following 5 variables.
year
year, numeric: 87, 88, 89
loc
location, 14 levels
rep
rep, 3 levels
gen
genotype, 6 levels
yield
yield, kg/ha
The data are from the U.S. National Winter Rapeseed trials conducted - in 1986, 1987, and 1988. Trial locations included Georgia (GGA, TGA), - Idaho (ID), Kansas (KS), Mississippi (MS), Montana (MT), New York - (NY), North Carolina (NC), Oregon (OR), South Carolina (SC), Tennessee - (TN), Texas (TX), Virginia (VA), and Washington (WA).
-SAS codes for the analysis can be found at - https://webpages.uidaho.edu/cals-statprog/ammi/index.html
- -Electronic version from: - https://www.uiweb.uidaho.edu/ag/statprog/ammi/yld.data
-Used with permission of Bill Price.
-Bahman Shafii and William J Price, 1998. - Analysis of Genotype-by-Environment Interaction Using the - Additive Main Effects and Multiplicative Interaction Model - and Stability Estimates. - JABES, 3, 335--345. - https://doi.org/10.2307/1400587
-Matthew Kramer (2018). - Using the Posterior Predictive Distribution as a Diagnostic Tool for Mixed Models. - Joint Statistical Meetings 2018, Biometrics Section. - https://www.ars.usda.gov/ARSUserFiles/3122/KramerProceedingsJSM2018.pdf
- --# \dontrun{ - -library(agridat) -data(shafii.rapeseed) -dat <- shafii.rapeseed - -dat$gen <- with(dat, reorder(gen, yield, mean)) -dat$loc <- with(dat, reorder(loc, yield, mean)) -dat$yield <- dat$yield/1000 - -dat <- transform(dat, rep=factor(rep), year=as.factor(as.character(year))) -dat$locyr = paste(dat$loc, dat$year, sep="") - -# The 'means' of reps -datm <- aggregate(yield~gen+year+loc+locyr, data=dat, FUN=mean) -datm <- datm[order(datm$gen),] -datm$gen <- as.character(datm$gen) -datm$gen <- factor(datm$gen, - levels=c("Bienvenu","Bridger","Cascade", - "Dwarf","Glacier","Jet")) -dat$locyr <- reorder(dat$locyr, dat$yield, mean) - -libs(lattice) -# This picture tells most of the story -dotplot(loc~yield|gen,group=year,data=dat, - auto.key=list(columns=3), - par.settings=list(superpose.symbol=list(pch = c('7','8','9'))), - main="shafii.rapeseed",ylab="Location") -- -# AMMI biplot. Remove gen and locyr effects. -m1.lm <- lm(yield ~ gen + locyr, data=datm) -datm$res <- resid(m1.lm) -# Convert to a matrix -libs(reshape2) -dm <- melt(datm, measure.var='res', id.var=c('gen', 'locyr')) -dmat <- acast(dm, gen~locyr) -# AMMI biplot. Figure 1 of Shafii (1998) -biplot(prcomp(dmat), main="shafii.rapeseed - AMMI biplot") --# } -
shaw.oats.Rd
Multi-environment trial of oats in India, 13 genotypes, 3 year, 2 loc, - 5 reps
-data("shaw.oats")- - -
A data frame with 390 observations on the following 5 variables.
env
environment, 2 levels
year
year, 3 levels
block
block, 5 levels
gen
genotype variety, 13 levels
yield
yield of oats, pounds per plot
An oat trial in India of 11 hybrid oats compared to 2 established - high-yielding varieties, labeled L and M. The trail was conducted at 2 - locations. The size and exact locations of the plots varied from year - to year.
-At Pusa, the crop was grown without irrigation. At Karnal the crop was - given 2-3 irrigations. Five blocks were used, each plot 1000 square - feet. In 1932, variety L was high-yielding at Pusa, but low-yielding - at Karnal.
-Shaw used this data to illustrate ANOVA for a multi-environment trial.
-F.J.F. Shaw (1936). - A Handbook of Statistics For Use In Plant Breeding and Agricultural Problems. - The Imperial Council of Agricultural Research, India. - https://archive.org/details/HandbookStatistics1936/page/n12 - P. 126
-None
- ---library(agridat) -data(shaw.oats) -dat <- shaw.oats -# sum(dat$yield) # 16309 matches Shaw p. 125 -# sum( (dat$yield-mean(dat$yield)) ^2) # total SS matches Shaw p. 141 - -dat$year <- factor(dat$year) -libs(lattice) - -dotplot(yield ~ gen|env, data=dat, groups=year, - main="shaw.oats", - par.settings=list(superpose.symbol=list(pch=c('2','3','4'))), - panel=function(x,y,...){ - panel.dotplot(x,y,...) - panel.superpose(x,y,..., panel.groups=function(x,y,col.line,...) { - dd<-aggregate(y~x,data.frame(x,y),mean) - panel.xyplot(x=dd$x, y=dd$y, col=col.line, type="l") - })}, - auto.key=TRUE) -- - -# Shaw & Bose meticulously calculate the ANOVA table, p. 141 -m1 <- aov(yield ~ year*env*block*gen - year:env:block:gen, dat) -anova(m1) -#> Analysis of Variance Table -#> -#> Response: yield -#> Df Sum Sq Mean Sq F value Pr(>F) -#> year 2 14475.3 7237.6 352.8158 < 2.2e-16 *** -#> env 1 345.4 345.4 16.8352 8.552e-05 *** -#> block 4 197.8 49.4 2.4102 0.05444 . -#> gen 12 12297.2 1024.8 49.9546 < 2.2e-16 *** -#> year:env 2 5945.6 2972.8 144.9164 < 2.2e-16 *** -#> year:block 8 3175.2 396.9 19.3480 < 2.2e-16 *** -#> env:block 4 735.2 183.8 8.9601 3.422e-06 *** -#> year:gen 24 3839.0 160.0 7.7976 9.418e-14 *** -#> env:gen 12 1314.2 109.5 5.3386 7.617e-07 *** -#> block:gen 48 1112.5 23.2 1.1298 0.30246 -#> year:env:block 8 1012.6 126.6 6.1702 2.067e-06 *** -#> year:env:gen 24 3123.5 130.1 6.3442 2.344e-11 *** -#> year:block:gen 96 2241.1 23.3 1.1380 0.26386 -#> env:block:gen 48 897.2 18.7 0.9112 0.63336 -#> Residuals 96 1969.3 20.5 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1-
silva.cotton.Rd
Number of cotton bolls, nodes, plant height, and plant weight for different levels of defoliation.
-data("silva.cotton")- - -
A data frame with 125 observations on the following 4 variables.
stage
growth stage
defoliation
level of defoliation, 0, 25, 50, 75, 100
plant
plant number
rep
replicate
reproductive
number of reproductive structures
bolls
number of bolls
height
plant height
nodes
number of nodes
weight
weight of bolls
Data come from a greenhouse experiment with cotton plants. Completely - randomized design with 5 replicates, 2 plants per pot.
-Artificial defoliation was used at levels 0, 25, 50, 75, 100 percent.
-Data was collected per plant at five growth stages: vegetative, - flower-bud, blossom, fig and cotton boll.
-The primary response variable is the number of bolls. The data are - counts, underdispersed, correlated.
-Zeviana et al. used this data to compared Poisson, Gamma-count, and - quasi-Poisson GLMs.
-Bonat & Zeviani used this data to fit multivariate correlated - generalized linear model.
- -Used with permission of Walmes Zeviani.
-Electronic version from: - https://www.leg.ufpr.br/~walmes/data/desfolha_algodao.txt
-Silva, Anderson Miguel da; Degrande, Paulo Eduardo; Suekane, Renato; - Fernandes, Marcos Gino; & Zeviani, Walmes Marques. (2012). - Impacto de diferentes niveis de desfolha artificial nos estadios fenologicos do algodoeiro. - Revista de Ciencias Agrarias, 35(1), 163-172. - https://www.scielo.mec.pt/scielo.php?script=sci_arttext&pid=S0871-018X2012000100016&lng=pt&tlng=pt.
-Zeviani, W. M., Ribeiro, P. J., Bonat, W. H., Shimakura, S. E., Muniz, J. A. (2014). - The Gamma-count distribution in the analysis of experimental underdispersed data. - Journal of Applied Statistics, 41(12), 1-11. - https://doi.org/10.1080/02664763.2014.922168 - Online supplement: https://leg.ufpr.br/doku.php/publications:papercompanions:zeviani-jas2014
-Regression Models for Count Data. - https://cursos.leg.ufpr.br/rmcd/applications.html#cotton-bolls
-Wagner Hugo Bonat & Walmes Marques Zeviani (2017). - Multivariate Covariance Generalized Linear Models for the Analysis of - Experimental Data. - Short-cource at: 62nd RBras and 17th SEAGRO meeting/ - https://github.com/leg-ufpr/mcglm4aed
- --# \dontrun{ - -library(agridat) -data(silva.cotton) -dat <- silva.cotton -dat$stage <- ordered(dat$stage, - levels=c("vegetative","flowerbud","blossom","boll","bollopen")) -# make stage a numeric factors -dat <- transform(dat, - stage = factor(stage, levels = unique(stage), - labels = 1:nlevels(stage))) - -# sum data across plants, 1 pot = 2 plants -dat <- aggregate(cbind(weight,height,bolls,nodes) ~ - stage+defoliation+rep, data=dat, FUN=sum) - - # all traits, plant-level data - libs(latticeExtra) - foo <- xyplot(weight + height + bolls + nodes ~ defoliation | stage, - data = dat, outer=TRUE, - xlab="Defoliation percent", ylab="", main="silva.cotton", - as.table = TRUE, jitter.x = TRUE, type = c("p", "smooth"), - scales = list(y = "free")) - combineLimits(useOuterStrips(foo)) -- -if(0){ - - # poisson glm with quadratic effect for defoliation - m0 <- glm(bolls ~ 1, data=dat, family=poisson) - m1 <- glm(bolls ~ defoliation+I(defoliation^2), data=dat, family=poisson) - m2 <- glm(bolls ~ stage:defoliation+I(defoliation^2), data=dat, family=poisson) - m3 <- glm(bolls ~ stage:(defoliation+I(defoliation^2)), data=dat, family=poisson) - par(mfrow=c(2,2)); plot(m3); layout(1) - anova(m0, m1, m2, m3, test="Chisq") - - # predicted values - preddat <- expand.grid(stage=levels(dat$stage), - defoliation=seq(0,100,length=20)) - preddat$pred <- predict(m3, newdata=preddat, type="response") - - # Zeviani figure 3 - libs(latticeExtra) - xyplot(bolls ~ jitter(defoliation)|stage, dat, - as.table=TRUE, - main="silva.cotton - observed and model predictions", - xlab="Defoliation percent", - ylab="Number of bolls") + - xyplot(pred ~ defoliation|stage, data=preddat, - as.table=TRUE, - type='smooth', col="black", lwd=2) -} - -if(0){ - # ----- mcglm ----- - dat <- transform(dat, deffac=factor(defoliation)) - - libs(car) - - vars <- c("weight","height","bolls","nodes") - splom(~dat[vars], data=dat, - groups = stage, - auto.key = list(title = "Growth stage", - cex.title = 1, - columns = 3), - par.settings = list(superpose.symbol = list(pch = 4)), - as.matrix = TRUE) - - splom(~dat[vars], data=dat, - groups = defoliation, - auto.key = list(title = "Artificial defoliation", - cex.title = 1, - columns = 3), - as.matrix = TRUE) - - # multivariate linear model. - m1 <- lm(cbind(weight, height, bolls, nodes) ~ stage * deffac, - data = dat) - anova(m1) - - summary.aov(m1) - - r0 <- residuals(m1) - - # Checking the models assumptions on the residuals. - car::scatterplotMatrix(r0, - gap = 0, smooth = FALSE, reg.line = FALSE, ellipse = TRUE, - diagonal = "qqplot") - - } -# } -
sinclair.clover.Rd
Clover yields in a factorial fertilizer experiment
-data("sinclair.clover")- - -
A data frame with 25 observations on the following 3 variables.
yield
yield t/ha
P
phosphorous fertilizer kg/ha
S
sulfur fertilizer kg/ha
A phosphorous by sulfur factorial experiment at Dipton in Southland, - New Zealand. There were 3 reps. Plots were harvested repeatedly from - Dec 1992 to Mar 1994. Yields reported are the total dry matter across - all cuttings.
-Sinclair AG, Risk WH, Smith LC, Morrison JD & Dodds KG (1994) - Sulphur and phosphorus in balanced pasture nutrition. - Proc N Z Grass Assoc, 56, 13-16.
-Dodds, KG and Sinclair, AG and Morrison, JD. (1995). - A bivariate response surface for growth data. - Fertilizer research, 45, 117-122. - https://doi.org/10.1007/BF00790661
- ---library(agridat) - -data(sinclair.clover) -dat <- sinclair.clover - -libs(lattice) -xyplot(yield~P|factor(S), dat, layout=c(5,1), - main="sinclair.clover - Yield by sulfur levels", - xlab="Phosphorous") --# Dodds fits a two-dimensional Mitscherlich-like model: -# z = a*(1+b*{(s+t*x)/(x+1)}^y) * (1+d*{(th+r*y)/(y+1)}^x) - -# First, re-scale the problem to a more stable part of the parameter space -dat <- transform(dat, x=P/10, y=S/10) - -# Response value for (x=0, y=maximal), (x=maximal, y=0), (x=max, y=max) -z0m <- 5 -zm0 <- 5 -zmm <- 10.5 -# The parameters are somewhat sensitive to starting values. -# I had to try a couple different initial values to match the paper by Dodds -m1 <- nls(yield ~ alpha*(1 + beta*{(sig+tau*x)/(x+1)}^y) * (1 + del*{(th+rho*y)/(y+1)}^x), - data=dat, # trace=TRUE, - start=list(alpha=zmm, beta=(zm0/zmm)-1, del=(z0m/zmm)-1, - sig=.51, tau=.6, th=.5, rho=.7)) -summary(m1) # Match Dodds Table 2 -#> -#> Formula: yield ~ alpha * (1 + beta * { -#> (sig + tau * x)/(x + 1) -#> }^y) * (1 + del * { -#> (th + rho * y)/(y + 1) -#> }^x) -#> -#> Parameters: -#> Estimate Std. Error t value Pr(>|t|) -#> alpha 11.15148 0.66484 16.773 1.96e-12 *** -#> beta -0.61223 0.03759 -16.286 3.23e-12 *** -#> del -0.48781 0.04046 -12.057 4.68e-10 *** -#> sig 0.26783 0.16985 1.577 0.13224 -#> tau 0.68030 0.06333 10.741 2.94e-09 *** -#> th 0.59656 0.16716 3.569 0.00219 ** -#> rho 0.83273 0.06204 13.421 8.16e-11 *** -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 -#> -#> Residual standard error: 0.5298 on 18 degrees of freedom -#> -#> Number of iterations to convergence: 7 -#> Achieved convergence tolerance: 3.913e-06 -#>## Parameters: -## Estimate Std. Error t value Pr(>|t|) -## alpha 11.15148 0.66484 16.773 1.96e-12 *** -## beta -0.61223 0.03759 -16.286 3.23e-12 *** -## del -0.48781 0.04046 -12.057 4.68e-10 *** -## sig 0.26783 0.16985 1.577 0.13224 -## tau 0.68030 0.06333 10.741 2.94e-09 *** -## th 0.59656 0.16716 3.569 0.00219 ** -## rho 0.83273 0.06204 13.421 8.16e-11 *** -## --- -## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 -## Residual standard error: 0.5298 on 18 degrees of freedom - -# \dontrun{ - -pred <- expand.grid(x=0:17, y=0:9) -pred$z <- predict(m1, pred) - -# 3D plot of data with fitted surface. Matches Dodds figure 2. -libs(rgl) -bg3d(color = "white") -clear3d() -spheres3d(dat$x, dat$y, dat$yield, - radius=.2, col = rep("navy", nrow(dat))) -surface3d(seq(0, 17, by = 1), seq(0, 9, by = 1), pred$z, - alpha=0.9, col="wheat", - front="fill", back="fill") -axes3d() -title3d("sinclair.clover - yield","", xlab="Phosphorous/10", - ylab="Sulfur/10", zlab="", line=3, cex=1.5) -view3d(userMatrix=matrix(c(.7,.2,-.7,0, -.7,.2,-.6,0, 0,.9,.3,0, 0,0,0,1),ncol=4)) - # snapshot3d(file, "png") - -rgl.close() -# } - -
smith.beans.uniformity.Rd
Uniformity trials of beans at California, 1954-1955, 2 species in 2 years
-data("smith.beans.uniformity")- - -
A data frame with 912 observations on the following 4 variables.
expt
experiment
row
row
col
column
yield
yield, kg
Trials were conducted in California.
-In 1955 plots were twice as wide and twice as long as in 1954. - Red Kidney is a bush variety bean, Standard Pink is a viny variety.
-Smith randomly assigned A,B,C,D to plots and used these as 'varieties' - for calculating ANOVA tables. Plots were combined side-by-side and - end-to-end to make larger plots. Decreasing LSDs were observed for - increases in plot sizes. LSDs were seldom above 200, which was - considered to be a noticeable difference for the farmers.
-There are four datasets:
-1954
-Experiment 1: Red Kidney. - Experiment 2: Standard Pink
-Field width: 18 plots * 30 inches = 45 ft
-Field length: 12 plots * 15 ft = 180 ft
-1955
-Experiment 3: Red Kidney. - Experiment 4: Standard Pink
-Field width: 16 plots * 2 rows * 30 in = 80 ft
-Field length: 15 plots * 30 ft = 450 ft
-Francis L. Smith, 1958. - Effects of plot size, plot shape, and number of replications on the - efficacy of bean yield trials. - Hilgardia, 28, 43-63. - https://doi.org/10.3733/hilg.v28n02p043
-None.
- --# \dontrun{ - -library(agridat) - - data(smith.beans.uniformity) - dat1 <- subset(smith.beans.uniformity, expt=="E1") - dat2 <- subset(smith.beans.uniformity, expt=="E2") - dat3 <- subset(smith.beans.uniformity, expt=="E3") - dat4 <- subset(smith.beans.uniformity, expt=="E4") - - cv <- function(x) { sd(x)/mean(x) } - cv(dat1$yield) -#> [1] 0.1409846cv(dat2$yield) # Does not match Smith. Checked all values by hand. -#> [1] 0.1137417cv(dat3$yield) -#> [1] 0.1531631cv(dat4$yield) -#> [1] 0.09932579- libs("desplot") - desplot(dat1, yield ~ col*row, - aspect=180/45, flip=TRUE, # true aspect - main="smith.beans.uniformity, expt 1 (true aspect)") -- desplot(dat2, yield ~ col*row, - aspect=180/45, flip=TRUE, # true aspect - main="smith.beans.uniformity, expt 2 (true aspect)") -- desplot(dat3, yield ~ col*row, - aspect=450/80, flip=TRUE, # true aspect - main="smith.beans.uniformity, expt 3 (true aspect)") -- desplot(dat4, yield ~ col*row, - aspect=450/80, flip=TRUE, # true aspect - main="smith.beans.uniformity expt 4, (true aspect)") --# } -
smith.corn.uniformity.Rd
Uniformity trial of corn, 3 years on same ground, 1895-1897, in Illinois.
-A data frame with 360 observations on the following 5 variables.
row
row
col
column
plot
plot number, consistent across years
year
year. Last two digits of 1895, 1896, 1897
yield
yield, bushels / acre
Data come from the Illinois Experiment Station.
-The data values are from Smith (1910) and the field map is from Harris (1920). - Each plot was 1/10 acre, but the dimensions are not given. Note that - 1/10 acre is also the area of a square 1 chain (66 feet) on a side.
-The following text is abridged from Smith (1910).
-How much variability may we reasonably expect in land that is - apparently uniform? Some data among the records of the soil plots at - the Illinois Experiment station furnish interesting material for study - in this connection.
-A field that had lain sixteen years in pasture was broken up in 1895 - and laid out into plots to be subsequently used for soil - experiments. The land is slightly rolling but otherwise quite uniform - in appearance. There are in the series to be considered in this - connection 120 one-tenth acre plots. These plots were all planted to - corn for three consecutive years without any soil treatment, so that - the records offer a rather exceptional opportunity for a study of this - kind.
-The yields of all these plots in terms of bushels of shelled corn per - acre for the three years are given in the accompanying table.
-A study of this data reveals some very striking variations. It will be - noticed in the first place that there is a tremendous difference in - production in the different years. The first year, 1895, was an - extremely unfavorable one for corn and the yields are exceptionally - low. The weather records show that the season was not only unusually - dry, but also cool in the early part. The following year we have an - exceptionally favorable corn season, and the yields run unusually - high. The third year was also a good one, and the yields are perhaps - somewhat above the normal for this locality.
-It will be observed that certain plots appear to be very - abnormal. Thus plots 117, 118, 119, and 120 give an abnormally high - yield in the first season and an abnormally low one in the two - following years. This is to be accounted for in the topography of the - land. These plots lie in a low spot which was favorable in the dry - year of 1895, but unfavorable in 1896 and 1897. For this reason these - four plots were rejected from further consideration in this study, as - were also plots 616, 617, 618, 619, and 620. This leaves 111 plots - whose variations are apparently unaccounted for and which furnish the - data from which the following results are taken.
-It is noticeable that the variability as measured by the standard - deviation becomes less in each succeeding year. This suggests the - question as to whether continued cropping might not tend to induce - uniformity. The records of a few of these plots which were continued - in corn for three years longer, however, do not support such a - conclusion.
-It seems reasonable to expect greater variability in seasons very - unfavorable for production, such as that of 1895, because so much may - depend upon certain critical factors of production coming into play - and this suggestion may be the explanation of the high standard - deviation in this first year. Results extending over a longer series - of years would be extremely interesting in this connection.
-If we consider the total range of variation in any single year, we - find differences as follows: Plots lying adjoining have shown the - following maximum variations: 18 bushels in 1895; 11 bushels in 1896; - 8 bushels in 1897.
-The above results give us a conception of the unaccountable plot - variations which we have to deal with in field tests. The possibility - remains that a still closer study might detect some abnormal factors - at play to account for these variations in certain cases, but the - study certainly suggests the importance of conservatism in arriving at - conclusions based upon plot tests.
-The particular value that the writer has derived from this study is - the strengthening of his conviction that the only dependence to be - placed upon variety tests and other field experiments is from records - involving the average of liberal numbers and extending over long - periods of time.
-Smith, L.H. 1910. Plot arrangement for variety experiments with corn. - Agronomy Journal, 1, 84--89. Table 1. - https://books.google.com/books?id=mQT0AAAAMAAJ&pg=PA84
-Harris, J.A. 1920. Practical universality of field heterogeneity as a factor - influencing plot yields. - Journal of Agricultural Research, 19, 279--314. Page 296-297. - https://books.google.com/books?id=jyEXAAAAYAAJ&pg=PA279
- --# \dontrun{ - -library(agridat) - -data(smith.corn.uniformity) -dat <- smith.corn.uniformity - - dat = transform(dat, year=factor(year)) - libs(desplot) - desplot(dat, yield~col*row|year, - layout=c(2,2), aspect=1, - main="smith.corn.uniformity: yield across years 1895-1987") -- ## # Outliers are obvious - ## libs(lattice) - ## xyplot(yield~row|factor(col), dat, groups=year, - ## auto.key=list(columns=3), main="smith.corn.uniformity") - - libs(rgl) - # A few odd pairs of outliers in column 6 - # black/gray dots very close to each other - plot3d(dat$col, dat$row, dat$yield, col=dat$year, - xlab="col",ylab="row",zlab="yield") - rgl.close() - -# } -
snedecor.asparagus.Rd
Asparagus yields for different cutting treatments, in 4 years.
-A data frame with 64 observations on the following 4 variables.
block
block factor, 4 levels
year
year, numeric
trt
treatment factor of final cutting date
yield
yield, ounces
Planted in 1927. Cutting began in 1929. Yield is the weight of - asparagus cuttings up to Jun 1 in each plot. Some plots received continued - cuttings until Jun 15, Jul 1, and Jul 15.
-In the past, repeated-measurement experiments like this were sometimes - analyzed as if they were a split-plot experiment. This violates some - indpendence assumptions.
-Snedecor and Cochran, 1989. Statistical Methods.
-Mick O'Neill, 2010. - A Guide To Linear Mixed Models In An Experimental Design Context. - Statistical Advisory & Training Service Pty Ltd.
- --# \dontrun{ - - library(agridat) - data(snedecor.asparagus) - dat <- snedecor.asparagus - - dat <- transform(dat, year=factor(year)) - dat$trt <- factor(dat$trt, - levels=c("Jun-01", "Jun-15", "Jul-01", "Jul-15")) - - # Continued cutting reduces plant vigor and yield - libs(lattice) - dotplot(yield ~ trt|year, data=dat, - xlab="Cutting treatment", main="snedecor.asparagus") -- # Split-plot - if(0){ - libs(lme4) - m1 <- lmer(yield ~ trt + year + trt:year + - (1|block) + (1|block:trt), data=dat) - } - - # ---------- - - libs(asreml,lucid) # asreml4 - - # Split-plot with asreml - m2 <- asreml(yield ~ trt + year + trt:year, data=dat, - random = ~ block + block:trt) -#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:08:50 2021 -#> LogLik Sigma2 DF wall cpu -#> 1 -245.589 735.637 60 17:08:51 0.0 -#> 2 -242.013 605.606 60 17:08:51 0.0 -#> 3 -239.057 500.049 60 17:08:51 0.0 -#> 4 -237.707 441.384 60 17:08:51 0.0 -#> 5 -237.333 411.824 60 17:08:51 0.0 -#> 6 -237.307 405.253 60 17:08:51 0.0 -#> 7 -237.307 404.663 60 17:08:51 0.0# vc(m2) - ## effect component std.error z.ratio bound - ## block 354.3 405 0.87 P 0.1 - ## block:trt 462.8 256.9 1.8 P 0 - ## units!R 404.7 82.6 4.9 P 0 - - ## # Antedependence with asreml. See O'Neill (2010). - dat <- dat[order(dat$block, dat$trt), ] - m3 <- asreml(yield ~ year * trt, data=dat, - random = ~ block, - residual = ~ block:trt:ante(year,1), - max=50) -#> Model fitted using the sigma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:08:51 2021 -#> LogLik Sigma2 DF wall cpu -#> 1 -239.093 1.0 60 17:08:51 0.0 -#> 2 -237.801 1.0 60 17:08:51 0.0 -#> 3 -233.259 1.0 60 17:08:51 0.0 -#> 4 -223.667 1.0 60 17:08:51 0.0 -#> 5 -220.355 1.0 60 17:08:51 0.0 -#> 6 -220.139 1.0 60 17:08:51 0.0 -#> 7 -220.091 1.0 60 17:08:51 0.0 -#> 8 -220.079 1.0 60 17:08:51 0.0 -#> 9 -220.076 1.0 60 17:08:51 0.0#> Warning: Some components changed by more than 1% on the last iteration.- ## # Extract the covariance matrix for years and convert to correlation - ## covmat <- diag(4) - ## covmat[upper.tri(covmat,diag=TRUE)] <- m3$R.param$`block:trt:year`$year$initial - ## covmat[lower.tri(covmat)] <- t(covmat)[lower.tri(covmat)] - ## round(cov2cor(covmat),2) # correlation among the 4 years - ## # [,1] [,2] [,3] [,4] - ## # [1,] 1.00 0.45 0.39 0.31 - ## # [2,] 0.45 1.00 0.86 0.69 - ## # [3,] 0.39 0.86 1.00 0.80 - ## # [4,] 0.31 0.69 0.80 1.00 - - ## # We can also build the covariance Sigma by hand from the estimated - ## # variance components via: Sigma^-1 = U D^-1 U' - ## vv <- vc(m3) - ## print(vv) - ## ## effect component std.error z.ratio constr - ## ## block!block.var 86.56 156.9 0.55 pos - ## ## R!variance 1 NA NA fix - ## ## R!year.1930:1930 0.00233 0.00106 2.2 uncon - ## ## R!year.1931:1930 -0.7169 0.4528 -1.6 uncon - ## ## R!year.1931:1931 0.00116 0.00048 2.4 uncon - ## ## R!year.1932:1931 -1.139 0.1962 -5.8 uncon - ## ## R!year.1932:1932 0.00208 0.00085 2.4 uncon - ## ## R!year.1933:1932 -0.6782 0.1555 -4.4 uncon - ## ## R!year.1933:1933 0.00201 0.00083 2.4 uncon - - ## U <- diag(4) - ## U[1,2] <- vv[4,2] ; U[2,3] <- vv[6,2] ; U[3,4] <- vv[8,2] - ## Dinv <- diag(c(vv[3,2], vv[5,2], vv[7,2], vv[9,2])) - ## # solve(U - ## solve(crossprod(t(U), tcrossprod(Dinv, U)) ) - ## ## [,1] [,2] [,3] [,4] - ## ## [1,] 428.4310 307.1478 349.8152 237.2453 - ## ## [2,] 307.1478 1083.9717 1234.5516 837.2751 - ## ## [3,] 349.8152 1234.5516 1886.5150 1279.4378 - ## ## [4,] 237.2453 837.2751 1279.4378 1364.8446 - -# } -
snijders.fusarium.Rd
Infection in wheat by different strains of Fusarium.
-A data frame with 204 observations on the following 4 variables.
gen
wheat genotype
strain
fusarium strain
year
year
y
percent infected
The data are the percent of leaf area affected by Fusarium head blight, - averaged over 4-5 reps, for 17 winter wheat genotypes.
-Van Eeuwijk fit a generalized ammi-2 model to this data. It is a - generalized model in the sense that a link function is used, and is a - non-linear AMMI model in that there are main effects for variety and - year-strain, but additional multiplicative effects for the - interactions.
-Note, the value for strain F348 in 1988, gen SVP75059-32 should be - 28.3 (as shown in VanEeuwijk 1995) and not 38.3 (as shown in Snijders - 1991).
- -Used with permission of Fred van Eeuwijk.
-Snijders, CHA and Van Eeuwijk, FA. 1991. - Genotype x strain interactions for resistance to Fusarium head blight - caused by Fusarium culmorum in winter wheat. - Theoretical and Applied Genetics, 81, 239--244. Table 1. - https://doi.org/10.1007/BF00215729
-Fred A van Eeuwijk. 1995. - Multiplicative interaction in generalized linear models. - Biometrics, 51, 1017-1032. - https://doi.org/10.2307/2533001
- ---library(agridat) - -data(snijders.fusarium) -dat <- snijders.fusarium - -aggregate(y ~ strain + year, dat, FUN=mean) # Match means in Snijders table 1 -#> strain year y -#> 1 F329 1986 7.617647 -#> 2 F348 1986 8.117647 -#> 3 F39 1986 28.000000 -#> 4 F436 1986 11.500000 -#> 5 F329 1987 2.223529 -#> 6 F348 1987 1.441176 -#> 7 F39 1987 30.794118 -#> 8 F436 1987 8.452941 -#> 9 F329 1988 9.247059 -#> 10 F348 1988 7.611765 -#> 11 F39 1988 14.117647 -#> 12 F436 1988 11.276471-dat <- transform(dat, y=y/100, year=factor(year), yrstr=factor(paste0(year,"-",strain))) - -# Strain F329 shows little variation across years. F39 shows a lot. -libs(lattice) -dotplot(gen~y|strain, data=dat, group=year, - main="snijders.fusarium : infection by strain", - xlab="Fraction infected", ylab="variety", - auto.key=list(columns=3)) --# Logit transform -dat <- transform(dat, logit=log(y/(1-y))) -m1 <- aov(logit ~ yrstr + gen, data=dat) # Match SS in VanEeuwijk table 4 -anova(m1) # Match SS in VanEeuwijk table 4 -#> Analysis of Variance Table -#> -#> Response: logit -#> Df Sum Sq Mean Sq F value Pr(>F) -#> yrstr 11 224.092 20.3720 39.367 < 2.2e-16 *** -#> gen 16 171.600 10.7250 20.725 < 2.2e-16 *** -#> Residuals 176 91.079 0.5175 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1m2 <- aov(logit ~ year*strain + gen + gen:year + gen:strain, data=dat) -anova(m2) # Match to VanEeuwijk table 5 -#> Analysis of Variance Table -#> -#> Response: logit -#> Df Sum Sq Mean Sq F value Pr(>F) -#> year 2 33.890 16.945 50.9711 8.226e-16 *** -#> strain 3 130.246 43.415 130.5964 < 2.2e-16 *** -#> gen 16 171.600 10.725 32.2615 < 2.2e-16 *** -#> year:strain 6 59.957 9.993 30.0593 < 2.2e-16 *** -#> year:gen 32 43.853 1.370 4.1223 4.049e-08 *** -#> strain:gen 48 15.312 0.319 0.9596 0.5541 -#> Residuals 96 31.914 0.332 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1-# \dontrun{ - -# GLM on untransformed data using logit link, variance mu^2(1-mu)^2 -libs(gnm) # for 'wedderburn' family -#> -#>#>-#> -#>#>-#> -#>m2 <- glm(y ~ yrstr + gen, data=dat, family="wedderburn") -anova(m2) # Main effects match VanEeuwijk table 6 -#> Analysis of Deviance Table -#> -#> Model: wedderburn, link: logit -#> -#> Response: y -#> -#> Terms added sequentially (first to last) -#> -#> -#> Df Deviance Resid. Df Resid. Dev -#> NULL 203 369.44 -#> yrstr 11 150.85 192 218.60 -#> gen 16 145.27 176 73.33-# Generalized AMMI-2 model. Matches VanEeuwijk table 6 -bilin2 <- gnm(y ~ yrstr + gen + instances(Mult(yrstr, gen), 2), - data=dat, family = wedderburn) -#> Initialising -#> Running start-up iterations.. -#> Running main iterations....................................................... -#> Done# plot(bilin2,1) # Resid vs fitted plot matches VanEeuwijk figure 3c -## anova(bilin2) -## Df Deviance Resid. Df Resid. Dev -## NULL 203 369.44 -## yrstr 11 150.847 192 218.60 -## gen 16 145.266 176 73.33 -## Mult(yrstr, gen, inst = 1) 26 26.128 150 47.20 -## Mult(yrstr, gen, inst = 2) 24 19.485 126 27.72 - -# Manually extract coordinates for biplot -cof <- coef(bilin2) -y1 <- cof[29:40] -g1 <- cof[41:57] -y2 <- cof[58:69] -g2 <- cof[70:86] -g12 <- cbind(g1,g2) -rownames(g12) <- substring(rownames(g12), 29) -y12 <- cbind(y1,y2) -rownames(y12) <- substring(rownames(y12), 31) -g12[,1] <- -1 * g12[,1] -y12[,1] <- -1 * y12[,1] -# GAMMI biplot. Inner-products of points projected onto -# arrows match VanEeuwijk figure 4. Slight rotation of graph is ignorable. -biplot(y12, g12, cex=.75, main="snijders.fusarium") # Arrows to genotypes. --# } - -
stephens.sorghum.uniformity.Rd
Uniformity trial of sorghum silage at Chillicothe, Texas, 1915.
-A data frame with 2000 observations on the following 3 variables.
row
row
col
column / rod
yield
yield, ounces
Grown near Chillicothe, TX in 1915. Rows 40 inches apart. - Each row harvested in 1-rod (16.5 ft) lengths. - East side higher yielding than west side. - Yields are weight (ounces) of green forage each rod-row. - Total area harvested: 100*40/12 = 333.33 feet by 20*16.5=330 feet.
-Field width: 20 plots * 16.5 ft (1 rod) = 330 feet.
-Field length: 100 plots * 40 in = 333 feet
-Stephens, Joseph C. 1928. - Experimental methods and the probable error in field experiments with sorghum. - Journal of Agricultural Research, 37, 629--646. - https://naldc.nal.usda.gov/catalog/IND43967516
- --# \dontrun{ - -library(agridat) - - data(stephens.sorghum.uniformity) - dat <- stephens.sorghum.uniformity - - dat <- subset(dat, row>2 & row<99) # omit outer two rows - # mean(dat$yield) # 180.27 - # range(dat$yield) # 75,302 matches Stephens - - # densityplot(~dat$yield) # Stephens figure 3 - - # Aggregate 4 side-by-side rows. - d4 <- dat - d4$row2 <- ceiling((d4$row-2)/4) - d4 <- aggregate(yield ~ row2+col, data=d4, FUN=sum) - d4$row2 <- 25-d4$row2 # flip horizontally - - libs(desplot) - grays <- colorRampPalette(c("#d9d9d9","#252525")) - desplot(d4, yield ~ row2*col, - aspect=333/330, flip=TRUE, # true aspect - main="stephens.sorghum.uniformity", - col.regions=grays(3), - at=c(500,680,780,1000)) -# Similar to Stephens Figure 7. North at top. East at right. - -# } -
steptoe.morex.pheno.Rd
Phenotypic and genotypic data for a barley population of Steptoe x - Morex. There were 150 doubled haploid crosses, evaluated at 223 - markers. Phenotypic data wascollected on 8 traits at 16 environments.
-data("steptoe.morex.pheno")- - -
steptoe.morex.pheno
is a data.frame of phenotypic data
- with 2432 observations on 10 variables:
gen
genotype factor with parents Steptoe and Morex, - and 150 crosses SM1, SM2, ..., SM200. Not all 200 numbers were used.
env
environment, 16 levels
amylase
alpha amylase (20 Deg Units)
diapow
diastatic power (degree units)
hddate
heading date (julian days)
lodging
lodging (percent)
malt
malt extract (percent)
height
plant height (centimeters)
protein
grain protein (percent)
yield
grain yield (Mt/Ha)
steptoe.morex.geno
is a cross
object from the
- qtl
package with genotypic data of the 223
- markers for the 150 crosses of Steptoe x Morex.
As described by Hayes et al (1993), a population of 150 barley doubled - haploid (DH) lines was developed by the Oregon State University Barley - Breeding Program for the North American Barley Genome Mapping - Project. The parentage of the population is Steptoe / Morex.
-Steptoe is the dominant feed barley in the northwestern U.S.
-Morex is the spring U.S. malting quality standard.
-Seed from a single head of each parent was used to create the F1, from which a - set of 150 lines was developed.
-Phenotypic values for the parents Steptoe and Morex are here: - https://wheat.pw.usda.gov/ggpages/SxM/parental_values.html
-There are 16 locations, The average across locations is in column 17. Not all - traits were collected at every location. At each location, all 150 lines were - included in block 1, a random subset of 50 lines was used in block 2.
-The traits are: - Alpha Amylase (20 Deg Units), - Diastatic Power (Deg Units), - Heading Date (Julian Days), - Lodging (percent), - Malt Extract (percent), - Grain Protein (percent), - Grain Yield (Mt/Ha).
-Phenotypic values of the 150 lines in the F1 population are here: - https://wheat.pw.usda.gov/ggpages/SxM/phenotypes.html
-Each trait is in a different file, in which each block of numbers - represents one location.
-The 223-markers Steptoe/Morex base map is here: - https://wheat.pw.usda.gov/ggpages/SxM/smbasev2.map
-The data for these markers on the 150 lines is - https://wheat.pw.usda.gov/ggpages/SxM/smbasev2.mrk
-These were hand-assembled (e.g. marker distances were cumulated to
- marker positions) into a .csv file which was then imported into
- R using qtl::read.cross
. The class was manually changed from
- c('bc','cross') to c('dh','cross').
The marker data is coded as A = Steptoe, B = Morex, - = missing.
-The pedigrees for the 150 lines are found here: - https://wheat.pw.usda.gov/ggpages/SxM/pedigrees.html
-The Steptoe x Morex Barley Mapping Population. - Map: Version 2, August 1, 1995 - https://wheat.pw.usda.gov/ggpages/SxM. Accessed Jan 2015.
-Data provided by the United States Department of Agriculture.
-P.M. Hayes, B.H. Liu, S.J. Knapp, F. Chen, B. Jones, T. Blake, - J. Franckowiak, D. Rasmusson, M. Sorrells, S.E. Ullrich, and others. 1993. - Quantitative trait locus effects and environmental interaction in a sample of - North American barley germplasm. - Theoretical and Applied Genetics, 87, 392--401. - https://doi.org/10.1007/BF01184929
-Ignacio Romagosa, Steven E. Ullrich, Feng Han, Patrick M. Hayes. 1996. - Use of the additive main effects and multiplicative interaction model - in QTL mapping for adaptation in barley. - Theor Appl Genet, 93, 30-37. - https://doi.org/10.1007/BF00225723
-Piepho, Hans-Peter. 2000. - A mixed-model approach to mapping quantitative trait loci in barley on - the basis of multiple environment data. - Genetics, 156, 2043-2050.
-M. Malosetti, J. Voltas, I. Romagosa, S.E. Ullrich, F.A. van Eeuwijk. (2004). - Mixed models including environmental covariables for studying QTL by - environment interaction. - Euphytica, 137, 139-145. - https://doi.org/10.1023/B:EUPH.0000040511.4638
- --# \dontrun{ - - library(agridat) - data(steptoe.morex.pheno) - dat <- steptoe.morex.pheno - - # Visualize GxE of traits - libs(lattice) - redblue <- colorRampPalette(c("firebrick", "lightgray", "#375997")) - levelplot(amylase~env*gen, data=dat, col.regions=redblue, - scales=list(x=list(rot=90)), main="amylase") -## levelplot(diapow~env*gen, data=dat, col.regions=redblue, - ## scales=list(x=list(rot=90)), main="diapow") - ## levelplot(hddate~env*gen, data=dat, col.regions=redblue, - ## scales=list(x=list(rot=90)), main="hddate") - ## levelplot(lodging~env*gen, data=dat, col.regions=redblue, - ## scales=list(x=list(rot=90)), main="lodging") - ## levelplot(malt~env*gen, data=dat, col.regions=redblue, - ## scales=list(x=list(rot=90)), main="malt") - ## levelplot(height~env*gen, data=dat, col.regions=redblue, - ## scales=list(x=list(rot=90)), main="height") - ## levelplot(protein~env*gen, data=dat, col.regions=redblue, - ## scales=list(x=list(rot=90)), main="protein") - ## levelplot(yield~env*gen, data=dat, col.regions=redblue, - ## scales=list(x=list(rot=90)), main="yield") - - - # Calculate avg yield for each loc as in Romagosa 1996, table 3 - # t(t(round(tapply(dat$yield, dat$env, FUN=mean),2))) - # SKo92,SKg92 means in table 3 are switched. Who is right, him or me? - - # Draw marker map - libs(qtl) - data(steptoe.morex.geno) - datg <- steptoe.morex.geno - plot.map(datg, main="steptoe.morex.pheno") # or just use plot() -- - # This is a very rudimentary example. - - # Fit a simple multi-environment mixed model - libs(asreml) - m1 <- asreml(yield ~ env, data=dat, random=~gen) -#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Fri Dec 11 17:50:12 2020 -#> LogLik Sigma2 DF wall cpu -#> 1 -826.109 0.664231 2416 17:50:13 0.0 -#> 2 -821.409 0.656597 2416 17:50:13 0.0 -#> 3 -817.325 0.647509 2416 17:50:13 0.0 -#> 4 -815.816 0.641196 2416 17:50:13 0.0 -#> 5 -815.601 0.638204 2416 17:50:13 0.0 -#> 6 -815.600 0.637998 2416 17:50:13 0.0# Create an interval object for wgaim - dati <- wgaim::cross2int(datg, id="gen") - - # Whole genome qtl - q1 <- wgaim::wgaim(m1, intervalObj=dati, merge.by="gen", na.action=na.method(x="include")) -#> Error in eval(baseModel$call$data): object 'dat' not found#> Error in wgaim::outStat(q1, dati): object 'q1' not found#> Error in h(simpleError(msg, call)): error in evaluating the argument 'object' in selecting a method for function 'summary': object 'q1' not found# Chrom Left Marker dist(cM) Right Marker dist(cM) Size Pvalue - # 3 ABG399 52.6 BCD828 56.1 0.254 0.000 45.0 - # 5 MWG912 148 ABG387A 151.2 0.092 0.001 5.9 - # 6 ABC169B 64.8 CDO497 67.5 -0.089 0.001 5.6 - -# } -
stickler.sorghum.uniformity.Rd
Uniformity trial of sorghum in at Manhattan, Kansas, 1958-1959.
-data("stickler.sorghum.uniformity")- - -
A data frame with 1600 observations on the following 4 variables.
expt
experiment
row
row
col
col
yield
yield
Four sorghum experiments at the Agronomy Farm at Manhattan, - Kansas. Experiments E1,E2 grown in 1958. Expts E3,E5 grown in 1959.
-Experiment E1.
-Field width = 20 units * 14 inches = 23.3 ft.
-Field length = 20 units * 10 feet = 200 feet.
-Experiment E2-E3.
-Field width = 20 units * 44 inches = 73 feet
-Field length = 20 units * 5 ft = 100 feet.
-F. C. Stickler (1960). - Estimates of Optimum Plot Size from Grain Sorghum Uniformity Trial Data. - Technical bulletin, Kansas Agricultural Experiment Station.
-None.
- --# \dontrun{ - -library(agridat) - - data(stickler.sorghum.uniformity) - dat <- stickler.sorghum.uniformity - - dat1 <- subset(dat, expt=="E1") - dat2 <- subset(dat, expt!="E1") - - libs(desplot) - desplot(dat, yield ~ col*row|expt, - subset=expt=="E1", - #cex=1,text=yield, shorten="none", - xlab="row",ylab="range", - flip=TRUE, tick=TRUE, aspect=(20*10)/(20*14/12), # true aspect - main="stickler.sorghum.uniformity: expt E1") -- desplot(dat, yield ~ col*row|expt, - subset=expt!="E1", - xlab="row",ylab="range", - flip=TRUE, tick=TRUE, aspect=(20*5)/(20*44/12), # true aspect - main="stickler.sorghum.uniformity: expt E2,E3,E4") -- # Stickler, p. 10-11 has - # E1 E2 E3 E4 - # 34.81 11.53 11.97 14.10 - cv <- function(x) 100*sd(x)/mean(x) - tapply(dat$yield, dat$expt, cv) -#> E1 E2 E3 E4 -#> 35.74653 11.55062 11.97011 14.11389# 35.74653 11.55062 11.97011 14.11389 - -# } -
stirret.borers.Rd
Corn borer control by application of fungal spores.
-A data frame with 60 observations on the following 4 variables.
block
block, 15 levels
trt
treatment, 4 levels
count1
count of borers on August 18
count2
count of borers on October 19
Experiment conducted in 1935, Ottawa. European corn borer infestation - was established by application of egg masses to plants. - Treatments were applied on July 8 and July 19 at two levels, 0 and 40 - grams per acre. The number of borers per plot were counted on - Aug 18 and Oct 19.
-Stirrett, George M and Beall, Geoffrey and Timonin, M. (1937). - A field experiment on the control of the European corn borer, Pyrausta - nubilalis Hubn, by Beauveria bassiana Vuill. - Sci. Agric., 17, 587--591. Table 2.
- --# \dontrun{ - - library(agridat) - data(stirret.borers) - dat <- stirret.borers - - libs(lattice) - xyplot(count2~count1|trt,dat, - main="stirret.borers - by treatment", - xlab="Early count of borers", ylab="Late count") -- # Even though the data are counts, Normal distribution seems okay - # qqmath(~count1|trt, dat, main="stirret.borers") - - m1 <- lm(count1 ~ -1 + trt + block, dat) - anova(m1) -#> Analysis of Variance Table -#> -#> Response: count1 -#> Df Sum Sq Mean Sq F value Pr(>F) -#> trt 4 174970 43742 185.2950 < 2.2e-16 *** -#> block 14 16148 1153 4.8861 3.06e-05 *** -#> Residuals 42 9915 236 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1# predicted means = main effect + average of 15 block effects - # note block 1 effect is 0 - # coef(m1)[1:4] + sum(coef(m1)[-c(1:4)])/15 - ## trtBoth trtEarly trtLate trtNone - ## 47.86667 62.93333 40.93333 61.13333 - -# } -
streibig.competition.Rd
Competition experiment between barley and sinapis, at different - planting rates.
-A data frame with 135 observations on the following 8 variables.
pot
pot number
bseeds
barley seeds sown
sseeds
sinapis seeds sown
block
block
bfwt
barley fresh weight
sfwt
sinapis fresh weight
bdwt
barley dry weight
sdwt
sinapis dry weight
The source data (in McCullagh) also contains a count of plants - harvested (not included here) that sometimes is greater than the - number of seeds planted.
-Used with permission of Jens Streibig.
-Peter McCullagh, John A. Nelder. - Generalized Linear Models, page 318-320.
-Oliver Schabenberger and Francis J Pierce. 2002. - Contemporary Statistical Models for the Plant and Soil Sciences. - CRC Press. Page 370-375.
- --# \dontrun{ - -library(agridat) - -data(streibig.competition) -dat <- streibig.competition - -# See Schaberger and Pierce, pages 370+ -# Consider only the mono-species barley data (no competition from sinapis) -d1 <- subset(dat, sseeds<1) -d1 <- transform(d1, x=bseeds, y=bdwt, block=factor(block)) - -# Inverse yield looks like it will be a good fit for Gamma's inverse link -libs(lattice) -xyplot(1/y~x, data=d1, group=block, auto.key=list(columns=3), - xlab="Seeding rate", ylab="Inverse yield of barley dry weight", - main="streibig.competition") --# linear predictor is quadratic, with separate intercept and slope per block -m1 <- glm(y ~ block + block:x + x+I(x^2), data=d1, - family=Gamma(link="inverse")) -# Predict and plot -newdf <- expand.grid(x=seq(0,120,length=50), block=factor(c('B1','B2','B3')) ) -newdf$pred <- predict(m1, new=newdf, type='response') -plot(y~x, data=d1, col=block, main="streibig.competition - by block", - xlab="Barley seeds", ylab="Barley dry weight") -for(bb in 1:3){ - newbb <- subset(newdf, block==c('B1','B2','B3')[bb]) - lines(pred~x, data=newbb, col=bb) -} --# } -
strickland.apple.uniformity.Rd
Uniformity trial in apple in Australia
-data("strickland.apple.uniformity")- - -
A data frame with 198 observations on the following 3 variables.
row
row
col
column
yield
yield per tree, pounds
Some recently re-worked trees were removed from the data.
-The distance between trees in uncertain, but likely in the range 20-30 - feet.
-A. G. Strickland (1935). - Error in horticultural experiments. - Journal of Agriculture, Victoria, 33, 408-416. - https://handle.slv.vic.gov.au/10381/386642
-None
- --# \dontrun{ - -library(agridat) - data(strickland.apple.uniformity) - dat <- strickland.apple.uniformity - libs(desplot) - desplot(dat, yield ~ col*row, - main="strickland.apple.uniformity", - flip=TRUE, aspect=(18/11)) -# } -
strickland.grape.uniformity.Rd
Uniformity trial of grape in Australia
-data("strickland.grape.uniformity")- - -
A data frame with 155 observations on the following 3 variables.
row
row
col
column
yield
yield per vine, pounds
Yields of individual grape vines, planted 8 feet apart in rows 10 feet - apart. - Grown in Rutherglen, North-East Victoria, Australia, 1930.
-Certain sections were omitted because of missing vines.
-A. G. Strickland (1932). - A vine uniformity trial. - Journal of Agriculture, Victoria, 30, 584-593. - https://handle.slv.vic.gov.au/10381/386462
-None
- --# \dontrun{ - -library(agridat) - -data(strickland.grape.uniformity) -dat <- strickland.grape.uniformity - - libs(desplot) - desplot(dat, yield ~ col*row, - main="strickland.grape.uniformity", - flip=TRUE, aspect=(31*8)/(5*10) ) -#> [1] 0.4348955#> Analysis of Variance Table -#> -#> Response: yield -#> Df Sum Sq Mean Sq F value Pr(>F) -#> factor(row) 24 130.71 5.446 1.3796 0.1383 -#> factor(col) 4 318.93 79.732 20.1975 4.281e-12 *** -#> Residuals 96 378.97 3.948 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1- # numbers ending in .5 much more common than .0 - # table(substring(format(na.omit(dat$yield)),4,4)) - # 0 5 - # 25 100 - -# } -
strickland.peach.uniformity.Rd
Uniformity trial of peach trees in Australia.
-data("strickland.peach.uniformity")- - -
A data frame with 144 observations on the following 3 variables.
row
row
col
column
yield
yield, pounds per tree
Yields are the weight of peaches per individual tree in pounds.
-A. G. Strickland (1935). - Error in horticultural experiments. - Journal of Agriculture, Victoria, 33, 408-416. - https://handle.slv.vic.gov.au/10381/386642
-None
- --# \dontrun{ - -library(agridat) - - data(strickland.peach.uniformity) - dat <- strickland.peach.uniformity - - mean(dat$yield) # 131.3, Strickland has 131.3 -#> [1] 131.2917#> [1] 0.3113755- libs(desplot) - desplot(dat, yield ~ col*row, - main="strickland.peach.uniformity", - flip=TRUE, aspect=1) -# } -
strickland.tomato.uniformity.Rd
Uniformity trial of tomato in Australia
-data("strickland.tomato.uniformity")- - -
A data frame with 180 observations on the following 3 variables.
row
row
col
column
yield
yield per plot, pounds
Tomato plants were placed 2 feet apart in rows 4 feet apart. Each plot - contained 6 plants.
-Field dimensions are not given, but the most likely design is:
-Field length: 6 plots * 6 plants * 2 feet = 72 feet
-Field width: 30 plots * 4 feet = 120 feet
-A. G. Strickland (1935). - Error in horticultural experiments. - Journal of Agriculture, Victoria, 33, 408-416. - https://handle.slv.vic.gov.au/10381/386642
-None
- --# \dontrun{ - -library(agridat) - data(strickland.tomato.uniformity) - dat <- strickland.tomato.uniformity - - mean(dat$yield) -#> [1] 50.47222#> [1] 10.49843- libs(desplot) - desplot(dat, yield ~ col*row, - main="strickland.tomato.uniformity", - flip=TRUE, aspect=(6*12)/(30*4)) -# } -
stroup.nin.Rd
The yield data from an advanced Nebraska Intrastate Nursery (NIN) breeding - trial conducted at Alliance, Nebraska, in 1988/89.
-genotype, 56 levels
replicate, 4 levels
yield, bu/ac
column
row
Four replicates of 19 released cultivars, 35 experimental - wheat lines and 2 additional triticale lines were laid out in a 22 row - by 11 column rectangular array of plots. The varieties were allocated - to the plots using a randomised complete block (RCB) design. - Each plot was sown in four rows 4.3 m long and 0.3 m apart. - Plots were trimmed down to 2.4 m in length before harvest. The - orientation of the plots is not clear from the paper, but the data in - Littel et al are given in meters and make the orientation clear.
-Field length: 11 plots * 4.3 m = 47.3 m
-Field width: 22 plots * 1.2 m = 26.4 m
-All plots with missing data are coded as being gen = "Lancer". - (For ASREML, missing plots need to be included for spatial analysis and the - level of 'gen' needs to be one that is already in the data.)
-These data were first analyzed by Stroup et al (1994) and subsequently - by Littell et al (1996, page 321), Pinheiro and Bates (2000, page 260), - and Butler et al (2004).
-This version of the data give the yield in bushels per acre. The yield - values published in Stroup et al (1994) are expressed in kg/ha. For - wheat, 1 bu/ac = 67.25 kg/ha.
-Some of the gen names are different in Stroup et al (1994). - (Sometimes an experimental genotype is given a new name when it is - released for commercial use.) At a minimum, the following differences - in gen names should be noted:
stroup.nin | Stroup et al |
NE83498 | Rawhide |
KS831374 | Karl |
Some published versions of the data use long/lat instead of col/row. - To obtain the correct value of 'long', multiply 'col' by 1.2. - To obtain the correct value of 'lat', multiply 'row' by 4.3.
-Relatively low yields were clustered in the northwest corner, which is - explained by a low rise in this part of the field, causing increased - exposure to winter kill from wind damage and thus depressed yield. - The genotype 'Buckskin' is a known superior variety, but was - disadvantaged by assignment to unfavorable locations within the - blocks.
-Note that the figures in Stroup 2002 claim to be based on this data, - but the number of rows and columns are both off by 1 and the positions - of Buckskin as shown in Stroup 2002 do not appear to be quite right.
-Stroup, Walter W., P Stephen Baenziger, Dieter K Mulitze (1994) - Removing Spatial Variation from Wheat Yield Trials: A Comparison of Methods. - Crop Science, 86:62--66. - https://doi.org/10.2135/cropsci1994.0011183X003400010011x
-Littell, R.C. and Milliken, G.A. and Stroup, W.W. and Wolfinger, - R.D. 1996. SAS system for mixed models, SAS Institute, Cary, NC.
-Jose Pinheiro and Douglas Bates, 2000, - Mixed Effects Models in S and S-Plus, Springer.
-Butler, D., B R Cullis, A R Gilmour, B J Goegel. (2004) - Spatial Analysis Mixed Models for S language environments
-W. W. Stroup (2002). - Power Analysis Based on Spatial Effects Mixed Models: A Tool for - Comparing Design and Analysis Strategies in the Presence of Spatial - Variability. Journal of Agricultural, Biological, and - Environmental Statistics, 7(4), 491-511. - https://doi.org/10.1198/108571102780
-Identical data (except for the missing values) are available
- in the nlme
package as Wheat2
.
-# \dontrun{ - - library(agridat) - data(stroup.nin) - dat <- stroup.nin - - # Experiment layout. All "Buckskin" plots are near left side and suffer - # from poor fertility in two of the reps. - libs(desplot) - desplot(dat, yield~col*row, - aspect=47.3/26.4, out1="rep", num=gen, cex=0.6, # true aspect - main="stroup.nin - yield heatmap (true shape)") -- # Dataframe to hold model predictions - preds <- data.frame(gen=levels(dat$gen)) - - - # ----- - # nlme - libs(nlme) - # Random RCB model - lme1 <- lme(yield ~ 0 + gen, random=~1|rep, data=dat, na.action=na.omit) - preds$lme1 <- fixef(lme1) - - # Linear (Manhattan distance) correlation model - lme2 <- gls(yield ~ 0 + gen, data=dat, - correlation = corLin(form = ~ col + row, nugget=TRUE), - na.action=na.omit) - preds$lme2 <- coef(lme2) - - # Random block and spatial correlation. - # Note: corExp and corSpher give nearly identical results - lme3 <- lme(yield ~ 0 + gen, data=dat, - random = ~ 1 | rep, - correlation = corExp(form = ~ col + row), - na.action=na.omit) - preds$lme3 <- fixef(lme3) - - # AIC(lme1,lme2,lme3) # lme2 is lowest - ## df AIC - ## lme1 58 1333.702 - ## lme2 59 1189.135 - ## lme3 59 1216.704 - - - # ----- - # SpATS - libs(SpATS) -#> -#>#>-#> -#>- dat <- transform(dat, yf = as.factor(row), xf = as.factor(col)) - - # what are colcode and rowcode??? - sp1 <- SpATS(response = "yield", - spatial = ~ SAP(col, row, nseg = c(10,20), degree = 3, pord = 2), - genotype = "gen", - #fixed = ~ colcode + rowcode, - random = ~ yf + xf, - data = dat, - control = list(tolerance = 1e-03)) -#> Effective dimensions -#> ------------------------- -#> It. Deviance yf xff(col,row)|colf(col,row)|row -#> 1 2608.971235 0.495 1.195 10.143 13.395 -#> 2 738.685475 0.228 1.592 9.461 12.400 -#> 3 738.061019 0.128 2.053 9.192 11.898 -#> 4 737.719349 0.082 2.560 9.110 11.663 -#> 5 737.485972 0.056 3.090 9.110 11.567 -#> 6 737.314054 0.040 3.611 9.144 11.541 -#> 7 737.188760 0.029 4.098 9.189 11.550 -#> 8 737.101522 0.022 4.527 9.234 11.574 -#> 9 737.044016 0.017 4.889 9.274 11.602 -#> 10 737.008035 0.013 5.183 9.307 11.629 -#> 11 736.986502 0.010 5.413 9.334 11.654 -#> 12 736.974058 0.007 5.588 9.355 11.674 -#> 13 736.967044 0.006 5.720 9.372 11.690 -#> 14 736.963152 0.004 5.817 9.385 11.702 -#> 15 736.961005 0.003 5.887 9.395 11.712 -#> 16 736.959818 0.003 5.938 9.402 11.720 -#> 17 736.959154 0.002 5.975 9.408 11.725 -#> Timings: -#> SpATS 0.36 seconds -#> All process 0.42 seconds#plot(sp1) - preds$spats <- predict(sp1, which="gen")$predicted.value - - - # ----- - # Template Model Builder - # See the ar1xar1 example: - # https://github.com/kaskr/adcomp/tree/master/TMB/inst/examples - # This example uses dpois() in the cpp file to model a Poisson response - # with separable AR1xAR1. I think this example could be used for the - # stroup.nin data, changing dpois() to something Normal. - - - # ----- - # asreml4 - libs(asreml,lucid) - - # RCB analysis - as1 <- asreml(yield ~ gen, random = ~ rep, data=dat, - na.action=na.method(x="omit")) -#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Fri Dec 11 17:50:20 2020 -#> LogLik Sigma2 DF wall cpu -#> 1 -454.807 50.3285 168 17:50:20 0.0 -#> 2 -454.663 50.1198 168 17:50:20 0.0 -#> 3 -454.532 49.8684 168 17:50:20 0.0 -#> 4 -454.472 49.6374 168 17:50:20 0.0 -#> 5 -454.469 49.5854 168 17:50:20 0.0#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Fri Dec 11 17:50:20 2020 -#> LogLik Sigma2 DF wall cpu -#> 1 -454.469 49.5824 168 17:50:20 0.0 -#> 2 -454.469 49.5824 168 17:50:20 0.0 -#> 3 -454.469 49.5824 168 17:50:20 0.0- # Two-dimensional AR1xAR1 spatial model - dat <- transform(dat, xf=factor(col), yf=factor(row)) - dat <- dat[order(dat$xf, dat$yf),] - as2 <- asreml(yield~gen, data=dat, - residual = ~ar1(xf):ar1(yf), - na.action=na.method(x="omit")) -#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Fri Dec 11 17:50:21 2020 -#> LogLik Sigma2 DF wall cpu -#> 1 -449.818 49.7753 168 17:50:21 0.0 -#> 2 -424.315 40.2331 168 17:50:21 0.0 -#> 3 -405.419 38.9218 168 17:50:21 0.0 -#> 4 -400.288 43.0115 168 17:50:21 0.0 -#> 5 -399.368 47.2602 168 17:50:21 0.0 -#> 6 -399.326 48.3882 168 17:50:21 0.0 -#> 7 -399.324 48.6371 168 17:50:21 0.0 -#> 8 -399.324 48.6942 168 17:50:21 0.0#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Fri Dec 11 17:50:21 2020 -#> LogLik Sigma2 DF wall cpu -#> 1 -399.324 48.7081 168 17:50:21 0.0 -#> 2 -399.324 48.7092 168 17:50:21 0.0 -#> 3 -399.324 48.7119 168 17:50:21 0.0#> effect component std.error z.ratio bound %ch -#> xf:yf!R 48.69 7.152 6.8 P 0 -#> xf:yf!xf!cor 0.6554 0.05638 12 U 0 -#> xf:yf!yf!cor 0.4375 0.0806 5.4 U 0## effect component std.error z.ratio constr - ## R!variance 48.7 7.155 6.8 pos - ## R!xf.cor 0.6555 0.05638 12 unc - ## R!yf.cor 0.4375 0.0806 5.4 unc - - # Compare the estimates from the two asreml models. - # We see that Buckskin has correctly been shifted upward by the spatial model - plot(preds$as1, preds$as2, xlim=c(13,37), ylim=c(13,37), - xlab="RCB", ylab="AR1xAR1", type='n') -#>#>-#> -#>#> -#>#>-#> -#>#>-#> -#>dat <- transform(dat, yf = as.factor(row), xf = as.factor(col)) - so1 <- mmer(yield ~ 0+gen, - random = ~ vs(xf) + vs(yf) + vs(spl2D(row,col)), - data=dat) -#> iteration LogLik wall cpu(sec) restrained -#> 1 -52.5235 17:50:21 0 0 -#> 2 -25.4345 17:50:21 0 0 -#> 3 -24.9668 17:50:21 0 0 -#> 4 -24.523 17:50:21 0 0 -#> 5 -24.1879 17:50:21 0 0 -#> 6 -23.9594 17:50:21 0 0 -#> 7 -23.8243 17:50:21 0 0 -#> 8 -23.7531 17:50:21 0 0 -#> 9 -23.7166 17:50:21 0 0 -#> 10 -23.6964 17:50:21 0 0 -#> 11 -23.6839 17:50:22 1 0 -#> 12 -23.6751 17:50:22 1 0 -#> 13 -23.6684 17:50:22 1 0 -#> 14 -23.663 17:50:22 1 0 -#> 15 -23.6586 17:50:22 1 0 -#> 16 -23.6548 17:50:22 1 0 -#> 17 -23.6515 17:50:22 1 0 -#> 18 -23.6486 17:50:22 1 0 -#> 19 -23.646 17:50:22 1 0 -#> 20 -23.6436 17:50:22 1 0preds$so1 <- coef(so1)[,"Estimate"] - # spatPlot - - # ----- - # compare variety effects from different packages - lattice::splom(preds[,-1], main="stroup.nin") --# } -
stroup.splitplot.Rd
A simulated dataset of a very simple split-plot experiment, used to - illustrate the details of calculating predictable functions (broad - space, narrow space, etc.).
-For example, the density of narrow, intermediate and broad-space - predictable function for factor level A1 is shown below (html help only) -
-y
simulated response
rep
replicate, 4 levels
b
sub-plot, 2 levels
a
whole-plot, 3 levels
Used with permission of Walt Stroup.
-Walter W. Stroup, 1989. - Predictable functions and prediction space in the mixed model procedure. - Applications of Mixed Models in Agriculture and Related Disciplines.
-Wolfinger, R.D. and Kass, R.E., 2000. - Nonconjugate Bayesian analysis of variance component models, - Biometrics, 56, 768--774. - https://doi.org/10.1111/j.0006-341X.2000.00768.x
- --# \dontrun{ - - library(agridat) - data(stroup.splitplot) - dat <- stroup.splitplot - - # ---- lme4 ----- - # libs(lme4) - # m0 <- lmer(y~ -1 + a + b + a:b + (1|rep) + (1|a:rep), data=dat) - # No predict function - - # ----- nlme ----- - # libs(nlme) - # m0 <- lme(y ~ -1 + a + b + a:b, data=dat, random = ~ 1|rep/a) - - # ----- ASREML model ----- - libs(asreml) - m1 <- asreml(y~ -1 + a + b + a:b, random=~ rep + a:rep, data=dat) -#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Fri Dec 11 17:50:27 2020 -#> LogLik Sigma2 DF wall cpu -#> 1 -50.5227 54.2060 18 17:50:27 0.0 -#> 2 -47.0112 23.4186 18 17:50:27 0.0 -#> 3 -44.8607 14.0938 18 17:50:27 0.0 -#> 4 -43.7727 11.1500 18 17:50:27 0.0 -#> 5 -43.3895 9.8532 18 17:50:27 0.0 -#> 6 -43.3415 9.4390 18 17:50:27 0.0 -#> 7 -43.3400 9.3641 18 17:50:27 0.0- libs(lucid) - # vc(m1) # Variance components match Stroup p. 41 - ## effect component std.error z.ratio bound - ## rep 62.4 56.54 1.1 P 0 - ## a:rep 15.38 11.79 1.3 P 0 - ## units(R) 9.361 4.413 2.1 P 0 - - # Narrow space predictions - predict(m1, data=dat, classify="a", average=list(rep=NULL)) -#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Fri Dec 11 17:50:27 2020 -#> LogLik Sigma2 DF wall cpu -#> 1 -43.3400 9.36112 18 17:50:27 0.0 -#> 2 -43.3400 9.36111 18 17:50:27 0.0 -#> 3 -43.3400 9.36111 18 17:50:27 0.0#> $pvals -#> -#> Notes: -#> - The predictions are obtained by averaging across the hypertable -#> calculated from model terms constructed solely from factors in -#> the averaging and classify sets. -#> - Use 'average' to move ignored factors into the averaging set. -#> - The simple averaging set: b,rep -#> -#> -#> a predicted.value std.error status -#> 1 a1 32.875 1.08173 Estimable -#> 2 a2 34.125 1.08173 Estimable -#> 3 a3 25.750 1.08173 Estimable -#> -#> $avsed -#> overall -#> 1.529797 -#># a Predicted Std Err Status - # a1 32.88 1.082 Estimable - # a2 34.12 1.082 Estimable - # a3 25.75 1.082 Estimable - - # Intermediate space predictions - predict(m1, data=dat, classify="a", ignore=list("a:rep"), - average=list(rep=NULL)) -#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Fri Dec 11 17:50:27 2020 -#> LogLik Sigma2 DF wall cpu -#> 1 -43.3400 9.36112 18 17:50:27 0.0 -#> 2 -43.3400 9.36111 18 17:50:27 0.0 -#> 3 -43.3400 9.36111 18 17:50:27 0.0#> $pvals -#> -#> Notes: -#> - The predictions are obtained by averaging across the hypertable -#> calculated from model terms constructed solely from factors in -#> the averaging and classify sets. -#> - Use 'average' to move ignored factors into the averaging set. -#> - The simple averaging set: b,rep -#> - a:b is included in this prediction -#> - b is included in this prediction -#> - a is included in this prediction -#> - a:rep is ignored in this prediction -#> -#> -#> a predicted.value std.error status -#> 1 a1 32.875 2.239559 Estimable -#> 2 a2 34.125 2.239559 Estimable -#> 3 a3 25.750 2.239559 Estimable -#> -#> $avsed -#> overall -#> 3.167215 -#># a Predicted Std Err Status - # a1 32.88 2.24 Estimable - # a2 34.12 2.24 Estimable - # a3 25.75 2.24 Estimable - - # Broad space predictions - predict(m1, data=dat, classify="a") -#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Fri Dec 11 17:50:27 2020 -#> LogLik Sigma2 DF wall cpu -#> 1 -43.3400 9.36112 18 17:50:27 0.0 -#> 2 -43.3400 9.36111 18 17:50:27 0.0 -#> 3 -43.3400 9.36111 18 17:50:27 0.0#> $pvals -#> -#> Notes: -#> - The predictions are obtained by averaging across the hypertable -#> calculated from model terms constructed solely from factors in -#> the averaging and classify sets. -#> - Use 'average' to move ignored factors into the averaging set. -#> - The simple averaging set: b -#> - The ignored set: rep -#> -#> -#> a predicted.value std.error status -#> 1 a1 32.875 4.540329 Estimable -#> 2 a2 34.125 4.540329 Estimable -#> 3 a3 25.750 4.540329 Estimable -#> -#> $avsed -#> overall -#> 3.167215 -#># a Predicted Std Err Status - # a1 32.88 4.54 Estimable - # a2 34.12 4.54 Estimable - # a3 25.75 4.54 Estimable - - - # ----- Mcmcglmm model ----- - # Use the point estimates from REML with a prior distribution - libs(lattice,MCMCglmm) -#>#> -#>#>-#> -#>#>#> -#>#>-#> -#>#>-#> -#>prior2 = list( - G = list(G1=list(V=62.40, nu=1), G2=list(V=15.38, nu=1)), - R = list(V = 9.4, nu=1) - ) - m2 <- MCMCglmm(y~ -1 + a + b + a:b, - random=~ rep + a:rep, data=dat, - pr=TRUE, # save random effects as columns of 'Sol' - nitt=23000, # double the default 13000 - prior=prior2, verbose=FALSE) - - # Now create a matrix of coefficients for the prediction. - # Each column is for a different prediction. For example, - # the values in the column called 'a1a2n' are multiplied times - # the model coefficients (identified at the right side) to create - # the linear contrast for the the narrow-space predictions - # (also called adjusted mean) for the a1:a2 interaction. - # a1n a1i a1b a1a2n a1a2ib - cm <- matrix(c(1, 1, 1, 1, 1, # a1 - 0, 0, 0, -1, -1, # a2 - 0, 0, 0, 0, 0, # a3 - 1/2, 1/2, 1/2, 0, 0, # b2 - 0, 0, 0, -1/2, -1/2, # a2:b2 - 0, 0, 0, 0, 0, # a3:b2 - 1/4, 1/4, 0, 0, 0, # r1 - 1/4, 1/4, 0, 0, 0, # r2 - 1/4, 1/4, 0, 0, 0, # r3 - 1/4, 1/4, 0, 0, 0, # r4 - 1/4, 0, 0, 1/4, 0, # a1r1 - 0, 0, 0, -1/4, 0, # a2r1 - 0, 0, 0, 0, 0, # a3r1 - 1/4, 0, 0, 1/4, 0, # a1r2 - 0, 0, 0, -1/4, 0, # a2r2 - 0, 0, 0, 0, 0, # a3r2 - 1/4, 0, 0, 1/4, 0, # a1r3 - 0, 0, 0, -1/4, 0, # a2r3 - 0, 0, 0, 0, 0, # a3r3 - 1/4, 0, 0, 1/4, 0, # a1r4 - 0, 0, 0, -1/4, 0, # a2r4 - 0, 0, 0, 0, 0), # a3r4 - ncol=5, byrow=TRUE) - rownames(cm) <- c("a1", "a2", "a3", "b2", "a2:b2", "a3:b2", - "r1", "r2", "r3", "r4", - "a1r1", "a1r2", "a1r3", "a1r4", "a2r1", "a2r2", - "a2r3", "a2r4", "a3r1", "a3r2", "a3r3", "a3r4") - colnames(cm) <- c("A1n","A1i","A1b", "A1-A2n", "A1-A2ib") - print(cm) -#> A1n A1i A1b A1-A2n A1-A2ib -#> a1 1.00 1.00 1.0 1.00 1.0 -#> a2 0.00 0.00 0.0 -1.00 -1.0 -#> a3 0.00 0.00 0.0 0.00 0.0 -#> b2 0.50 0.50 0.5 0.00 0.0 -#> a2:b2 0.00 0.00 0.0 -0.50 -0.5 -#> a3:b2 0.00 0.00 0.0 0.00 0.0 -#> r1 0.25 0.25 0.0 0.00 0.0 -#> r2 0.25 0.25 0.0 0.00 0.0 -#> r3 0.25 0.25 0.0 0.00 0.0 -#> r4 0.25 0.25 0.0 0.00 0.0 -#> a1r1 0.25 0.00 0.0 0.25 0.0 -#> a1r2 0.00 0.00 0.0 -0.25 0.0 -#> a1r3 0.00 0.00 0.0 0.00 0.0 -#> a1r4 0.25 0.00 0.0 0.25 0.0 -#> a2r1 0.00 0.00 0.0 -0.25 0.0 -#> a2r2 0.00 0.00 0.0 0.00 0.0 -#> a2r3 0.25 0.00 0.0 0.25 0.0 -#> a2r4 0.00 0.00 0.0 -0.25 0.0 -#> a3r1 0.00 0.00 0.0 0.00 0.0 -#> a3r2 0.25 0.00 0.0 0.25 0.0 -#> a3r3 0.00 0.00 0.0 -0.25 0.0 -#> a3r4 0.00 0.00 0.0 0.00 0.0# post2 <- as.mcmc(m2$Sol - post2 <- as.mcmc(crossprod(t(m2$Sol), cm)) - - # Following table has columns for A1 estimate (narrow, intermediate, broad) - # A1-A2 estimate (narrow and intermediat/broad). - # The REML estimates are from Stroup 1989. - est <- rbind("REML est"=c(32.88, 32.88, 32.88, -1.25, -1.25), - "REML stderr"=c(1.08, 2.24, 4.54, 1.53, 3.17), - "MCMC mode"=posterior.mode(post2), - "MCMC stderr"=apply(post2, 2, sd)) - round(est,2) -#> A1n A1i A1b A1-A2n A1-A2ib -#> REML est 32.88 32.88 32.88 -1.25 -1.25 -#> REML stderr 1.08 2.24 4.54 1.53 3.17 -#> MCMC mode 32.72 32.87 31.24 -1.58 -1.94 -#> MCMC stderr 1.24 2.59 6.29 1.71 3.71# A1n A1i A1b A1-A2n A1-A2ib - # REML est 32.88 32.88 32.88 -1.25 -1.25 - # REML stderr 1.08 2.24 4.54 1.53 3.17 - # MCMC mode 32.95 32.38 31.96 -1.07 -1.17 - # MCMC stderr 1.23 2.64 5.93 1.72 3.73 - - post22 <- lattice::make.groups( - Narrow=post2[,1], Intermediate=post2[,2], Broad=post2[,3]) - print(densityplot(~data|which, data=post22, groups=which, - cex=.25, lty=1, layout=c(1,3), - xlab="MCMC model value of predictable function for A1")) -# } -
student.barley.Rd
Yield for two varieties of barley grown at 51 locations in the years - 1901 to 1906.
-A data frame with 102 observations on the following 7 variables.
year
year, 1901-1906
farmer
farmer name
place
place (nearest town)
district
district, geographical area
gen
genotype, Archer
and Goldthorpe
yield
yield, 'stones' per acre (1 stone = 14 pounds)
income
income per acre in shillings, based on yield and quality
Experiments were conducted for six years by the Department of - Agriculture in Ireland. A total of seven varieties were tested, but - only Archer and Goldthorpe were tested in all six years (others were - dropped after being found inferior, or were added later). Plots were - two acres in size. The value of the grain depended on the yield and - quality. Quality varied much from farm to farm, but not so much within - the same farm.
-The phrase "analysis of variance" first appears in the abstract (only) - of a 1918 paper by Fisher. The 1923 paper by Student contained the - first analysis of variance table (but not for this data).
-One stone is 14 pounds. - To convert lb/ac to tonnes/ha, multiply by 0.00112085116
-Note: The analysis of Student cannot be reproduced exactly. For - example, Student states that the maximum income of Goldthorpe is 230 - shillings. A quick glance at Table I of Student shows that the - maximum income for Goldthorpe is 220 shillings (11 pounds, 0 - shillings) in 1901 at Thurles. Also, the results of Kempton could not - be reproduced exactly, perhaps due to rounding or the conversion - factor that was used.
-Student. 1923. - On Testing Varieties of Cereals. - Biometrika, 15, 271--293. - https://doi.org/10.1093/biomet/15.3-4.271
-R A Kempton and P N Fox, 1997. - Statistical Methods for Plant Variety Evaluation.
- --# \dontrun{ - - library(agridat) - data(student.barley) - dat <- student.barley - - libs(lattice) - bwplot(yield ~ gen|district, dat, main="student.barley - yield") -- dat$year <- factor(dat$year) - dat$income <- NULL - - # convert to tons/ha - dat <- transform(dat, yield=yield*14 * 0.00112085116) - - # Define 'loc' the way that Kempton does - dat$loc <- rep("",nrow(dat)) - dat[is.element(dat$farmer, c("Allardyce","Roche","Quinn")),"loc"] <- "1" - dat[is.element(dat$farmer, c("Luttrell","Dooley")), "loc"] <- "2" - dat[is.element(dat$year, c("1904","1905","1906")) & dat$farmer=="Kearney","loc"] <- "2" - dat[dat$farmer=="Mulhall","loc"] <- "3" - - dat <- transform(dat, loc=factor(paste(place,loc,sep=""))) - - libs(reshape2) - datm <- melt(dat, measure.var='yield') - - # Kempton Table 9.5 - round(acast(datm, loc+gen~year),2) -#> 1901 1902 1903 1904 1905 1906 -#> Arnestown_Archer NA NA 1.33 NA NA NA -#> Arnestown_Goldthorpe NA NA 1.93 NA NA NA -#> Bagnalstown_Archer NA NA NA NA NA 3.83 -#> Bagnalstown_Goldthorpe NA NA NA NA NA 3.48 -#> Ballinacurra_Archer 2.82 3.11 1.66 2.57 3.14 2.48 -#> Ballinacurra_Goldthorpe 1.76 2.98 1.82 2.98 3.28 2.43 -#> Birr_Archer NA 3.11 2.46 2.81 3.69 2.75 -#> Birr_Goldthorpe NA 2.31 2.01 2.98 3.39 2.50 -#> Carlingford1_Archer NA NA 2.95 NA NA NA -#> Carlingford1_Goldthorpe NA NA 2.31 NA NA NA -#> Carlingford2_Archer NA NA NA 2.01 3.61 2.93 -#> Carlingford2_Goldthorpe NA NA NA 2.37 2.82 3.20 -#> Castlebridge_Archer NA 2.81 3.12 2.29 2.86 2.92 -#> Castlebridge_Goldthorpe NA 2.82 2.50 1.57 2.86 2.65 -#> Dunleer_Archer NA NA NA 3.03 3.62 3.61 -#> Dunleer_Goldthorpe NA NA NA 2.87 3.14 3.36 -#> Enniscorthy_Archer NA 2.84 NA NA NA NA -#> Enniscorthy_Goldthorpe NA 2.98 NA NA NA NA -#> Greenore_Archer NA NA 2.81 NA NA NA -#> Greenore_Goldthorpe NA NA 1.96 NA NA NA -#> Monasterevan1_Archer NA NA NA 2.62 NA NA -#> Monasterevan1_Goldthorpe NA NA NA 2.59 NA NA -#> Monasterevan2_Archer NA NA NA NA 3.64 2.42 -#> Monasterevan2_Goldthorpe NA NA NA NA 3.22 2.65 -#> Monasterevan3_Archer NA NA NA NA NA 3.14 -#> Monasterevan3_Goldthorpe NA NA NA NA NA 3.48 -#> Nenagh_Archer 2.76 3.04 2.04 3.31 3.61 2.95 -#> Nenagh_Goldthorpe 2.51 3.36 2.12 2.89 3.92 2.21 -#> NewRoss1_Archer NA NA NA 2.04 NA NA -#> NewRoss1_Goldthorpe NA NA NA 1.76 NA NA -#> NewRoss2_Archer NA NA NA NA 3.26 3.56 -#> NewRoss2_Goldthorpe NA NA NA NA 3.42 3.09 -#> Portarlington_Archer NA NA NA 3.03 3.03 NA -#> Portarlington_Goldthorpe NA NA NA 2.81 2.64 NA -#> Thurles_Archer 3.80 NA NA NA NA NA -#> Thurles_Goldthorpe 3.48 NA NA NA NA NA -#> Tullamore_Archer NA NA NA NA 3.45 2.23 -#> Tullamore_Goldthorpe NA NA NA NA 2.67 2.18 -#> Whitegate_Archer 2.56 3.51 2.20 2.68 2.93 2.65 -#> Whitegate_Goldthorpe 1.95 3.26 1.84 2.57 2.84 2.23#> [1] 2.895005#> [1] 2.685164#> [1] 0.2098409#> [1] 0.05336873#> [1] 0.7652551- -if(0){ - # Kempton Table 9.6b - libs(lme4) - m2 <- lmer(yield~1 + (1|loc) + (1|year) + - (1|loc:year) + (1|gen:loc) + (1|gen:year), data=dat, - control=lmerControl(check.nobs.vs.rankZ="ignore")) -} - -# } -
tai.potato.Rd
Multi-environment trial of potato tuber yields
-data("tai.potato")- - -
A data frame with 48 observations on the following 6 variables.
yield
yield, kg/plot
gen
genotype code
variety
variety name
env
environment code
loc
location
year
year
Mean tuber yield of 8 genotypes in 3 locations over two years. - Katahdin and Sebago are check varieties. Each location was planted as - a 4-rep RCB design.
-In Tai's plot of the stability parameters, F5751 and Sebago were in - the average stability area. The highest yielding genotype F6032 had - an unstable performance.
-G.C.C. Tai, 1971. - Genotypic stability analysis and its application to potato regional trials. - Crop Sci 11, 184-190. Table 2, p. 187. - https://doi.org/10.2135/cropsci1971.0011183X001100020006x
-George Fernandez (1991). - Analysis of Genotype x Environment Interaction by Stability Estimates. - Hort Science, 26, 947-950.
- ---library(agridat) -data(tai.potato) -dat <- tai.potato - -libs(lattice) -dotplot(variety ~ yield|env, dat, main="tai.potato") --# fixme - need to add tai() example - -# note, st4gi::tai assumes there are replications in the data -# https://github.com/reyzaguirre/st4gi/blob/master/R/tai.R - -
talbot.potato.Rd
Yield and 14 trait scores for each of 9 potato varieties at 12 - locations in UK.
- -data("talbot.potato.traits") -data("talbot.potato.yield")- -
The talbot.potato.yield
dataframe has 126 observations on the following 3 variables.
gen
genotype/variety
trait
trait
score
trait score, 1-9
The talbot.potato.yield
dataframe has 108 observations on the following 3 variables.
gen
genotype/variety
loc
location/center
yield
yield, t/ha
The talbot.potato.yield
dataframe contains mean tuber yields
- (t/ha) of 9 varieties of potato at 12 centers in the United Kingdom
- over five years 1983-1987. The following abbreviations are used for
- the centers.
BU | Bush |
CA | Cambridge |
CB | Conon Bridge |
CC | Crossacreevy |
CP | Cockle Park |
CR | Craibstone |
GR | Greenmount |
HA | Harper Adams |
MO | Morley |
RO | Rosemaund |
SB | Sutton Bonnington |
TE | Terrington |
Mike Talbot and A V Wheelwright, 1989, - The analysis of genotype x analysis interactions by partial - least squares regression. - Biuletyn Oceny Odmian, 21/22, 19--25.
-Used with permission of Mike Talbot.
- - ---library(agridat) - -libs(pls, reshape2) - -data(talbot.potato.traits) -datt <- talbot.potato.traits -data(talbot.potato.yield) -daty <- talbot.potato.yield - -datt <- acast(datt, gen ~ trait, value.var='score') -daty <- acast(daty, gen ~ loc, value.var='yield') - -# Transform columns to zero mean and unit variance -datt <- scale(datt) -daty <- scale(daty) - -m1 <- plsr(daty ~ datt, ncomp=3) -summary(m1)#> Data: X dimension: 9 14 -#> Y dimension: 9 12 -#> Fit method: kernelpls -#> Number of components considered: 3 -#> TRAINING: % variance explained -#> 1 comps 2 comps 3 comps -#> X 34.75196 51.176 69.43 -#> BU 23.45729 43.184 50.67 -#> CA 17.43483 54.890 58.94 -#> CB 43.53317 62.991 76.86 -#> CC 68.01120 82.451 82.99 -#> CP 48.47678 49.634 89.26 -#> CR 67.06064 71.160 83.44 -#> GR 0.03819 36.128 39.76 -#> HA 61.84794 87.342 87.49 -#> MO 61.46510 65.841 65.84 -#> RO 20.82397 27.029 46.44 -#> SB 16.47977 27.939 29.75 -#> TE 6.32481 9.181 22.36#> Comp 1 -#> DryMatter -0.38 -#> CrispColor -0.38 -#> FoliageMatur -0.33 -#> TuberBlight -0.27 -#> ExtDamage -0.21 -#> Gangrene -0.20 -#> FoliageBlight -0.01 -#> VirusY 0.12 -#> IntBruise 0.13 -#> FoliageCover 0.17 -#> CommonScab 0.25 -#> Dormancy 0.30 -#> LeafRoll 0.36 -#> DroughtResis 0.41-
theobald.barley.Rd
Barley yields at multiple locs, years, fertilizer levels
-data("theobald.barley")- - -
A data frame with 105 observations on the following 5 variables.
yield
yield, tonnes/ha
gen
genotype
loc
location, 5 levels
nitro
nitrogen kg/ha
year
year, 2 levels
Theobald and Talbot used BUGS to fit a fully Bayesian model - for yield response curves.
-Locations of the experiment were in north-east Scotland.
-Assumed nitrogen cost 400 pounds per tonne. - Grain prices used were 100, 110, and 107.50 pounds per tonne for - Georgie, Midas and Sundance.
-Chris M. Theobald and Mike Talbot, (2002). - The Bayesian choice of crop variety and fertilizer dose. - Appl Statistics, 51, 23-36. - https://doi.org/10.1111/1467-9876.04863
-Data provided by Chris Theobald and Mike Talbot.
- ---library(agridat) - -data(theobald.barley) -dat <- theobald.barley -dat <- transform(dat, env=paste(loc,year,sep="-")) -dat <- transform(dat, income=100*yield - 400*nitro/1000) - -libs(lattice) -xyplot(income~nitro|env, dat, groups=gen, type='b', - auto.key=list(columns=3), main="theobald.barley") --
theobald.covariate.Rd
Corn silage yields for maize in 5 years at 7 districts for 10 hybrids.
-A data frame with 256 observations on the following 5 variables.
year
year, 1990-1994
env
environment/district, 1-7
gen
genotype, 1-10
yield
dry-matter silage yield for corn
chu
corn heat units, thousand degrees Celsius
Used with permission of Chris Theobald.
-The trials were carried out in seven districts in the maritime - provinces of Eastern Canada. - Different fields were used in successive years. - The covariate CHU (Corn Heat Units) is the accumulated average daily - temperatures (thousands of degrees Celsius) during the growing season - at each location.
-Chris M. Theobald and Mike Talbot and Fabian Nabugoomu, 2002. - A Bayesian Approach to Regional and Local-Area Prediction From Crop - Variety Trials. - Journ Agric Biol Env Sciences, 7, 403--419. - https://doi.org/10.1198/108571102230
- ---library(agridat) - -data(theobald.covariate) -dat <- theobald.covariate -libs(lattice) -xyplot(yield ~ chu|gen, dat, type=c('p','smooth'), - xlab = "chu = corn heat units", - main="theobald.covariate - yield vs heat") --# \dontrun{ - # REML estimates (Means) in table 3 of Theobald 2002 - libs(lme4) - dat <- transform(dat, year=factor(year)) - m0 <- lmer(yield ~ -1 + gen + (1|year/env) + (1|gen:year), data=dat) - round(fixef(m0),2) -#> genG01 genG02 genG03 genG04 genG05 genG06 genG07 genG08 genG09 genG10 -#> 6.50 6.63 5.71 6.81 6.37 6.28 6.54 6.66 6.18 6.80# } - -# \dontrun{ - -# Use JAGS to fit Theobald (2002) model 3.2 with 'Expert' prior - -libs(reshape2) -ymat <- acast(dat, year+env~gen, value.var='yield') -chu <- acast(dat, year+env~., mean, value.var='chu', na.rm=TRUE) -chu <- as.vector(chu - mean(chu)) # Center the covariate -dat$yr <- as.numeric(dat$year) -yridx <- as.vector(acast(dat, year+env~., mean, value.var='yr', na.rm=TRUE)) -dat$loc <- as.numeric(dat$env) -locidx <- acast(dat, year+env~., mean, value.var='loc', na.rm=TRUE) -locidx <- as.vector(locidx) - -jdat <- list(nVar = 10, nYear = 5, nLoc = 7, nYL = 29, yield = ymat, - chu = chu, year = yridx, loc = locidx) - -libs(rjags) -#>#>m1 <- jags.model(file=system.file(package="agridat", "files/theobald.covariate.jag"), - data=jdat, n.chains=2) -#> Compiling model graph -#> Resolving undeclared variables -#> Allocating nodes -#> Graph information: -#> Observed stochastic nodes: 256 -#> Unobserved stochastic nodes: 153 -#> Total graph size: 1013 -#> -#> Initializing model -#>-# Table 3, Variety deviations from means (Expert prior) -c1 <- coda.samples(m1, variable.names=(c('alpha')), - n.iter=10000, thin=10) -s1 <- summary(c1) -effs <- s1$statistics[,'Mean'] -rev(sort(round(effs - mean(effs), 2))) # Perfect match (different order?) -#> alpha[4] alpha[10] alpha[8] alpha[2] alpha[7] alpha[1] alpha[5] alpha[6] -#> 0.34 0.32 0.18 0.17 0.09 0.05 -0.07 -0.15 -#> alpha[9] alpha[3] -#> -0.25 -0.68# } - -
thompson.cornsoy.Rd
Average yield of corn and soybeans in five U.S. states - (IA, IL, IN, MO, OH) during the years 1930-1962. - Pre-season precipitation and average temperature and precipitation - during each month of the growing season is included.
-state
state
year
year, 1930-1962
rain0
pre-season precipitation in inches
temp5
may temperature, Fahrenheit
rain6
june rain, inches
temp6
june temp
rain7
july rain
temp7
july temp
rain8
august rain
temp8
august temp
corn
corn yield, bu/acre
soy
soybean yield, bu/acre
Note: The Iowa corn data has sometimes been identified (in other - sources) as the "Iowa wheat" data, but this is incorrect.
-The 'year' variable affects yield through (1) improvements in - plant genetics (2) changes in management techniques such as - fertilizer, chemicals, tillage, planting date, and - (3) climate, pest infestations, etc.
-Double-cross corn hybrids were introduced in the 1920s. Single-cross - hybrids became common around 1960.
-During World War II, nitrogen was used in the production of TNT for - bombs. After the war, these factories switched to producing ammonia - for fertilizer. Nitrogen fertilizer use greatly increased after WWII - and is a major reason for yield gains of corn. Soybeans gain little - benefit from nitrogen fertilizer. The other major reason for - increasing yields in both crops is due to improved plant genetics.
-Crops are often planted in May, and harvest begins in September.
-Yields in 1936 were very low due to July being one of the hottest and - driest on record.
-Some relevant maps of yield, heat, and precipitation can be found in - Atlas of crop yield and summer weather patterns, 1931-1975, - https://www.isws.illinois.edu/pubdoc/C/ISWSC-150.pdf
-The following notes pertain to the Iowa data.
-The 1947 June precipitation of 10.33 inches was the wettest June on - record (a new Iowa June record of 10.34 inches was set in 2010). - As quoted in Monthly Weather Review (Dec 1957, p. 396) - "The dependence of Iowa agriculture upon the vagaries of the weather - was closely demonstrated during the 1947 season. A cool wet spring - delayed crop planting activity and plant growth; - then, in addition, a hard freeze on May 29th ... further set back the - corn. The heavy rains and subsequent floods during June caused - appreciable crop acreage to be abandoned ... followed by a hot dry - weather regime that persisted from mid-July through the first week - of September."
-In 1949 soybean yields were average while corn yields were low. - From the same source above, - "The year 1949 saw the greatest infestation of corn borer in the - history of corn in Iowa".
-1955 yields were reduced due to dry weather in late July and August.
-Thompson, L.M., 1963. Weather and technology in the production - of corn and soybeans. CAED Report 17. The Center for Agriculture - and Economic Development, Iowa State University, Ames, Iowa.
-Draper, N. R. and Smith, H. (1981). Applied Regression Analysis, - second ed., Wiley, New York.
- ---library(agridat) - -data(thompson.cornsoy) -dat <- thompson.cornsoy - -# The droughts of 1934/36 were severe in IA/MO. Less so in OH. -libs(lattice) -xyplot(corn+soy~year|state, dat, - type=c('p','l','r'), auto.key=list(columns=2), - main="thompson.cornsoy", - layout=c(5,1),ylab='yield') --# In 1954, only Missouri suffered very hot, dry weather -## xyplot(corn~year, dat, -## groups=state, type=c('p','l'), -## main="thompson.cornsoy", -## auto.key=list(columns=5), ylab='corn yield') - -# Rain and temperature have negative correlation in each month. -# July is a critical month: temp and yield are negatively correlated, -# while rain and yield are positively correlated. -# splom(~dat[-1,-1], col=dat$state, cex=.5, main="thompson.cornsoy") - -# \dontrun{ - # Plots similar to those in Venables' Exegeses paper. - - dat.ia <- subset(dat, state=="Iowa") - - libs(splines) - m2 <- aov(corn ~ ns(rain0, 3) + ns(rain7, 3) + - ns(temp8, 3) + ns(year,3), dat.ia) - op <- par(mfrow=c(2,2)) - termplot(m2, se=TRUE, rug=TRUE, partial=TRUE) -
turner.herbicide.Rd
Herbicide control of larkspur
-data("turner.herbicide")- - -
A data frame with 12 observations on the following 4 variables.
rep
rep factor
rate
rate of herbicide
live
number of live plants before application
dead
number of plants killed by herbicide
Effectiveness of the herbicide Picloram on larkspur plants at 4 doses - (0, 1.1, 2.2, 4.5) in 3 reps. Experiment was done in 1986 at Manti, - Utah.
-David L. Turner and Michael H. Ralphs and John O. Evans (1992). - Logistic Analysis for Monitoring and Assessing Herbicide Efficacy. - Weed Technology, 6, 424-430. - https://www.jstor.org/stable/3987312
-Christopher Bilder, Thomas Loughin. - Analysis of Categorical Data with R.
- --# \dontrun{ - - library(agridat) - data(turner.herbicide) - dat <- turner.herbicide - - dat <- transform(dat, prop=dead/live) - # xyplot(prop~rate,dat, pch=20, main="turner.herbicide", ylab="Proportion killed") - - m1 <- glm(prop~rate, data=dat, weights=live, family=binomial) - coef(m1) # -3.46, 2.6567 Same as Turner eqn 3 -#> (Intercept) rate -#> -3.459958 2.656715- # Make conf int on link scale and back-transform - p1 <- expand.grid(rate=seq(0,to=5,length=50)) - p1 <- cbind(p1, predict(m1, newdata=p1, type='link', se.fit=TRUE)) - p1 <- transform(p1, lo = plogis(fit - 2*se.fit), - fit = plogis(fit), - up = plogis(fit + 2*se.fit)) - - # Figure 2 of Turner - libs(latticeExtra) - foo1 <- xyplot(prop~rate,dat, cex=1.5, - main="turner.herbicide (model with 2*S.E.)", - xlab="Herbicide rate", ylab="Proportion killed") - foo2 <- xyplot(fit~rate, p1, type='l') - foo3 <- xyplot(lo+up~rate, p1, type='l', lty=1, col='gray') - print(foo1 + foo2 + foo3) -- - # What dose gives a LD90 percent kill rate? - # libs(MASS) - # dose.p(m1, p=.9) - ## Dose SE - ## p = 0.9: 2.12939 0.128418 - - # Alternative method - # libs(car) # logit(.9) = 2.197225 - # deltaMethod(m1, g="(log(.9/(1-.9))-b0)/(b1)", parameterNames=c('b0','b1')) - ## Estimate SE - ## (2.197225 - b0)/(b1) 2.12939 0.128418 - - # What is a 95 percent conf interval for LD90? Bilder & Loughin page 138 - root <- function(x, prob=.9, alpha=0.05){ - co <- coef(m1) # b0,b1 - covs <- vcov(m1) # b00,b11,b01 - # .95 = b0 + b1*x - # (b0+b1*x) + Z(alpha/2) * sqrt(b00 + x^2*b11 + 2*x*b01) > .95 - # (b0+b1*x) - Z(alpha/2) * sqrt(b00 + x^2*b11 + 2*x*b01) < .95 - f <- abs(co[1] + co[2]*x - log(prob/(1-prob))) / - sqrt(covs[1,1] + x^2 * covs[2,2] + 2*x*covs[1,2]) - return( f - qnorm(1-alpha/2)) - } - lower <- uniroot(f=root, c(0,2.13)) - upper <- uniroot(f=root, c(2.12, 5)) - c(lower$root, upper$root) -#> [1] 1.917257 2.446099# 1.92 2.45 - -# } -
urquhart.feedlot.Rd
Weight gain calves in a feedlot, given three different diets.
-data("urquhart.feedlot")- - -
A data frame with 67 observations on the following 5 variables.
animal
animal ID
herd
herd ID
diet
diet: Low, Medium, High
weight1
initial weight
weight2
slaughter weight
Calves born in 1975 in 11 different herds entered a feedlot as - yearlings. Each animal was fed one of three diets with low, medium, or - high energy. The original sources explored the use of some contrasts - for comparing breeds.
-Herd | Breed |
9 | New Mexico Herefords |
16 | New Mexico Herefords |
3 | Utah State University Herefords |
32 | Angus |
24 | Angus x Hereford (cross) |
31 | Charolais x Hereford |
19 | Charolais x Hereford |
36 | Charolais x Hereford |
34 | Brangus |
35 | Brangus |
33 | Southern Select |
N. Scott Urquhart (1982). - Adjustment in Covariance when One Factor Affects the Covariate - Biometrics, 38, 651-660. Table 4, p. 659. - https://doi.org/10.2307/2530046
-N. Scott Urquhart and David L. Weeks (1978). - Linear Models in Messy Data: Some Problems and Alternatives - Biometrics, 34, 696-705. - https://doi.org/10.2307/2530391
-Also available in the 'emmeans' package as the 'feedlot' data.
- --# \dontrun{ - - library(agridat) - data(urquhart.feedlot) - dat <- urquhart.feedlot - - libs(reshape2) - d2 <- melt(dat, id.vars=c('animal','herd','diet')) - - libs(latticeExtra) - useOuterStrips(xyplot(value ~ variable|diet*herd, data=d2, group=animal, - type='l', - xlab="Initial & slaughter timepoint for each diet", - ylab="Weight for each herd", - main="urquhart.feedlot - weight gain by animal")) -- - # simple fixed-effects model - dat <- transform(dat, animal = factor(animal), herd=factor(herd)) - m1 <- lm(weight2 ~ weight1 + herd*diet, data = dat) - coef(m1) # weight1 = 1.1373 match Urquhart table 5 common slope -#> (Intercept) weight1 herd9 herd16 -#> 280.222922 1.137315 -71.611764 -51.679186 -#> herd19 herd24 herd31 herd32 -#> -81.089896 -80.768678 -36.269082 -65.477829 -#> herd33 herd34 herd35 herd36 -#> -125.209353 -3.970439 -29.895929 -15.328810 -#> dietLow dietMedium herd9:dietLow herd16:dietLow -#> -33.622123 -12.783862 -16.960282 9.502665 -#> herd19:dietLow herd24:dietLow herd31:dietLow herd32:dietLow -#> 121.696783 20.625565 50.806235 66.358372 -#> herd33:dietLow herd34:dietLow herd35:dietLow herd36:dietLow -#> 222.442937 -27.760884 25.084868 -1.751030 -#> herd9:dietMedium herd16:dietMedium herd19:dietMedium herd24:dietMedium -#> NA NA 49.530167 NA -#> herd31:dietMedium herd32:dietMedium herd33:dietMedium herd34:dietMedium -#> -29.462442 -67.216138 25.450529 -20.649019 -#> herd35:dietMedium herd36:dietMedium -#> 2.447965 -116.014781- # random-effects model might be better, for example - # libs(lme4) - # m1 <- lmer(weight2 ~ -1 + diet + weight1 + (1|herd), data=dat) - # summary(m1) # weight1 = 1.2269 - -# } -
usgs.herbicides.Rd
Concentrations of selected herbicides and degradation products - determined by laboratory method analysis code GCS for water samples - collected from 51 streams in nine Midwestern States,2002
-data("usgs.herbicides")- - -
A data frame with 184 observations on the following 19 variables.
mapnum
map number
usgsid
USGS ID
long
longitude
lat
latitude
site
site name
city
city
sampletype
sample type code
date
date sample was collected
hour
hour sample was collected
acetochlor
concentration as character
alachlor
concentration as character
ametryn
concentration as character
atrazine
concentration as character
CIAT
concentration as character
CEAT
concentration as character
cyanazine
concentration as character
CAM
concentration as character
dimethenamid
concentration as character
flufenacet
concentration as character
Concentrations of selected herbicides and degradation products determined by laboratory method analysis code GCS for water samples collected from 51 streams in nine Midwestern States, 2002.
-All concentrations are micrograms/liter, "<" means "less than". The data are in character format to allow for "<".
-The original report contains data for more herbicides. This data is for illustrative purposes.
-Sample types: CR = concurrent replicate sample, FB = field blank, LD = laboratory duplicate, S1 = sample from pre-emergence runoff, S2 = sample from post-emergence runoff, S3 = sample from harvest-season runoff.
-Scribner, E.A., Battaglin, W.A., Dietze, J.E., and Thurman, E.M., - "Reconnaissance Data for Glyphosate, Other Selected Herbicides, their Degradation Products, and Antibiotics in 51 streams in Nine Midwestern States, 2002". - U.S. Geological Survey Open File Report 03-217. - Herbicide data from table 5, page 30-37. Site coordinates page 7-8. - https://ks.water.usgs.gov/pubs/reports/ofr.03-217.html
-None.
- --# \dontrun{ - - library(agridat) - data(usgs.herbicides) - dat <- usgs.herbicides - - - libs(NADA) -#> -#>#>-#> -#># create censored data for one trait - dat$y <- as.numeric(dat$atrazine) - dat$ycen <- is.na(dat$y) - dat$y[is.na(dat$y)] <- .05 - - # percent censored - with(dat, censummary(y, censored=ycen)) -#> all: -#> n n.cen pct.cen min max -#> 184 0 0 1 101 -#> -#> limits: -#> limit n uncen pexceed -#> 1 0 0 184 1 -#>#> n n.cen median mean sd -#> 184.00000 0.00000 30.63365 60.32547 102.33953#> Warning: no non-missing arguments to max; returning -Inf# with(dat, boxplot(y)) - pp <- with(dat, ros(obs=y, censored=ycen, forwardT="log")) # default lognormal - plot(pp) -- - plotfun <- function(vv){ - dat$y <- as.numeric(dat[[vv]]) - dat$ycen <- is.na(dat$y) - dat$y[is.na(dat$y)] <- .01 - # qqnorm(log(dat$y), main=vv) # ordinary qq plot shows censored values - pp <- with(dat, ros(obs=y, censored=ycen, forwardT="log")) - plot(pp, main=vv) # omits censored values - } - op <- par(mfrow=c(3,3)) - vnames <- c("acetochlor", "alachlor", "ametryn", "atrazine","CIAT", "CEAT", "cyanazine", #"CAM", - "dimethenamid", "flufenacet") - for(vv in vnames) plotfun(vv) -
vaneeuwijk.drymatter.Rd
Multi-environment trial of maize, dry matter content
-data("vaneeuwijk.drymatter")- - -
A data frame with 168 observations on the following 5 variables.
year
year
site
site, 4 levels
variety
variety, 6 levels
y
dry matter percent
Percent dry matter is given.
-Site codes are soil type classifications: - SS=Southern Sand, CS=Central Sand, NS=Northern Sand, RC=River Clay.
-These data are a balanced subset of the data analyzed in - van Eeuwijk, Keizer, and Bakker (1995b) and - Kroonenberg, Basford, and Ebskamp (1995).
- -Used with permission of Fred van Eeuwijk.
-van Eeuwijk, Fred A. and Pieter M. Kroonenberg (1998). - Multiplicative Models for Interaction in Three-Way ANOVA, with Applications to Plant Breeding - Biometrics, 54, 1315-1333. - https://doi.org/10.2307/2533660
-Kroonenberg, P.M., Basford, K.E. & Ebskamp, A.G.M. (1995). - Three-way cluster and component analysis of maize variety trials. - Euphytica, 84(1):31-42. - https://doi.org/10.1007/BF01677554
-van Eeuwijk, F.A., Keizer, L.C.P. & Bakker, J.J. Van Eeuwijk. (1995b). - Linear and bilinear models for the analysis of multi-environment trials: - II. An application to data from the Dutch Maize Variety Trials - Euphytica, 84(1):9-22. - https://doi.org/10.1007/BF01677552
-Hardeo Sahai, Mario M. Ojeda. - Analysis of Variance for Random Models, Volume 1. Page 261.
- --# \dontrun{ - - library(agridat) - data(vaneeuwijk.drymatter) - dat <- vaneeuwijk.drymatter - dat <- transform(dat, year=factor(year)) - dat <- transform(dat, env=factor(paste(year,site))) - - libs(HH) - HH::interaction2wt(y ~ year+site+variety,dat,rot=c(90,0), - x.between=0, y.between=0, - main="vaneeuwijk.drymatter") -- - # anova model - m1 <- aov(y ~ variety+env+variety:env, data=dat) - anova(m1) # Similar to VanEeuwijk table 2 -#> Warning: ANOVA F-tests on an essentially perfect fit are unreliable#> Analysis of Variance Table -#> -#> Response: y -#> Df Sum Sq Mean Sq F value Pr(>F) -#> variety 5 80.18 16.036 -#> env 27 3008.21 111.415 -#> variety:env 135 161.87 1.199 -#> Residuals 0 0.00#> Warning: ANOVA F-tests on an essentially perfect fit are unreliable#> Analysis of Variance Table -#> -#> Response: y -#> Df Sum Sq Mean Sq F value Pr(>F) -#> year 6 1194.65 199.11 -#> site 3 962.19 320.73 -#> variety 5 80.18 16.04 -#> year:site 18 851.37 47.30 -#> year:variety 30 64.90 2.16 -#> site:variety 15 17.01 1.13 -#> year:site:variety 90 79.97 0.89 -#> Residuals 0 0.00- # variance components model - libs(lme4) - libs(lucid) - m3 <- lmer(y ~ (1|year) + (1|site) + (1|variety) + - (1|year:site) + (1|year:variety) + (1|site:variety), - data=dat) - vc(m3) # matches Sahai page 266 -#> grp var1 var2 vcov sdcor -#> year:variety (Intercept) <NA> 0.3187 0.5645 -#> year:site (Intercept) <NA> 7.734 2.781 -#> site:variety (Intercept) <NA> 0.03503 0.1872 -#> year (Intercept) <NA> 6.273 2.505 -#> variety (Intercept) <NA> 0.4867 0.6976 -#> site (Intercept) <NA> 6.504 2.55 -#> Residual <NA> <NA> 0.8886 0.9426## grp var1 var2 vcov sdcor - ## year:variety (Intercept) <NA> 0.3187 0.5645 - ## year:site (Intercept) <NA> 7.735 2.781 - ## site:variety (Intercept) <NA> 0.03502 0.1871 - ## year (Intercept) <NA> 6.272 2.504 - ## variety (Intercept) <NA> 0.4867 0.6976 - ## site (Intercept) <NA> 6.504 2.55 - ## Residual <NA> <NA> 0.8885 0.9426 - -# } -
vaneeuwijk.fusarium.Rd
Infection of wheat varieties by Fusarium strains from 1990 to 1993
-data("vaneeuwijk.fusarium")- - -
A data frame with 560 observations on the following 4 variables.
year
year, 1990-1993
strain
strain of fusarium
gen
genotype/variety
y
Data come from Hungary. There were 20 wheat varieties infected with 7 - strains of Fusarium in the years 1990-1993. The measured value is a - rating of the severity of disease due to Fusarium head blight, - expressed as a number 1-100.
-Three-way interactions for varieties 21 and 23 were the only ones in - 1992 suffering from strain infections. This was due to incorrect - storage of the innoculum (strain) which rendered it incapable of - infecting most other varieties.
-The data is a subset of the data analyzed by VanEeuwijk et al. 1995.
-Used with permission of Fred van Eeuwijk.
-van Eeuwijk, Fred A. and Pieter M. Kroonenberg (1998). - Multiplicative Models for Interaction in Three-Way ANOVA, with Applications to Plant Breeding - Biometrics, 54, 1315-1333. - https://doi.org/10.2307/2533660
-F. A. van Eeuwijk, A. Mesterhazy, Ch. I. Kling, P. Ruckenbauer, - L. Saur, H. Burstmayr, M. Lemmens, L. C. P. Keizer, N. Maurin, - C. H. A. Snijders. (1995). - Assessing non-specificity of resistance in wheat to head blight caused - by inoculation with European strains of Fusarium culmorum, - F. graminearum and F. nivale using a multiplicative model for - interaction. - Theor Appl Genet. 90(2), 221-8. - https://doi.org/10.1007/BF00222205
- --# \dontrun{ - - library(agridat) - data(vaneeuwijk.fusarium) - dat <- vaneeuwijk.fusarium - dat <- transform(dat, year=factor(year)) - dat <- transform(dat, logity=log((y/100)/(1-y/100))) - - libs(HH) - position(dat$year) <- c(3,9,14,19) - position(dat$strain) <- c(2,5,8,11,14,17,20) - HH::interaction2wt(logity ~ gen+year+strain,dat,rot=c(90,0), - x.between=0, y.between=0, - main="vaneeuwijk.fusarium") -- - # anova on logit scale. Near match to VanEeuwijk table 6 - m1 <- aov(logity ~ gen*strain*year, data=dat) - anova(m1) -#> Warning: ANOVA F-tests on an essentially perfect fit are unreliable#> Analysis of Variance Table -#> -#> Response: logity -#> Df Sum Sq Mean Sq F value Pr(>F) -#> gen 19 157.55 8.292 -#> strain 6 91.54 15.256 -#> year 3 321.99 107.331 -#> gen:strain 114 34.03 0.299 -#> gen:year 57 140.94 2.473 -#> strain:year 18 236.95 13.164 -#> gen:strain:year 342 93.15 0.272 -#> Residuals 0 0.00## Response: logity - ## Df Sum Sq Mean Sq F value Pr(>F) - ## gen 19 157.55 8.292 - ## strain 6 91.54 15.256 - ## year 3 321.99 107.331 - ## gen:strain 114 34.03 0.299 - ## gen:year 57 140.94 2.473 - ## strain:year 18 236.95 13.164 - ## gen:strain:year 342 93.15 0.272 - -# } -
vaneeuwijk.nematodes.Rd
The number of cysts on 11 potato genotypes for 5 potato cyst nematode - populations.
-data("vaneeuwijk.nematodes")- - -
A data frame with 55 observations on the following 3 variables.
gen
potato genotype
pop
nematode population
y
number of cysts
The number of cysts on 11 potato genotypes for 5 potato cyst nematode - populations belonging to the species Globodera pallida. This - is part of a larger table in . The numbers are the means over four or - five replicates.
-Van Eeuwijk used this data to illustrate fitting a generalized linear - model.
-Fred A. van Eeuwijk, (1995). - Multiplicative Interaction in Generalized Linear Models. - Biometrics, 51, 1017-1032. - https://doi.org/10.2307/2533001
-Arntzen, F.K. & van Eeuwijk (1992). - Variation in resistance level of potato genotypes and virulence level of - potato cyst nematode populations. - Euphytica, 62, 135-143. - https://doi.org/10.1007/BF00037939
- ---library(agridat) -data(vaneeuwijk.nematodes) -dat <- vaneeuwijk.nematodes - -# show non-normality -op <- par(mfrow=c(2,1), mar=c(5,4,3,2)) -boxplot(y ~ pop, data=dat, las=2, - ylab="number of cysts") -title("vaneeuwijk.nematodes - cysts per nematode pop") -boxplot(y ~ gen, data=dat, las=2) -par(op) - -# \dontrun{ - # normal distribution - lm1 <- lm(y ~ gen + pop, data=dat) - - # poisson distribution - glm1 <- glm(y ~ gen+pop,data=dat,family=quasipoisson(link=log)) - anova(glm1) -#> Analysis of Deviance Table -#> -#> Model: quasipoisson, link: log -#> -#> Response: y -#> -#> Terms added sequentially (first to last) -#> -#> -#> Df Deviance Resid. Df Resid. Dev -#> NULL 54 8947.4 -#> gen 10 7111.4 44 1836.0 -#> pop 4 690.6 40 1145.4- libs(gnm) - - # main-effects non-interaction model - gnm0 <- gnm(y ~ pop + gen, data=dat, - family=quasipoisson(link=log)) - # one interaction - gnm1 <- gnm(y ~ pop + gen + Mult(pop,gen,inst=1), data=dat, - family=quasipoisson(link=log)) -#> Initialising -#> Running start-up iterations.. -#> Running main iterations......................................................... -#> .......................... -#> Done# two interactions - gnm2 <- gnm(y ~ pop + gen + Mult(pop,gen,inst=1) + Mult(pop,gen,inst=2), - data=dat, - family=quasipoisson(link=log)) -#> Initialising -#> Running start-up iterations.. -#> Running main iterations............. -#> Done- # anova(gnm0, gnm1, gnm2, test="F") - # only 2, not 3 axes needed - - # match vaneeuwijk table 2 - # anova(gnm2) - ## Df Deviance Resid. Df Resid. Dev - ## NULL 54 8947.4 - ## pop 4 690.6 50 8256.8 - ## gen 10 7111.4 40 1145.4 - ## Mult(pop, gen, inst = 1) 13 716.0 27 429.4 - ## Mult(pop, gen, inst = 2) 11 351.1 16 78.3 - - # compare residual qq plots from models - op <- par(mfrow=c(2,2)) - plot(lm1, which=2, main="LM") - plot(glm1, which=2, main="GLM") - plot(gnm0, which=2, main="GNM, no interaction") - plot(gnm2, which=2, main="GNM, 2 interactions") -par(op) - - # extract interaction-term coefficients, make a biplot - pops <- pickCoef(gnm2, "[.]pop") - gens <- pickCoef(gnm2, "[.]gen") - coefs <- coef(gnm2) - A <- matrix(coefs[pops], nc = 2) - B <- matrix(coefs[gens], nc = 2) - A2=scale(A) - B2=scale(B) - rownames(A2) <- levels(dat$pop) - rownames(B2) <- levels(dat$gen) - # near-match with vaneeuwijk figure 1 - biplot(A2,B2, expand=2.5,xlim=c(-2,2),ylim=c(-2,2), - main="vaneeuwijk.nematodes - GAMMI biplot") --# } -
vargas.txe.Rd
Treatment x environment interaction in agronomy trials
- -data("vargas.txe.covs") -data("vargas.txe.yield")- -
The 'vargas.txe.covs' data has 10 years of measurements on 28 - environmental covariates:
year
year
MTD
mean maximum temperature in December
MTJ
mean maximum temperature in January
MTF
mean maximum temperature in February
MTM
mean maximum temperature in March
MTA
mean maximum temperature in April
mTD
mean minimum temperature in December
mTJ
mean minimum temperature in January
mTF
mean minimum temperature in February
mTM
mean minimum temperature in March
mTA
mean minimum temperature in April
mTUD
mean minimum temperature in December
mTUJ
mean minimum temperature in January
mTUF
mean minimum temperature in February
mTUM
mean minimum temperature in March
mTUA
mean minimum temperature in April
PRD
total monthly precipitation in December
PRJ
total monthly precipitation in Jan
PRF
total monthly precipitation in Feb
PRM
total monthly precipitation in Mar
SHD
sun hours per day in Dec
SHJ
sun hours per day in Jan
SHF
sun hours per day in Feb
EVD
total monthly evaporation in Dec
EVJ
total monthly evaporation in Jan
EVF
total monthly evaporation in Feb
EVM
total monthly evaporation in Mar
EVA
total monthly evaporation in Apr
The 'vargas.txe.yield' dataframe contains 240 observations on - three variables
year
Year
trt
Treatment. See details section
yield
Grain yield, kg/ha
The treatment names indicate:
T | deep knife |
t | no deep knife |
S | sesbania |
s | soybean |
M | chicken manure |
m | no chicken manure |
0 | no nitrogen |
n | 100 kg/ha nitrogen |
N | 200 kg/ha nitrogen |
Vargas, Mateo and Crossa, Jose and van Eeuwijk, Fred and Sayre, - Kenneth D. and Reynolds, Matthew P. (2001). - Interpreting Treatment x Environment Interaction in Agronomy Trials. - Agron. J., 93, 949-960. Table A1, A3. - https://doi.org/10.2134/agronj2001.934949x
-Used with permission of Jose Crossa.
- - --- library(agridat) - data(vargas.txe.covs) - data(vargas.txe.yield) - - libs(reshape2) - libs(lattice) - redblue <- colorRampPalette(c("firebrick", "lightgray", "#375997")) - Z <- vargas.txe.yield - Z <- acast(Z, year ~ trt, value.var='yield') - levelplot(Z, col.regions=redblue, - main="vargas.txe.yield", xlab="year", ylab="treatment", - scales=list(x=list(rot=90)))- # Double-centered like AMMI - Z <- sweep(Z, 1, rowMeans(Z)) - Z <- sweep(Z, 2, colMeans(Z)) - # Vargas figure 1 - biplot(prcomp(Z, scale.=FALSE), main="vargas.txe.yield")- # Now, PLS relating the two matrices - U <- vargas.txe.covs - U <- scale(U) # Standardized covariates - libs(pls) - m1 <- plsr(Z~U) - # Vargas Fig 2, flipped vertical/horizontal - biplot(m1, which="x", var.axes=TRUE)-
vargas.wheat1.Rd
Yield of Durum wheat, 7 genotypes, 6 years, with 16 genotypic variates - and 16 environment variates.
-data("vargas.wheat1.covs") -data("vargas.wheat1.traits")- - -
The vargas.wheat1.covs
dataframe has 6 observations on the following 17 variables.
year
year, 1990-1995
MTD
Mean daily max temperature December, deg C
MTJ
January
MTF
February
MTM
March
mTD
Mean daily minimum temperature December, deg C
mTJ
January
mTF
February
mTM
March
PRD
Monthly precipitation in December, mm
PRJ
January
PRF
February
PRM
March
SHD
a numeric vector
SHJ
January
SHF
February
SHM
March
The vargas.wheat1.traits
dataframe has 126 observations on the following 19 variables.
year
year, 1990-1995
rep
replicate, 3 levels
gen
genotype, 7 levels
yield
yield, kg/ha
ANT
anthesis, days after emergence
MAT
maturity, days after emergence
GFI
grainfill, MAT-ANT
PLH
plant height, cm
BIO
biomass above ground, kg/ha
HID
harvest index
STW
straw yield, kg/ha
NSM
spikes / m^2
NGM
grains / m^2
NGS
grains per spike
TKW
thousand kernel weight, g
WTI
weight per tiller, g
SGW
spike grain weight, g
VGR
vegetative growth rate, kg/ha/day, STW/ANT
KGR
kernel growth rate, mg/kernel/day
Conducted in Ciudad Obregon, Mexico.
-Mateo Vargas and Jose Crossa and Ken Sayre and Matthew Renolds and - Martha E Ramirez and Mike Talbot, 1998. - Interpreting Genotype x Environment Interaction in Wheat by - Partial Least Squares Regression, Crop Science, 38, 679--689. - https://doi.org/10.2135/cropsci1998.0011183X003800030010x
-Data provided by Jose Crossa.
- ---library(agridat) - -# \dontrun{ - - data(vargas.wheat1.covs) - data(vargas.wheat1.traits) - - libs(pls) - libs(reshape2) - - # Yield as a function of non-yield traits - Y0 <- vargas.wheat1.traits[,c('gen','rep','year','yield')] - Y0 <- acast(Y0, gen ~ year, value.var='yield', fun=mean) - Y0 <- sweep(Y0, 1, rowMeans(Y0)) - Y0 <- sweep(Y0, 2, colMeans(Y0)) # GxE residuals - Y1 <- scale(Y0) # scaled columns - X1 <- vargas.wheat1.traits[, -4] # omit yield - X1 <- aggregate(cbind(ANT,MAT,GFI,PLH,BIO,HID,STW,NSM,NGM, - NGS,TKW,WTI,SGW,VGR,KGR) ~ gen, data=X1, FUN=mean) - rownames(X1) <- X1$gen - X1$gen <- NULL - X1 <- scale(X1) # scaled columns - m1 <- plsr(Y1~X1) - loadings(m1)[,1,drop=FALSE] # X loadings in Table 1 of Vargas -#> Comp 1 -#> ANT -0.21589859 -#> MAT -0.15861226 -#> GFI 0.14008021 -#> PLH 0.31638335 -#> BIO 0.29630833 -#> HID 0.34930528 -#> STW -0.03876374 -#> NSM -0.03472883 -#> NGM 0.34359779 -#> NGS 0.35502558 -#> TKW -0.19102141 -#> WTI 0.20568622 -#> SGW 0.34543954 -#> VGR 0.21702042 -#> KGR -0.32935119- biplot(m1, cex=.5, which="x", var.axes=TRUE, - main="vargas.wheat1 - gen ~ trait") # Vargas figure 2a -- # Yield as a function of environment covariates - Y2 <- t(Y0) - X2 <- vargas.wheat1.covs - rownames(X2) <- X2$year - X2$year <- NULL - Y2 <- scale(Y2) - X2 <- scale(X2) - - m2 <- plsr(Y2~X2) - loadings(m2)[,1,drop=FALSE] # X loadings in Table 2 of Vargas -#> Comp 1 -#> MTD -0.29946437 -#> MTJ 0.14665034 -#> MTF 0.07040468 -#> MTM 0.40236460 -#> mTD 0.32859831 -#> mTJ 0.18260903 -#> mTF 0.25749215 -#> mTM 0.14059032 -#> PRD -0.08387786 -#> PRJ -0.12277326 -#> PRF -0.03457021 -#> PRM -0.21542249 -#> SHD -0.38252353 -#> SHJ -0.05597998 -#> SHF -0.43981570 -#> SHM 0.37609945# } -
vargas.wheat2.Rd
The yield of 8 wheat genotypes was measured in 21 low-humidity - environments. Each environment had 13 covariates recorded.
-data("vargas.wheat2.covs") -data("vargas.wheat2.yield")- - -
The 'vargas.wheat2.covs' data frame has 21 observations on the following 14 variables.
env
environment
CYC
length of growth cycle in days
mTC
mean daily minimum temperature in degrees Celsius
MTC
mean daily maximum temperature
SHC
sun hours per day
mTV
mean daily minimum temp during vegetative stage
MTV
mean daily maximum temp during vegetative stage
SHV
sun hours per day during vegetative stage
mTS
mean daily minimum temp during spike growth stage
MTS
mean daily maximum temp during spike growth stage
SHS
sun hours per day during spike growth stage
mTG
mean daily minimum temp during grainfill stage
MTG
mean daily maximum temp during grainfill stage
SHG
sun hours per day during grainfill stage
The 'vargas.wheat2.yield' data frame has 168 observations on the following 3 variables.
env
environment
gen
genotype
yield
yield (kg/ha)
Grain yields (kg/ha) for 8 wheat genotypes at 21 low-humidity - environments grown during 1990-1994. The data is environment-centered - and genotype-centered. The rows and columns of the GxE matrix have - mean zero. The locations of the experiments were:
OBD | Ciudad Obregon, Mexico, planted in December |
SUD | Wad Medani, Sudan |
TLD | Tlaltizapan, Mexico, planted in December |
TLF | Tlaltizapan, Mexico, planted in February |
IND | Dharwar, India |
SYR | Aleppo, Syria |
NIG | Kadawa, Nigeria |
Mateo Vargas and Jose Crossa and Ken Sayre and Matthew Renolds and - Martha E Ramirez and Mike Talbot, 1998. - Interpreting Genotype x Environment Interaction in Wheat by - Partial Least Squares Regression, Crop Science, 38, 679--689. - https://doi.org/10.2135/cropsci1998.0011183X003800030010x
-Data provided by Jose Crossa.
- --# \dontrun{ - - library(agridat) - libs(pls,reshape2) - - data(vargas.wheat2.covs) - datc <- vargas.wheat2.covs - - data(vargas.wheat2.yield) - daty <- vargas.wheat2.yield - - # Cast to matrix - daty <- acast(daty, env ~ gen, value.var='yield') - rownames(datc) <- datc$env - datc$env <- NULL - - # The pls package centers, but does not (by default) use scaled covariates - # Vargas says you should - # daty <- scale(daty) - datc <- scale(datc) - - m2 <- plsr(daty ~ datc) - - # Plot predicted vs observed for each genotype using all components - plot(m2) -- # Loadings - # plot(m2, "loadings", xaxt='n') - # axis(1, at=1:ncol(datc), labels=colnames(datc), las=2) - - # Biplots - biplot(m2, cex=.5, which="y", var.axes=TRUE, - main="vargas.wheat2 - daty ~ datc") # Vargas figure 2a -# biplot(m2, cex=.5, which="scores", var.axes=TRUE) - # biplot(m2, cex=.5, which="loadings", var.axes=TRUE) - -# } -
verbyla.lupin.Rd
Yield of 9 varieties of lupin at different planting densities across - 2 years and multiple locations.
-gen
genotype, 9 varieties
site
site, 11 levels
rep
rep, 2-3 levels
rate
seeding rate in plants/m^2
row
row
col
column
serp
factor of 4 levels for serpentine seeding effect
linrow
centered row position as a numeric variate (row-8.5)/10
lincol
centered column position as a numeric variate (col-3.5)
linrate
linear effect of seedrate, scaled (seedrate-41.92958)/10
yield
yield in tons/hectare
year
year, 1991-1992
loc
location
Nine varieties of lupin were tested for yield response to plant density - at 11 sites. The target density in 1991 was 10, 20, ..., 60 plants per - m^2, and in 1992 was 20, 30, ..., 70 plants per m^2.
-Plot dimensions are not given.
-The variety Myallie was grown only in 1992.
-Each site had 2 reps in 1991 and 3 reps in - 1992. Each rep was laid out as a factorial RCB design; one randomization was - used for all sites in 1991 and one (different) randomization was used - for all sites in 1992. (This was confirmed with the principal - investigator.)
-In 1991 at the Mt. Barker location, the data for columns - 5 and 6 was discarded due to problems with weeds.
-Variety 'Myallie' was called '84L:439' in Verbyla 1997.
-The year of release for the varieties is
-Unicrop | 1973 |
Illyarrie | 1979 |
Yandee | 1980 |
Danja | 1986 |
Gungurru | 1988 |
Yorrel | 1989 |
Warrah | 1989 |
Merrit | 1991 |
Myallie | 1995 |
Data retrieved Oct 2010 from https://www.blackwellpublishers.co.uk/rss. - (No longer available).
-Used with permission of Blackwell Publishing.
-Arunas P. Verbyla and Brian R. Cullis and Michael G. Kenward - and Sue J. Welham, (1999). - The analysis of designed experiments and longitudinal data by using - smoothing splines. - Appl. Statist., 48, 269--311. - https://doi.org/10.1111/1467-9876.00154
-Arunas P. Verbyla and Brian R. Cullis and Michael G. Kenward - and Sue J. Welham, (1997). - The analysis of designed experiments and longitudinal data by using - smoothing splines. - University of Adelaide, Department of Statistics, Research Report - 97/4. - https://https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.56.808
- --# \dontrun{ - - library(agridat) - data(verbyla.lupin) - dat <- verbyla.lupin - - # The same RCB randomization was used at all sites in each year - libs(desplot) - desplot(dat, gen~col+row|site, - out1=rep, num=rate, - # aspect unknown - main="verbyla.lupin - experiment design") -- - # Figure 3 of Verbyla - libs(lattice) - foo <- xyplot(yield ~ rate|loc*gen, data=dat, subset=year==92, - type=c('p','smooth'), cex=.5, - main="verbyla.lupin: 1992 yield response curves", - xlab="Seed rate (plants/m^2)", - ylab="Yield (tons/ha)", - strip=strip.custom(par.strip.text=list(cex=.7))) - - libs(latticeExtra) # for useOuterStrips - useOuterStrips(foo, - strip=strip.custom(par.strip.text=list(cex=.7)), - strip.left=strip.custom(par.strip.text=list(cex=.7))) -- - # ---------- - - libs(asreml,lucid) - # asreml 4 - - # We try to reproduce the analysis of Verbyla 1999. - # May not be exactly the same, but is pretty close. - - # Check nlevels for size of random-coefficient structures - # length(with(dat, table(gen))) # 9 varieties for RC1 - # length(with(dat, table(gen,site))) # 99 site:gen combinations for RC2 - - # Make row and col into factors - dat <- transform(dat, colf=factor(col), rowf=factor(row)) - # sort for asreml - dat <- dat[order(dat$site, dat$rowf, dat$colf),] - - # Make site names more useful for plots - # dat <- transform(dat, site=factor(paste0(year,".",substring(loc,1,4)))) - - # Initial model from top of Verbyla table 9. - m0 <- asreml(yield ~ 1 - + site - + linrate - + site:linrate, - data = dat, - random = ~ spl(rate) - + dev(rate) - + site:spl(rate) - + site:dev(rate) - + str(~gen+gen:linrate, ~us(2):id(9)) # RC1 - + gen:spl(rate) - + gen:dev(rate) - + str(~site:gen+site:gen:linrate, ~us(2):id(99)) # RC2 - + site:gen:spl(rate) - + site:gen:dev(rate), - residual = ~ dsum( ~ ar1(rowf):ar1(colf)|site) # Spatial AR1 x AR1 - ) -#> Multi-section model using the sigma parameterization. -#> ASReml 4.1.0 Fri Dec 11 17:50:41 2020 -#> Spline: design points closer than 0.006 have been merged.#> Warning: US updates modified 2 times in iteration 1 to remain positive definite.#> LogLik Sigma2 DF wall cpu -#> 1 1035.181 1.0 1370 17:50:41 0.5 (16 restrained) -#> 2 1265.567 1.0 1370 17:50:42 0.4 (15 restrained)#> Warning: US updates modified 2 times in iteration 3 to remain positive definite.#> 3 1433.305 1.0 1370 17:50:42 0.3 (13 restrained)#> Warning: US updates modified 1 times in iteration 4 to remain positive definite.#> 4 1491.898 1.0 1370 17:50:42 0.3 (10 restrained) -#> 5 1530.115 1.0 1370 17:50:43 0.3 (5 restrained) -#> 6 1535.456 1.0 1370 17:50:43 0.3 (5 restrained) -#> 7 1537.134 1.0 1370 17:50:43 0.3 (3 restrained) -#> 8 1537.495 1.0 1370 17:50:44 0.3 (1 restrained) -#> 9 1537.559 1.0 1370 17:50:44 0.3 -#> 10 1537.563 1.0 1370 17:50:44 0.3#> Warning: US variance structures were modified in 5 instances to make them positive definite#> Warning: Some components changed by more than 1% on the last iteration.#> Multi-section model using the sigma parameterization. -#> ASReml 4.1.0 Fri Dec 11 17:50:44 2020 -#> Spline: design points closer than 0.006 have been merged. -#> LogLik Sigma2 DF wall cpu -#> 1 1537.564 1.0 1370 17:50:45 0.4 -#> 2 1537.564 1.0 1370 17:50:45 0.3#> Warning: Some components changed by more than 1% on the last iteration.#> Multi-section model using the sigma parameterization. -#> ASReml 4.1.0 Fri Dec 11 17:50:45 2020 -#> Spline: design points closer than 0.006 have been merged. -#> LogLik Sigma2 DF wall cpu -#> 1 1537.564 1.0 1370 17:50:46 0.4 -#> 2 1537.564 1.0 1370 17:50:46 0.3#> Warning: Some components changed by more than 1% on the last iteration.#> Multi-section model using the sigma parameterization. -#> ASReml 4.1.0 Fri Dec 11 17:50:46 2020 -#> Spline: design points closer than 0.006 have been merged. -#> LogLik Sigma2 DF wall cpu -#> 1 1537.564 1.0 1370 17:50:47 0.4 -#> 2 1537.564 1.0 1370 17:50:47 0.3#> Warning: Some components changed by more than 1% on the last iteration.#> Multi-section model using the sigma parameterization. -#> ASReml 4.1.0 Fri Dec 11 17:50:47 2020 -#> Spline: design points closer than 0.006 have been merged. -#> LogLik Sigma2 DF wall cpu -#> 1 1537.564 1.0 1370 17:50:47 0.4 -#> 2 1537.564 1.0 1370 17:50:48 0.3#> Warning: Some components changed by more than 1% on the last iteration.#> Multi-section model using the sigma parameterization. -#> ASReml 4.1.0 Fri Dec 11 17:50:48 2020 -#> Spline: design points closer than 0.006 have been merged. -#> LogLik Sigma2 DF wall cpu -#> 1 1537.564 1.0 1370 17:50:48 0.4 -#> 2 1537.564 1.0 1370 17:50:49 0.3- # Variograms match Verbyla 1999 figure 7 (scale slightly different) - plot(varioGram(m0), xlim=c(1:19), zlim=c(0,2), - main="verbyla.lupin - variogram by site") -- # Sequence of models in Verbyla 1999 table 10 - m1 <- update(m0, fixed= ~ . - + at(site, c(2,5,6,8,9,10)):lincol - + at(site, c(3,5,7,8)):linrow - + at(site, c(2,3,5,7,8,9,11)):serp - , random = ~ . - + at(site, c(3,6,7,9)):rowf - + at(site, c(1,2,3,9,10)):colf - + at(site, c(5,7,8,10)):units) -#> Multi-section model using the sigma parameterization. -#> ASReml 4.1.0 Fri Dec 11 17:50:49 2020 -#> Spline: design points closer than 0.006 have been merged.#> Warning: US updates modified 1 times in iteration 1 to remain positive definite.#> LogLik Sigma2 DF wall cpu -#> 1 1300.766 1.0 1339 17:50:50 0.8 (15 restrained) -#> 2 1373.661 1.0 1339 17:50:51 0.6 (11 restrained)#> Warning: US updates modified 1 times in iteration 3 to remain positive definite.#> 3 1521.164 1.0 1339 17:50:51 0.6 (12 restrained)#> Warning: US updates modified 1 times in iteration 4 to remain positive definite.#> 4 1550.613 1.0 1339 17:50:52 0.7 (7 restrained) -#> 5 1571.582 1.0 1339 17:50:53 0.7 (3 restrained) -#> 6 1578.652 1.0 1339 17:50:53 0.6 (2 restrained) -#> 7 1582.262 1.0 1339 17:50:54 0.6 (1 restrained) -#> 8 1582.866 1.0 1339 17:50:54 0.6 -#> 9 1582.912 1.0 1339 17:50:55 0.6 -#> 10 1582.921 1.0 1339 17:50:56 0.6 -#> 11 1582.925 1.0 1339 17:50:56 0.6 -#> 12 1582.928 1.0 1339 17:50:57 0.6 -#> 13 1582.930 1.0 1339 17:50:57 0.6#> Warning: US variance structures were modified in 3 instances to make them positive definite#> Warning: Log-likelihood not converged#> Warning: Some components changed by more than 1% on the last iteration.#> Multi-section model using the sigma parameterization. -#> ASReml 4.1.0 Fri Dec 11 17:50:58 2020 -#> Spline: design points closer than 0.006 have been merged. -#> LogLik Sigma2 DF wall cpu -#> 1 1582.932 1.0 1339 17:50:58 0.8 -#> 2 1582.932 1.0 1339 17:50:59 0.6 -#> 3 1582.933 1.0 1339 17:51:00 0.7 -#> 4 1582.933 1.0 1339 17:51:00 0.7 -#> 5 1582.934 1.0 1339 17:51:01 0.7 -#> 6 1582.934 1.0 1339 17:51:02 0.7#> Warning: Some components changed by more than 1% on the last iteration.#> Multi-section model using the sigma parameterization. -#> ASReml 4.1.0 Fri Dec 11 17:51:02 2020 -#> Spline: design points closer than 0.006 have been merged. -#> LogLik Sigma2 DF wall cpu -#> 1 1582.935 1.0 1339 17:51:02 0.3 (1 restrained) -#> 2 1582.935 1.0 1339 17:51:03 0.2 (1 restrained) -#> 3 1582.935 1.0 1339 17:51:03 0.3#> Multi-section model using the sigma parameterization. -#> ASReml 4.1.0 Fri Dec 11 17:51:03 2020 -#> Spline: design points closer than 0.006 have been merged. -#> LogLik Sigma2 DF wall cpu -#> 1 1582.936 1.0 1339 17:51:03 0.2 (1 restrained) -#> 2 1582.936 1.0 1339 17:51:03 0.1 (1 restrained) -#> 3 1582.936 1.0 1339 17:51:03 0.1#> Multi-section model using the sigma parameterization. -#> ASReml 4.1.0 Fri Dec 11 17:51:04 2020 -#> Spline: design points closer than 0.006 have been merged. -#> LogLik Sigma2 DF wall cpu -#> 1 1582.936 1.0 1339 17:51:04 0.1 (1 restrained) -#> 2 1582.936 1.0 1339 17:51:04 0.1 (1 restrained) -#> 3 1582.936 1.0 1339 17:51:04 0.1#> Multi-section model using the sigma parameterization. -#> ASReml 4.1.0 Fri Dec 11 17:51:04 2020 -#> Spline: design points closer than 0.006 have been merged. -#> LogLik Sigma2 DF wall cpu -#> 1 1582.936 1.0 1339 17:51:04 0.1 -#> 2 1582.936 1.0 1339 17:51:04 0.1#> effect component std.error z.ratio bound %ch -#> spl(rate) 0.001288 0.001019 1.3 P 0 -#> spl(rate):site 0.0001556 0.0001227 1.3 P 0 -#> gen+gen:linrate!us(2)_1:1 0.005445 0.003733 1.5 P 0 -#> gen+gen:linrate!us(2)_2:1 0.001004 0.0007598 1.3 P 0 -#> gen+gen:linrate!us(2)_2:2 0.0003661 0.0002168 1.7 P 0 -#> spl(rate):gen 0.0002057 0.0001326 1.6 P 0 -#> site:gen+site:gen:linrate!us(2)_1:1 0.01881 0.003402 5.5 P 0 -#> site:gen+site:gen:linrate!us(2)_2:1 0.00175 0.0004706 3.7 P 0 -#> site:gen+site:gen:linrate!us(2)_2:2 0.000167 0.00008968 1.9 P 0 -#> at(site, S03):rowf 0.002594 0.006235 0.42 P 0 -#> at(site, S06):rowf 0.001127 0.00226 0.5 P 0 -#> at(site, S07):rowf 0.00019 0.002012 0.094 P 0.1 -#> at(site, S09):rowf 0.004526 0.002323 1.9 P 0 -#> at(site, S01):colf 0.01041 0.00854 1.2 P 0 -#> at(site, S02):colf 0.02498 0.02076 1.2 P 0 -#> at(site, S03):colf 0.08167 0.07359 1.1 P 0 -#> at(site, S09):colf 0.004083 0.003688 1.1 P 0 -#> at(site, S10):colf 0.0004588 0.001058 0.43 P 0.2 -#> at(site, S05):units 0.004378 0.007786 0.56 P 0 -#> at(site, S07):units 0.01323 0.002712 4.9 P 0 -#> at(site, S08):units 0.01302 0.004202 3.1 P 0 -#> site_S01!R 0.03273 0.005654 5.8 P 0 -#> site_S01!rowf!cor 0.1852 0.1417 1.3 U 0 -#> site_S01!colf!cor 0.1407 0.121 1.2 U 0 -#> site_S02!R 0.03999 0.00753 5.3 P 0 -#> site_S02!rowf!cor 0.3103 0.135 2.3 U 0 -#> site_S02!colf!cor 0.1673 0.1369 1.2 U 0 -#> site_S03!R 0.0505 0.0157 3.2 P 0 -#> site_S03!rowf!cor 0.4707 0.179 2.6 U 0 -#> site_S03!colf!cor -0.01851 0.2423 -0.076 U 0 -#> site_S04!R 0.03301 0.005216 6.3 P 0 -#> site_S04!rowf!cor -0.04041 0.1159 -0.35 U 0 -#> site_S04!colf!cor 0.1109 0.1261 0.88 U 0 -#> site_S05!R 0.01772 0.008592 2.1 P 0 -#> site_S05!rowf!cor 0.5623 0.2644 2.1 U 0 -#> site_S05!colf!cor 0.08337 0.2043 0.41 U 0 -#> site_S06!R 0.02409 0.003996 6 P 0 -#> site_S06!rowf!cor 0.3216 0.08428 3.8 U 0 -#> site_S06!colf!cor 0.2214 0.1186 1.9 U 0 -#> site_S07!R 0.03658 0.02023 1.8 P 0 -#> site_S07!rowf!cor 0.9019 0.06323 14 U 0 -#> site_S07!colf!cor 0.5703 0.2383 2.4 U 0 -#> site_S08!R 0.01813 0.006293 2.9 P 0 -#> site_S08!rowf!cor 0.7429 0.1436 5.2 U 0 -#> site_S08!colf!cor 0.1768 0.2027 0.87 U 0 -#> site_S09!R 0.01725 0.002548 6.8 P 0 -#> site_S09!rowf!cor 0.2509 0.09548 2.6 U 0 -#> site_S09!colf!cor -0.03375 0.1213 -0.28 U 0 -#> site_S10!R 0.01035 0.001703 6.1 P 0 -#> site_S10!rowf!cor 0.5222 0.07746 6.7 U 0.1 -#> site_S10!colf!cor 0.1709 0.09266 1.8 U 0 -#> site_S11!R 0.05398 0.006905 7.8 P 0 -#> site_S11!rowf!cor 0.1939 0.09649 2 U 0 -#> site_S11!colf!cor 0.1034 0.1002 1 U 0#> [1] 0.7109445#> [1] 0.9873825- # Matches Verbyla 1999 figure 5 - plot(varioGram(m5), - main="verbyla.lupin - final model variograms", - xlim=c(1:19), zlim=c(0,1.5)) --# } -
vold.longterm.Rd
Long-term barley yields at different fertilizer levels
-data("vold.longterm")- - -
A data frame with 76 observations on the following 3 variables.
year
year
nitro
nitrogen fertilizer, grams/m^2
yield
yield, grams/m^2
Trials conducted at Osaker, Norway. - Nitrogen fertilizer amounts were increased by twenty percent in 1978.
-Vold (1998) fit a Michaelis-Menten type equation with a different - maximum in each year and a decreasing covariate for non-fertilizer - nitrogen.
-Miguez used a non-linear mixed effects model with asymptotic curve.
-Arild Vold (1998). - A generalization of ordinary yield response functions. - Ecological modelling, 108, 227-236. - https://doi.org/10.1016/S0304-3800(98)00031-3
-Fernando E. Miguez (2008). - Using Non-Linear Mixed Models for Agricultural Data.
- --# \dontrun{ - - library(agridat) - data(vold.longterm) - dat <- vold.longterm - - libs(lattice) - foo1 <- xyplot(yield ~ nitro | factor(year), data = dat, - as.table=TRUE, type = "o", - main=list("vold.longterm", cex=1.5), - xlab = list("N fertilizer",cex=1.5,font=4), - ylab = list("Yield", cex=1.5)) - - - # Long term trend shows decreasing yields - xyplot(yield ~ year , data = dat, group=nitro, type='o', - main="vold.longterm - yield level by nitrogen", - auto.key=list(columns=4)) -- - if(0){ - # Global model - m1.nls <- nls(yield ~ SSasymp(nitro, max, int, lograte), data=dat) - summary(m1.nls) - libs(MASS) # for 'confint' - confint(m1.nls) - - # Raw data plus global model. Year variation not modeled. - pdat <- data.frame(nitro=seq(0,14,0.5)) - pdat$pred <- predict(m1.nls, newdata=pdat) - libs(latticeExtra) # for layers - foo1 + xyplot(pred ~ nitro , data = pdat, - as.table=TRUE, type='l', col='red', lwd=2) - } - - # Separate fit for each year. Overfitting with 3x19=57 params. - libs(nlme) - m2.lis <- nlsList(yield ~ SSasymp(nitro,max,int,lograte) | year, data=dat) - plot(intervals(m2.lis),layout = c(3,1)) # lograte might be same for each year -- - # Fixed overall asymptotic model, plus random deviations for each year - # Simpler code, but less clear about what model is fit: m3.lme <- nlme(m2.lis) - libs(nlme) - m3.lme <- nlme(yield ~ SSasymp(nitro, max, int, lograte), data=dat, - groups = ~ year, - fixed = list(max~1, int~1, lograte~1), - random= max + int + lograte ~ 1, - start= c(max=300, int=100, rate=-2)) - - ## # Fixed effects are similar for the nls/lme models - ## coef(m1.nls) - ## fixef(m3.lme) - ## # Random effects are normally distributed - ## qqnorm(m3.lme, ~ ranef(.),col="black") - ## # Note the trend in intercept effects over time - ## plot(ranef(m3.lme),layout=c(3,1)) - - ## # Correlation between int,lograte int,max may not be needed - ## intervals(m3.lme,which="var-cov") - ## pairs(m3.lme,pch=19,col="black") - - ## # Model with int uncorrelated with max,lograte. AIC is worse. - ## # fit4.lm3 <- update(m3.lme, random=pdBlocked(list(max+lograte~1,int ~ 1))) - ## # intervals(fit4.lm3, which="var-cov") - ## # anova(m3.lme, fit4.lm3) - - # Plot the random-effect model. Excellent fit with few parameters. - pdat2 <- expand.grid(year=1970:1988, nitro=seq(0,15,length=50)) - pdat2$pred <- predict(m3.lme, new=pdat2) - pdat2$predf <- predict(m3.lme, new=pdat2, level=0) - foo1 <- update(foo1, type='p', - key=simpleKey(c("Observed","Fixed","Random"), - col=c("blue","red","darkgreen"), - points=FALSE, columns=3)) - libs(latticeExtra) - foo2 <- xyplot(pred~nitro|year, data=pdat2, type='l', col="darkgreen", lwd=2) - foo3 <- xyplot(predf~nitro|year, data=pdat2, type='l', col="red",lwd=1) - foo1 + foo2 + foo3 -- - ## # Income is maximized at about 15 - ## pdat2 <- transform(pdat2, income = predf*2 - 7*nitro) - ## with(pdat2, xyplot(income~nitro)) -# } -
vsn.lupin3.Rd
Early generation lupin trial with 3 sites, 330 test lines, 6 check lines.
-A data frame with 1236 observations on the following 5 variables.
site
site, levels S1
S2
S3
col
column
row
row
gen
genotype
yield
yield
An early-stage multi-environment trial, with 6 check lines and 300 - test lines. The 6 check lines were replicated in each environment.
-Used with permission of Arthur Gilmour, Brian Cullis, Robin Thompson.
-Multi-Environment Trials - Lupins. - https://www.vsni.co.uk/software/asreml/htmlhelp/asreml/xlupin.htm
- --# \dontrun{ - - library(agridat) - data(vsn.lupin3) - dat <- vsn.lupin3 - - # Split gen into check/test, make factors - dat <- within(dat, { - check <- ifelse(gen>336, 0, gen) - check <- ifelse(check<7, check, 7) - check <- factor(check) - test <- factor(ifelse(gen>6 & gen<337, gen, 0)) - gen=factor(gen) - }) - - libs(desplot) - desplot(dat, yield~ col*row|site, - # midpoint="midrange", - # aspect unknown - main="vsn.lupin3 - yield") -# Site 1 & 2 used same randomization - desplot(dat, check~ col*row|site, - main="vsn.lupin3: check plot placement") -- # asreml 4 - libs(asreml,lucid) - - # Single-site analyses suggested random row term for site 3, - # random column terms for all sites, - # AR1 was unnecessary for the col dimension of site 3 - dat <- transform(dat, colf=factor(col), rowf=factor(row)) - dat <- dat[order(dat$site, dat$colf, dat$rowf),] # Sort for asreml - m1 <- asreml(yield ~ site + check:site, data=dat, - random = ~ at(site):colf + at(site,3):rowf + test, - residual = ~ dsum( ~ ar1(colf):ar1(rowf) + - id(colf):ar1(rowf) | site, - levels=list(1:2, 3) - ) ) -#> Multi-section model using the sigma parameterization. -#> ASReml 4.1.0 Fri Dec 11 17:51:09 2020 -#> LogLik Sigma2 DF wall cpu -#> 1 -615.620 1.0 1213 17:51:09 0.0 (3 restrained) -#> 2 -424.081 1.0 1213 17:51:09 0.0 -#> 3 -355.609 1.0 1213 17:51:09 0.0 -#> 4 -325.217 1.0 1213 17:51:09 0.0 -#> 5 -315.664 1.0 1213 17:51:10 0.0 -#> 6 -314.402 1.0 1213 17:51:10 0.0 -#> 7 -314.276 1.0 1213 17:51:10 0.0 -#> 8 -314.263 1.0 1213 17:51:10 0.0 -#> 9 -314.262 1.0 1213 17:51:10 0.0m1$loglik -#> [1] -314.2617## [1] -314.2616 - - vc(m1) -#> effect component std.error z.ratio bound %ch -#> at(site, S1):colf 0.6234 0.4287 1.5 P 0.3 -#> at(site, S2):colf 0.1592 0.1141 1.4 P 0.2 -#> at(site, S3):colf 0.04832 0.02618 1.8 P 0 -#> at(site, S3):rowf 0.0235 0.008483 2.8 P 0 -#> test 0.1031 0.01468 7 P 0 -#> site_S1!R 2.77 0.313 8.8 P 0.1 -#> site_S1!colf!cor 0.196 0.05375 3.6 U 0.1 -#> site_S1!rowf!cor 0.6501 0.03873 17 U 0.1 -#> site_S2!R 0.9924 0.1078 9.2 P 0 -#> site_S2!colf!cor 0.2868 0.05246 5.5 U 0 -#> site_S2!rowf!cor 0.5743 0.04209 14 U 0 -#> site_S3!R 0.1204 0.01875 6.4 P 0 -#> site_S3!rowf!cor 0.6394 0.06324 10 U 0## effect component std.error z.ratio constr - ## at(site, S1):colf!colf.var 0.6228 0.4284 1.5 pos - ## at(site, S2):colf!colf.var 0.159 0.1139 1.4 pos - ## at(site, S3):colf!colf.var 0.04832 0.02618 1.8 pos - ## at(site, S3):rowf!rowf.var 0.0235 0.008483 2.8 pos - ## test!test.var 0.1031 0.01468 7 pos - ## site_S1!variance 2.771 0.314 8.8 pos - ## site_S1!colf.cor 0.1959 0.05375 3.6 uncon - ## site_S1!rowf.cor 0.6503 0.03873 17 uncon - ## site_S2!variance 0.9926 0.1079 9.2 pos - ## site_S2!colf.cor 0.2868 0.05246 5.5 uncon - ## site_S2!rowf.cor 0.5744 0.0421 14 uncon - ## site_S3!variance 0.1205 0.01875 6.4 pos - ## site_S3!rowf.cor 0.6394 0.06323 10 uncon - - # Add site:test - m2 <- update(m1, random=~. + site:test) -#> Multi-section model using the sigma parameterization. -#> ASReml 4.1.0 Fri Dec 11 17:51:10 2020 -#> LogLik Sigma2 DF wall cpu -#> 1 -733.725 1.0 1213 17:51:10 0.1 (7 restrained) -#> 2 -389.989 1.0 1213 17:51:10 0.1 -#> 3 -342.919 1.0 1213 17:51:10 0.1 -#> 4 -319.635 1.0 1213 17:51:11 0.1 -#> 5 -311.958 1.0 1213 17:51:11 0.1 -#> 6 -310.972 1.0 1213 17:51:11 0.1 -#> 7 -310.889 1.0 1213 17:51:11 0.1 -#> 8 -310.881 1.0 1213 17:51:11 0.1 -#> 9 -310.880 1.0 1213 17:51:11 0.1m2$loglik -#> [1] -310.8795## [1] -310.8794 - - # CORUH structure on the site component of site:test - m3 <- asreml(yield ~ site + check:site, data=dat, - random = ~ at(site):colf + at(site,3):rowf + corh(site):test, - residual = ~ dsum( ~ ar1(colf):ar1(rowf) + - id(colf):ar1(rowf) | site, - levels=list(1:2, 3) )) -#> Multi-section model using the sigma parameterization. -#> ASReml 4.1.0 Fri Dec 11 17:51:11 2020 -#> LogLik Sigma2 DF wall cpu -#> 1 -532.783 1.0 1213 17:51:11 0.1 (2 restrained) -#> 2 -411.201 1.0 1213 17:51:11 0.0 -#> 3 -335.554 1.0 1213 17:51:11 0.0 -#> 4 -303.565 1.0 1213 17:51:11 0.0 -#> 5 -292.148 1.0 1213 17:51:12 0.0 -#> 6 -289.310 1.0 1213 17:51:12 0.1 (1 restrained) -#> 7 -288.550 1.0 1213 17:51:12 0.1 (1 restrained) -#> 8 -288.487 1.0 1213 17:51:12 0.0 (1 restrained) -#> 9 -288.484 1.0 1213 17:51:12 0.0 (1 restrained) -#> 10 -288.484 1.0 1213 17:51:12 0.0 (1 restrained)#> Warning: Some components changed by more than 1% on the last iteration.m3$loglik -#> [1] -288.4837## [1] -288.4837 - - # Unstructured genetic variance matrix - m4 <- asreml(yield ~ site + check:site, data=dat, - random = ~ at(site):colf + at(site,3):rowf + us(site):test, - residual = ~ dsum( ~ ar1(colf):ar1(rowf) + - id(colf):ar1(rowf) | site, - levels=list(1:2, 3) )) -#> Multi-section model using the sigma parameterization. -#> ASReml 4.1.0 Fri Dec 11 17:51:12 2020 -#> LogLik Sigma2 DF wall cpu -#> 1 -531.256 1.0 1213 17:51:12 0.1 (2 restrained)#> Warning: US updates modified 1 times in iteration 2 to remain positive definite.#> 2 -411.627 1.0 1213 17:51:12 0.0 (6 restrained)#> Warning: US updates modified 1 times in iteration 3 to remain positive definite.#> 3 -333.071 1.0 1213 17:51:12 0.1 (6 restrained)#> Warning: US updates modified 1 times in iteration 4 to remain positive definite.#> 4 -302.555 1.0 1213 17:51:12 0.1 (6 restrained)#> Warning: US updates modified 1 times in iteration 5 to remain positive definite.#> 5 -291.384 1.0 1213 17:51:12 0.1 (6 restrained) -#> 6 -288.359 1.0 1213 17:51:12 0.1 (1 restrained) -#> 7 -286.890 1.0 1213 17:51:12 0.0 (1 restrained) -#> 8 -286.828 1.0 1213 17:51:12 0.1 (1 restrained) -#> 9 -286.825 1.0 1213 17:51:12 0.1 (1 restrained) -#> 10 -286.824 1.0 1213 17:51:12 0.1 (1 restrained)#> Warning: US variance structures were modified in 4 instances to make them positive definite#> Warning: Some components changed by more than 1% on the last iteration.m4$loglik -#> [1] -286.8242## [1] -286.8239 - - # Note that a 3x3 unstructured matrix can be written LL'+Psi with 1 factor L - # Explicitly fit the factor analytic model - m5 <- asreml(yield ~ site + check:site, data=dat, - random = ~ at(site):colf + at(site,3):rowf - + fa(site,1, init=c(.7,.1,.1,.5,.3,.2)):test, - residual = ~ dsum( ~ ar1(colf):ar1(rowf) + - id(colf):ar1(rowf) | site, - levels=list(1:2, 3) )) -#> Multi-section model using the sigma parameterization. -#> ASReml 4.1.0 Fri Dec 11 17:51:12 2020 -#> LogLik Sigma2 DF wall cpu -#> 1 -530.602 1.0 1213 17:51:13 0.1 (4 restrained) -#> 2 -380.673 1.0 1213 17:51:13 0.1 (2 restrained) -#> 3 -310.637 1.0 1213 17:51:13 0.1 (1 restrained) -#> 4 -294.195 1.0 1213 17:51:13 0.1 (1 restrained) -#> 5 -288.494 1.0 1213 17:51:13 0.1 (2 restrained) -#> 6 -287.011 1.0 1213 17:51:13 0.1 (1 restrained) -#> 7 -286.855 1.0 1213 17:51:13 0.1 (1 restrained) -#> 8 -286.849 1.0 1213 17:51:13 0.1 (1 restrained) -#> 9 -286.848 1.0 1213 17:51:13 0.1 (1 restrained)#> Warning: Some components changed by more than 1% on the last iteration.m5$loglik # Same as m4 -#> [1] -286.8484## [1] -286.8484 - - # Model 4, Unstructured (symmetric) genetic variance matrix - un <- diag(3) - un[upper.tri(un,TRUE)] <- m4$vparameters[5:10] - round(un+t(un)-diag(diag(un)),3) -#> [,1] [,2] [,3] -#> [1,] 0.992 0.158 0.132 -#> [2,] 0.158 0.072 0.078 -#> [3,] 0.132 0.078 0.122## [,1] [,2] [,3] - ## [1,] 0.992 0.158 0.132 - ## [2,] 0.158 0.073 0.078 - ## [3,] 0.132 0.078 0.122 - - # Model 5, FA matrix = LL'+Psi. Not quite the same as unstructured, - # since the FA model fixes site 2 variance at 0. - psi <- diag(m5$vparameters[5:7]) - lam <- matrix(m5$vparameters[8:10], ncol=1) - round(tcrossprod(lam,lam)+psi,3) -#> [,1] [,2] [,3] -#> [1,] 0.991 0.156 0.133 -#> [2,] 0.156 0.092 0.078 -#> [3,] 0.133 0.078 0.122## [,1] [,2] [,3] - ## [1,] 0.991 0.156 0.133 - ## [2,] 0.156 0.092 0.078 - ## [3,] 0.133 0.078 0.122 - - -# } -
wallace.iowaland.Rd
Iowa farmland values by county in 1925
-data("wallace.iowaland")- - -
A data frame with 99 observations on the following 10 variables.
county
county factor, 99 levels
fips
FIPS code (state+county)
lat
latitude
long
longitude
yield
average corn yield per acre (bu)
corn
percent of land in corn
grain
percent of land in small grains
untillable
percent of land untillable
fedval
land value (excluding buildings) per acre, 1925 federal census
stval
land value (excluding buildings) per acre, 1925 state census
None.
-H.A. Wallace (1926). Comparative Farm-Land Values in Iowa. - The Journal of Land & Public Utility Economics, 2, 385-392. - Page 387-388. - https://doi.org/10.2307/3138610
-Larry Winner. Spatial Data Analysis. - https://www.stat.ufl.edu/~winner/data/iowaland.txt
- --# \dontrun{ - -library(agridat) -data(wallace.iowaland) -dat <- wallace.iowaland - -# Interesting trends involving latitude -libs(lattice) -splom(~dat[,-c(1:2)], type=c('p','smooth'), lwd=2, main="wallace.iowaland") --# Means. Similar to Wallace table 1 -apply(dat[, c('yield','corn','grain','untillable','fedval')], 2, mean) -#> yield corn grain untillable fedval -#> 39.11111 32.47475 21.55556 18.84848 118.67677-# Correlations. Similar to Wallace table 2 -round(cor(dat[, c('yield','corn','grain','untillable','fedval')]),2) -#> yield corn grain untillable fedval -#> yield 1.00 0.30 0.27 -0.16 0.61 -#> corn 0.30 1.00 0.61 -0.82 0.81 -#> grain 0.27 0.61 1.00 -0.59 0.62 -#> untillable -0.16 -0.82 -0.59 1.00 -0.69 -#> fedval 0.61 0.81 0.62 -0.69 1.00-m1 <- lm(fedval ~ yield + corn + grain + untillable, dat) -summary(m1) # estimates similar to Wallace, top of p. 389 -#> -#> Call: -#> lm(formula = fedval ~ yield + corn + grain + untillable, data = dat) -#> -#> Residuals: -#> Min 1Q Median 3Q Max -#> -36.392 -7.797 -0.110 6.068 31.778 -#> -#> Coefficients: -#> Estimate Std. Error t value Pr(>|t|) -#> (Intercept) -64.7071 17.3420 -3.731 0.000326 *** -#> yield 3.1488 0.3717 8.472 3.24e-13 *** -#> corn 1.8175 0.3090 5.881 6.20e-08 *** -#> grain 0.5394 0.2566 2.102 0.038229 * -#> untillable -0.5527 0.2697 -2.049 0.043270 * -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 -#> -#> Residual standard error: 11.61 on 94 degrees of freedom -#> Multiple R-squared: 0.819, Adjusted R-squared: 0.8113 -#> F-statistic: 106.3 on 4 and 94 DF, p-value: < 2.2e-16 -#>-# Choropleth map -libs(maps) -data(county.fips) -dat <- transform(dat, polnm = paste0('iowa,',county)) # polnm example: iowa,adair - -libs("latticeExtra") # for mapplot -redblue <- colorRampPalette(c("firebrick", "lightgray", "#375997")) -mapplot(polnm~fedval , data=dat, colramp=redblue, - main="wallace.iowaland - Federal land values", - xlab="Land value, dollars per acre", - scales=list(draw=FALSE), - map=map('county', 'iowa', plot=FALSE, - fill=TRUE, projection="mercator")) -#> Warning: 6 unmatched regions: iowa,blackhawk, iowa,buenavista, iowa,cerrogordo, iowa,d....-# } -
walsh.cottonprice.Rd
Acres and price of cotton 1910-1943
-A data frame with 34 observations on the following 9 variables.
year
year, numeric 1910-1943
acres
acres of cototn (1000s)
cotton
price per pound (cents) in previous year
cottonseed
price per ton (dollars) in previous year
combined
cotton price/pound + 1.857 x cottonseed price/pound (cents)
index
price index, 1911-1914=100
adjcotton
adjusted cotton price per pound (cents) in previous year
adjcottonseed
adjusted cottonseed price per ton (dollars) in previous year
adjcombined
adjusted combined price/pound (cents)
The 'index' is a price index for all farm commodities.
-R.M. Walsh (1944). - Response to Price in Production of Cotton and Cottonseed, - Journal of Farm Economics, 26, 359-372. - https://doi.org/10.2307/1232237
- ---library(agridat) - -data(walsh.cottonprice) -dat <- walsh.cottonprice - -dat <- transform(dat, acres=acres/1000) # convert to million acres - -percentchg <- function(x){ # percent change from previous to current - ix <- 2:(nrow(dat)) - c(NA, (x[ix]-x[ix-1])/x[ix-1]) -} - -# Compare percent change in acres with percent change in previous price -# using constant dollars -dat <- transform(dat, chga = percentchg(acres), chgp = percentchg(adjcombined)) - -with(dat, cor(chga, chgp, use='pair')) # .501 correlation -#> [1] 0.5008616
wassom.brome.uniformity.Rd
Uniformity trials of bromegrass at Ames, Iowa, 1950-1951.
-data("wassom.brome.uniformity")- - -
A data frame with 1296 observations on the following 3 variables.
expt
experiment
row
row
col
column
yield
forage yield, pounds
Experiments were conducted at Ames, Iowa. The response variable is - forage yield in pounds of green weight.
-Optimum plot size was estimated to be about 3.5 x 7.5 feet.
-Wassom and Kalton used two different methods to estimate optimum plot - size. - 1. Relative efficiency of different plot sizes. - 2. Regression of the log variance of yield vs log plot size.
-There are three Experiments:
-Experiment E1 was broadcast seeded, harvested in 1950.
-Experiment E2 was row planted, harvested in 1950.
-Experiment E3 was broadcast seeded, harvested in 1951. This field contained - a mixture of alfalfa and brome in about equal proportions.
-Each plot was 3.5 ft x 4 ft, but the orientation of the plot is not - clear.
-Field width: 36 plots
-Field length: 36 plots
-Wassom and R.R. Kalton. (1953). - Estimations of Optimum Plot Size Using Data from Bromegrass Uniformity - Trials. Agricultural Experiment Station, Iowa State College, Bulletin 396. - https://lib.dr.iastate.edu/ag_researchbulletins/32/
- --# \dontrun{ - -library(agridat) - - data(wassom.brome.uniformity) - dat <- wassom.brome.uniformity - - libs(desplot) - desplot(dat, yield~col*row|expt, - flip=TRUE, aspect=1, # approximate aspect - main="wassom.brome.uniformity") --# } -
waynick.soil.Rd
Soil nitrogen and carbon in two fields
-A data frame with 200 observations on the following 6 variables.
field
field name, 2 levels
sample
sample number
x
x ordinate
y
y ordinate
nitro
nitrogen content, percent
carbon
carbon content, percent
Two fields were studied, one at University Farm in Davis, the other - near Oakley. The Davis field is silty clay loam, the Oakley field is - blow sand.
-Waynick, Dean, and Sharp, Leslie. (1918). - Variability in soils and its significance to past and future soil investigations, I-II. - University of California press. - https://archive.org/details/variabilityinsoi45wayn
- --# \dontrun{ - -library(agridat) -data(waynick.soil) -dat <- waynick.soil - -# Strong relationship between N,C -libs(lattice) -xyplot(nitro~carbon|field, data=dat, main="waynick.soil") --# Spatial plot -libs(sp, gstat) -d1 <- subset(dat, field=="Davis") -d2 <- subset(dat, field=="Oakley") -coordinates(d1) <- data.frame(x=d1$x, y=d1$y) -coordinates(d2) <- data.frame(x=d2$x, y=d2$y) -spplot(d1, zcol = "nitro", cuts=8, cex = 1.6, - main = "waynick.soil - Davis field - nitrogen", - col.regions = bpy.colors(8), key.space = "right") --# Variogram -v1 <- gstat::variogram(nitro~1, data=d1) -plot(v1, main="waynick.soil - Davis field - nitrogen") # Maybe hasn't reached sill --# } -
wedderburn.barley.Rd
Percent of leaf area affected by leaf blotch on 10 varieties of barley - at 9 sites.
-A data frame with 90 observations on the following 3 variables.
y
Percent of leaf area affected, 0-100.
site
Site factor, 9 levels
gen
Variety factor, 10 levels
Incidence of Rhynchosporium secalis (leaf blotch) on the leaves of - 10 varieties of barley grown at 9 sites in 1965.
-Wedderburn, R W M (1974). - Quasilikelihood functions, generalized linear models and the - Gauss-Newton method. - Biometrika, 61, 439--47. - https://doi.org/10.2307/2334725
-Wedderburn credits the original data to an unpublished thesis by - J. F. Jenkyn.
-McCullagh, P and Nelder, J A (1989). - Generalized Linear Models (2nd ed).
-R. B. Millar. - Maximum Likelihood Estimation and Inference: With Examples in R, - SAS and ADMB. Chapter 8.
- ---library(agridat) - -data(wedderburn.barley) -dat <- wedderburn.barley -dat$y <- dat$y/100 - -libs(lattice) -dotplot(gen~y|site, dat, main="wedderburn.barley") --# Use the variance function mu(1-mu). McCullagh page 330 -# Note, 'binomial' gives same results as 'quasibinomial', but also a warning -m1 <- glm(y ~ gen + site, data=dat, family="quasibinomial") -summary(m1) -#> -#> Call: -#> glm(formula = y ~ gen + site, family = "quasibinomial", data = dat) -#> -#> Deviance Residuals: -#> Min 1Q Median 3Q Max -#> -0.64435 -0.13537 -0.02028 0.09500 0.81003 -#> -#> Coefficients: -#> Estimate Std. Error t value Pr(>|t|) -#> (Intercept) -8.0546 1.4219 -5.665 2.84e-07 *** -#> genG02 0.1501 0.7237 0.207 0.836289 -#> genG03 0.6895 0.6724 1.025 0.308587 -#> genG04 1.0482 0.6494 1.614 0.110910 -#> genG05 1.6147 0.6257 2.581 0.011895 * -#> genG06 2.3712 0.6090 3.893 0.000219 *** -#> genG07 2.5705 0.6065 4.238 6.58e-05 *** -#> genG08 3.3420 0.6015 5.556 4.39e-07 *** -#> genG09 3.5000 0.6013 5.820 1.51e-07 *** -#> genG10 4.2530 0.6042 7.039 9.38e-10 *** -#> siteS2 1.6391 1.4433 1.136 0.259870 -#> siteS3 3.3265 1.3492 2.466 0.016066 * -#> siteS4 3.5822 1.3444 2.664 0.009510 ** -#> siteS5 3.5831 1.3444 2.665 0.009493 ** -#> siteS6 3.8933 1.3402 2.905 0.004875 ** -#> siteS7 4.7300 1.3348 3.544 0.000697 *** -#> siteS8 5.5227 1.3346 4.138 9.38e-05 *** -#> siteS9 6.7946 1.3407 5.068 3.00e-06 *** -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 -#> -#> (Dispersion parameter for quasibinomial family taken to be 0.08877777) -#> -#> Null deviance: 40.803 on 89 degrees of freedom -#> Residual deviance: 6.126 on 72 degrees of freedom -#> AIC: NA -#> -#> Number of Fisher Scoring iterations: 8 -#>-# Same shape (different scale) as McCullagh fig 9.1a -plot(m1, which=1, main="wedderburn.barley") --# Compare data and model -dat$pbin <- predict(m1, type="response") -dotplot(gen~pbin+y|site, dat, main="wedderburn.barley: observed/predicted") -- -# Wedderburn suggested variance function: mu^2 * (1-mu)^2 -# Millar shows how to do this explicitly. -wedder <- list(varfun=function(mu) (mu*(1-mu))^2, - validmu=function(mu) all(mu>0) && all(mu<1), - dev.resids=function(y,mu,wt) wt * ((y-mu)^2)/(mu*(1-mu))^2, - initialize=expression({ - n <- rep.int(1, nobs) - mustart <- pmax(0.001, pmin(0.99,y)) }), - name="(mu(1-mu))^2") -m2 <- glm(y ~ gen + site, data=dat, family=quasi(link="logit", variance=wedder)) -#plot(m2) - -# \dontrun{ -# Alternatively, the 'gnm' package has the 'wedderburn' family. -libs(gnm) -m3 <- glm(y ~ gen + site, data=dat, family="wedderburn") -summary(m3) -#> -#> Call: -#> glm(formula = y ~ gen + site, family = "wedderburn", data = dat) -#> -#> Deviance Residuals: -#> Min 1Q Median 3Q Max -#> -3.1805 -0.6293 0.0000 0.3888 1.9710 -#> -#> Coefficients: -#> Estimate Std. Error t value Pr(>|t|) -#> (Intercept) -7.92236 0.44464 -17.817 < 2e-16 *** -#> genG02 -0.46730 0.46869 -0.997 0.32209 -#> genG03 0.07886 0.46869 0.168 0.86686 -#> genG04 0.95409 0.46869 2.036 0.04547 * -#> genG05 1.35262 0.46869 2.886 0.00515 ** -#> genG06 1.32863 0.46869 2.835 0.00595 ** -#> genG07 2.34006 0.46869 4.993 4.01e-06 *** -#> genG08 3.26257 0.46869 6.961 1.30e-09 *** -#> genG09 3.13550 0.46869 6.690 4.10e-09 *** -#> genG10 3.88728 0.46869 8.294 4.33e-12 *** -#> siteS2 1.38311 0.44464 3.111 0.00268 ** -#> siteS3 3.86002 0.44464 8.681 8.20e-13 *** -#> siteS4 3.55700 0.44464 8.000 1.54e-11 *** -#> siteS5 4.10781 0.44464 9.238 7.53e-14 *** -#> siteS6 4.30529 0.44464 9.683 1.13e-14 *** -#> siteS7 4.91808 0.44464 11.061 < 2e-16 *** -#> siteS8 5.69483 0.44464 12.808 < 2e-16 *** -#> siteS9 7.06760 0.44464 15.895 < 2e-16 *** -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 -#> -#> (Dispersion parameter for wedderburn family taken to be 0.9885279) -#> -#> Null deviance: 370.526 on 89 degrees of freedom -#> Residual deviance: 66.269 on 72 degrees of freedom -#> AIC: NA -#> -#> Number of Fisher Scoring iterations: 13 -#>-# Compare data and model -dat$pwed <- predict(m3, type="response") -dotplot(gen~pwed+y|site, dat) -# } - -
weiss.incblock.Rd
Soybean balanced incomplete block experiment
-data("weiss.incblock")- - -
A data frame with 186 observations on the following 5 variables.
block
block factor
gen
genotype (variety) factor
yield
yield (bu/ac)
row
row
col
column
Grown at Ames, Iowa in 1937. Each plot was 6 feet by 16 feet (2 rows, - 3 feet apart). Including space between plots, the entire experiment - was 252 ft x 96 feet (7 block * 6 plots * 6 feet = 252, 16*5 plots - plus 4 gaps of 4 feet). Weiss shows a figure of the field (that was - later doubled in dize via using two rows per plot).
-Note that only 30 varieties were tested. Varieties 7 and 14 are the - same variety (Mukden). Although total yields of these varieties were - not equal, the correction for blocks adjusted their means to identical - values. Such accuracy is not, however, claimed to be a constant - characteristic of the design.
-Field width: 96 feet
-Field length: 252 feet
-Weiss, Martin G. and Cox, Gertrude M. (1939). - Balanced Incomplete Block and Lattice Square Designs for Testing Yield - Differences Among Large Numbers of Soybean Varieties. - Agricultural Research Bulletins, Nos. 251-259. - https://lib.dr.iastate.edu/ag_researchbulletins/24/
- --# \dontrun{ - - library(agridat) - data(weiss.incblock) - dat <- weiss.incblock - - # True aspect as shown in Weiss and Cox - libs(desplot) - desplot(dat, yield~col*row, - text=gen, shorten='none', cex=.6, out1=block, - aspect=252/96, # true aspect - main="weiss.incblock") -- - # asreml - # Standard inc block analysis used by Weiss and Cox - libs(asreml) # asreml 4 - m1 <- asreml(yield ~ gen + block , data=dat) -#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:08:51 2021 -#> LogLik Sigma2 DF wall cpu -#> 1 -192.991 3.58529 125 17:08:51 0.0#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:08:51 2021 -#> LogLik Sigma2 DF wall cpu -#> 1 -192.991 3.58529 125 17:08:52 0.0 -#> 2 -192.991 3.58529 125 17:08:52 0.0#> -#> Notes: -#> - The predictions are obtained by averaging across the hypertable -#> calculated from model terms constructed solely from factors in -#> the averaging and classify sets. -#> - Use 'average' to move ignored factors into the averaging set. -#> - The simple averaging set: block -#> -#> -#> gen predicted.value std.error status -#> 1 G01 24.58925 0.8311545 Estimable -#> 2 G02 26.92473 0.8311545 Estimable -#> 3 G03 32.61828 0.8311545 Estimable -#> 4 G04 26.96667 0.8311545 Estimable -#> 5 G05 26.01828 0.8311545 Estimable -#> 6 G06 31.98925 0.8311545 Estimable -#> 7 G07 24.18925 0.8311545 Estimable -#> 8 G08 27.60860 0.8311545 Estimable -#> 9 G09 29.27634 0.8311545 Estimable -#> 10 G10 24.44409 0.8311545 Estimable -#> 11 G11 27.27957 0.8311545 Estimable -#> 12 G12 29.24731 0.8311545 Estimable -#> 13 G13 29.74086 0.8311545 Estimable -#> 14 G14 24.17957 0.8311545 Estimable -#> 15 G15 26.29570 0.8311545 Estimable -#> 16 G16 25.77312 0.8311545 Estimable -#> 17 G17 19.88280 0.8311545 Estimable -#> 18 G18 25.80215 0.8311545 Estimable -#> 19 G19 29.00215 0.8311545 Estimable -#> 20 G20 33.17312 0.8311545 Estimable -#> 21 G21 31.14086 0.8311545 Estimable -#> 22 G22 25.26667 0.8311545 Estimable -#> 23 G23 29.81505 0.8311545 Estimable -#> 24 G24 33.70538 0.8311545 Estimable -#> 25 G25 26.99247 0.8311545 Estimable -#> 26 G26 27.25699 0.8311545 Estimable -#> 27 G27 23.78925 0.8311545 Estimable -#> 28 G28 26.53441 0.8311545 Estimable -#> 29 G29 24.76667 0.8311545 Estimable -#> 30 G30 35.99892 0.8311545 Estimable -#> 31 G31 26.99892 0.8311545 Estimable- ## gen pred.value std.error est.stat - ## G01 24.59 0.8312 Estimable - ## G02 26.92 0.8312 Estimable - ## G03 32.62 0.8312 Estimable - ## G04 26.97 0.8312 Estimable - ## G05 26.02 0.8312 Estimable - -# } -
weiss.lattice.Rd
Lattice experiment in soybeans.
-data("weiss.lattice")- - -
A data frame with 196 observations on the following 5 variables.
yield
yield (bu/ac)
gen
genotype factor, 49 levels
rep
rep factor, 4 levels
col
column
row
row
Yield test of 49 soybean varieties, grown at Ames, IA, in 1938. -Plot dimensions were 3x16 feeet. -The varieties are compared to variety 26 (Mukden).
-It is not clear how the reps were positioned in the field. On the one -hand, the middle three columns of each rep/square are higher yielding, -giving the appearance of the reps being stacked on top of each other. -On the other hand, the analysis by Weiss uses 24 degrees of freedom -4*(7-1) to fit a separate effect for each column in each -rep (instead of across reps).
-Weiss, Martin G. and Cox, Gertrude M. (1939). - Balanced Incomplete Block and Lattice Square Designs for Testing Yield - Differences Among Large Numbers of Soybean Varieties. Table 5. - Agricultural Research Bulletins, Nos. 251-259. - https://lib.dr.iastate.edu/ag_researchbulletins/24/
- --# \dontrun{ - - library(agridat) - data(weiss.lattice) - dat <- weiss.lattice - - libs(desplot) - desplot(dat, yield~col*row|rep, - text=gen, shorten="none", cex=.8, aspect=3/16, # true aspect - main="weiss.lattice (layout uncertain)", xlab="Soybean yields") -- - dat <- transform(dat, xf=factor(col), yf=factor(row)) - m1 <- lm(terms(yield ~ rep + rep:xf + rep:yf + gen, keep.order=TRUE), data=dat) - anova(m1) # Matches Weiss table 7 -#> Analysis of Variance Table -#> -#> Response: yield -#> Df Sum Sq Mean Sq F value Pr(>F) -#> rep 3 91.57 30.525 4.7414 0.0039709 ** -#> rep:xf 24 2913.43 121.393 18.8557 < 2.2e-16 *** -#> rep:yf 24 390.21 16.259 2.5254 0.0007734 *** -#> gen 48 1029.87 21.456 3.3327 2.652e-07 *** -#> Residuals 96 618.05 6.438 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1## Response: yield - ## Df Sum Sq Mean Sq F value Pr(>F) - ## rep 3 91.57 30.525 4.7414 0.0039709 ** - ## rep:xf 24 2913.43 121.393 18.8557 < 2.2e-16 *** - ## rep:yf 24 390.21 16.259 2.5254 0.0007734 *** - ## gen 48 1029.87 21.456 3.3327 2.652e-07 *** - ## Residuals 96 618.05 6.438 - - # ---------- - - libs(asreml) # asreml4 - m2 <- asreml(yield ~ rep + rep:xf + rep:yf + gen, data=dat) -#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:08:52 2021 -#> LogLik Sigma2 DF wall cpu -#> 1 -208.509 6.43798 96 17:08:52 0.0# Weiss table 6 means - wald(m2) -#> Wald tests for fixed effects. -#> Response: yield -#> Terms added sequentially; adjusted for those above. -#> -#> Df Sum of Sq Wald statistic Pr(Chisq) -#> (Intercept) 1 127424 19792.5 <2e-16 *** -#> rep 3 92 4.7 0.1917 -#> gen 48 1863 6.0 1.0000 -#> rep:xf 24 2200 14.2 0.9410 -#> rep:yf 24 270 1.7 1.0000 -#> residual (MS) 6 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1#> Model fitted using the gamma parameterization. -#> ASReml 4.1.0 Mon Jan 11 17:08:53 2021 -#> LogLik Sigma2 DF wall cpu -#> 1 -208.509 6.43798 96 17:08:53 0.0 -#> 2 -208.509 6.43798 96 17:08:53 0.0#> -#> Notes: -#> - The predictions are obtained by averaging across the hypertable -#> calculated from model terms constructed solely from factors in -#> the averaging and classify sets. -#> - Use 'average' to move ignored factors into the averaging set. -#> - The simple averaging set: rep,xf,yf -#> -#> -#> gen predicted.value std.error status -#> 1 G01 27.74167 1.461179 Estimable -#> 2 G02 24.94643 1.461179 Estimable -#> 3 G03 24.38452 1.461179 Estimable -#> 4 G04 28.04643 1.461179 Estimable -#> 5 G05 19.60357 1.461179 Estimable -#> 6 G06 23.79405 1.461179 Estimable -#> 7 G07 19.61310 1.461179 Estimable -#> 8 G08 29.41786 1.461179 Estimable -#> 9 G09 20.36548 1.461179 Estimable -#> 10 G10 24.86071 1.461179 Estimable -#> 11 G11 24.52738 1.461179 Estimable -#> 12 G12 26.74167 1.461179 Estimable -#> 13 G13 21.78929 1.461179 Estimable -#> 14 G14 27.52738 1.461179 Estimable -#> 15 G15 23.33690 1.461179 Estimable -#> 16 G16 27.65595 1.461179 Estimable -#> 17 G17 26.48929 1.461179 Estimable -#> 18 G18 26.36548 1.461179 Estimable -#> 19 G19 24.28452 1.461179 Estimable -#> 20 G20 32.14643 1.461179 Estimable -#> 21 G21 25.98452 1.461179 Estimable -#> 22 G22 23.79881 1.461179 Estimable -#> 23 G23 22.50357 1.461179 Estimable -#> 24 G24 27.06548 1.461179 Estimable -#> 25 G25 26.88452 1.461179 Estimable -#> 26 G26 25.83214 1.461179 Estimable -#> 27 G27 23.75119 1.461179 Estimable -#> 28 G28 24.66071 1.461179 Estimable -#> 29 G29 23.98452 1.461179 Estimable -#> 30 G30 23.57976 1.461179 Estimable -#> 31 G31 26.83214 1.461179 Estimable -#> 32 G32 20.94167 1.461179 Estimable -#> 33 G33 27.12738 1.461179 Estimable -#> 34 G34 26.63214 1.461179 Estimable -#> 35 G35 28.13214 1.461179 Estimable -#> 36 G36 30.24167 1.461179 Estimable -#> 37 G37 24.03690 1.461179 Estimable -#> 38 G38 25.68452 1.461179 Estimable -#> 39 G39 24.04167 1.461179 Estimable -#> 40 G40 25.61310 1.461179 Estimable -#> 41 G41 25.92738 1.461179 Estimable -#> 42 G42 25.75119 1.461179 Estimable -#> 43 G43 24.44167 1.461179 Estimable -#> 44 G44 28.20833 1.461179 Estimable -#> 45 G45 26.31310 1.461179 Estimable -#> 46 G46 31.75595 1.461179 Estimable -#> 47 G47 25.82738 1.461179 Estimable -#> 48 G48 23.82262 1.461179 Estimable -#> 49 G49 26.36071 1.461179 Estimable- ## gen pred.value std.error est.stat - ## G01 27.74 1.461 Estimable - ## G02 24.95 1.461 Estimable - ## G03 24.38 1.461 Estimable - ## G04 28.05 1.461 Estimable - ## G05 19.6 1.461 Estimable - ## G06 23.79 1.461 Estimable - -# } -
welch.bermudagrass.Rd
Factorial experiment of bermuda grass, N, P, K fertilizers
-A data frame with 64 observations on the following 4 variables.
n
nitrogen fertilizer, pounds/acre
p
phosphorus, lb/ac
k
potassium, lb/ac
yield
yield of grass, tons/ac
The experiment was conducted 1955, 1956, and 1957. There were 3 - blocks. The harvests were oven-dried. Each value is the mean for 3 - years and 3 replications. In most cases, the yield increased with - additions of the fertilizer nutrients.
-Welch, Louis Frederick and Adams, William Eugenius and Carmon, - JL. 1963. Yield response surfaces, isoquants, and economic fertilizer - optima for Coastal Bermudagrass. Agronomy Journal, 55, - 63-67. Table 1. - https://doi.org/10.2134/agronj1963.00021962005500010023x
-Jim Albert. Bayesian Computation with R. Page 256.
-Peter Congdon. Bayesian Statistical Modeling. Page 124-125.
-P. McCullagh, John A. Nelder. Generalized Linear Models, Second - Edition. Page 382.
- --# \dontrun{ - -library(agridat) -data(welch.bermudagrass) -dat <- welch.bermudagrass -# Welch uses 100-pound units of n,p,k. -dat <- transform(dat, n=n/100, p=p/100, k=k/100) - -libs(latticeExtra) -useOuterStrips(xyplot(yield~n|factor(p)*factor(k), data=dat, type='b', - main="welch.bermudagrass: yield for each P*K", - xlab="Nitro for each Phosphorous level", - ylab="Yield for each Potassim level")) -- -# Fit a quadratic model -m1 <- lm(yield ~ n + p + k + I(n^2) + I(p^2) + I(k^2) + n:p + n:k + p:k + n:p:k, data=dat) -signif(coef(m1),4) # These match the 3-yr coefficients of Welch, Table 2 -#> (Intercept) n p k I(n^2) I(p^2) -#> 1.94300 2.00700 1.47100 0.61880 -0.33150 -1.29500 -#> I(k^2) n:p n:k p:k n:p:k -#> -0.37430 0.20780 0.18740 0.23480 0.02789## (Intercept) n p k I(n^2) I(p^2) -## 1.94300 2.00700 1.47100 0.61880 -0.33150 -1.29500 -## I(k^2) n:p n:k p:k n:p:k -## -0.37430 0.20780 0.18740 0.23480 0.02789 - -# Welch Fig 4. Modeled response curves -d1 <- expand.grid(n=seq(0, 4, length=50), p=0, k=0) -d1$pred <- predict(m1, d1) -d2 <- expand.grid(n=0, p=0, k=seq(0, 1.68, length=50)) -d2$pred <- predict(m1, d2) -d3 <- expand.grid(n=0, p=seq(0, .88, length=50), k=0) -d3$pred <- predict(m1, d3) - -op <- par(mfrow=c(1,3), mar=c(5,3,4,1)) -plot(pred~n, data=d1, type='l', ylim=c(0,6), xlab="N 100 lb/ac", ylab="") -plot(pred~k, data=d2, type='l', ylim=c(0,6), xlab="K 100 lb/ac", ylab="") -title("welch.bermudagrass - Predicted yield vs fertilizer", outer=TRUE, line= -3) -plot(pred~p, data=d3, type='l', ylim=c(0,6), xlab="P 100 lb/ac", -ylab="") -par(op) - -# Brute-force grid-search optimization of fertilizer quantities, using -# $25/ton for grass, $.12/lb for N, $.18/lb for P, $.07/lb for K -# Similar to Example 5 in Table 4 of Welch -d4 <- expand.grid(n=seq(3,4,length=20), p=seq(.5, 1.5, length=20), - k=seq(.8, 1.8, length=20)) -d4$pred <- predict(m1, newdata=d4) -d4 <- transform(d4, income = 25*pred - .12*n*100 + -.18*p*100 -.07*k*100) -d4[which.max(d4$income),] # Optimum at 300 lb N, 71 lb P, 148 lb K -#> n p k pred income -#> 5281 3 0.7105263 1.484211 7.079801 117.8161- -# ----- JAGS ----- -if(0){ - # Congdon (2007) p. 124, provides a Bayesian model based on a GLM - # by McCullagh & Nelder. We use JAGS and simplify the code. - # y ~ gamma with shape = nu, scale = nu * eps_i - # 1/eps = b0 + b1/(N+a1) + b2/(P+a2) + b3/(K+a3) - # N,P,K are added fertilizer amounts, a1,a2,a3 are background - # nutrient levels and b1,b2,b3 are growth parameters. - - libs(rjags) - - mod.bug = - "model { - for(i in 1:nobs) { - yield[i] ~ dgamma(nu, mu[i]) - mu[i] <- nu * eta[i] - eta[i] <- b0 + b1 / (N[i]+a1) + b2 / (P[i]+a2) + b3 / (K[i]+a3) - yhat[i] <- 1 / eta[i] - } - - # Hyperparameters - nu ~ dgamma(0.01, 0.01) - a1 ~ dnorm(40, 0.01) # Informative priors - a2 ~ dnorm(22, 0.01) - a3 ~ dnorm(32, 0.01) - b0 ~ dnorm(0, 0.0001) - b1 ~ dnorm(0, 0.0001) I(0,) # Keep b1 non-negative - b2 ~ dnorm(0, 0.0001) I(0,) - b3 ~ dnorm(0, 0.0001) I(0,) -}" - - jdat <- with(welch.bermudagrass, - list(yield=yield, N=n, P=p, K=k, nobs=64)) - jinit = list(a1=40, a2=22, a3=32, b0=.1, b1=10, b2=1, b3=1) - - oo <- textConnection(mod.bug) - j1 <- jags.model(oo, data=jdat, inits=jinit, n.chains=3) - close(oo) - - c1 <- coda.samples(j1, c("b0","b1","b2","b3", "a1","a2","a3"), - n.iter=10000) - - # Results nearly identical go Congdon - print(summary(c1)$statistics[,1:2],dig=1) - # libs(lucid) - # print(vc(c1),3) - ## Mean SD - ## a1 44.85 4.123 - ## a2 23.63 7.37 - ## a3 35.42 8.57 - ## b0 0.092 0.0076 - ## b1 13.23 1.34 - ## b2 1.186 0.47 - ## b3 1.50 0.48 - - d2 <- coda.samples(j1, "yhat", n.iter=10000) - dat$yhat <- summary(d2)$statistics[,1] - with(dat, plot(yield, yield-yhat)) -} - -# } -
wheatley.carrot.Rd
Insecticide treatments for carrot fly larvae. - Two insecticides with five depths.
-data("wheatley.carrot")- - -
A data frame with 36 observations on the following 6 variables.
treatment
treatment factor, 11 levels
insecticide
insecticide factor
depth
depth
rep
block
damaged
number of damaged plants
total
total number of plants
In 1964 an experiment was conducted with microplots to evaluate the - effectiveness of treatments against carrot fly larvae. - The treatment factor is a combination of insecticide and depth.
-Hardin & Hilbe used this data to fit a generalized binomial model.
-Famoye (1995) used the same data to fit a generalized binomial regression model. - Results for Famoye are not shown.
-G A Wheatley & H Freeman. (1982). - A method of using the proportions of undamaged carrots or parsnips to - estimate the relative population densities of carrot fly (Psila rosae) - larvae, and its practical applications. - Annals of Applied Biology, 100, 229-244. Table 2.
-https://doi.org/10.1111/j.1744-7348.1982.tb01935.x
-James William Hardin, Joseph M. Hilbe. - Generalized Linear Models and Extensions, 2nd ed.
-F Famoye (1995). Generalized Binomial Regression. - Biom J, 37, 581-594.
- ---library(agridat) - -data(wheatley.carrot) -dat <- wheatley.carrot - -# Observed proportions of damage -dat <- transform(dat, prop=damaged/total) -libs(lattice) -xyplot(prop~depth|insecticide, data=dat, subset=treatment!="T11", - cex=1.5, main="wheatley.carrot", ylab="proportion damaged") --# Model for Wheatley. Deviance for treatment matches Wheatley, but other -# deviances do not. Why? -# treatment:rep is the residual -m1 <- glm(cbind(damaged,total-damaged) ~ rep + treatment + treatment:rep, - data=dat, family=binomial("cloglog")) -anova(m1) -#> Analysis of Deviance Table -#> -#> Model: binomial, link: cloglog -#> -#> Response: cbind(damaged, total - damaged) -#> -#> Terms added sequentially (first to last) -#> -#> -#> Df Deviance Resid. Df Resid. Dev -#> NULL 35 1824.41 -#> rep 2 64.69 33 1759.73 -#> treatment 10 1636.16 23 123.56 -#> rep:treatment 20 108.69 3 14.88-# GLM of Hardin & Hilbe p. 161. By default, R uses T01 as the base, -# but Hardin uses T11. Results match. -m2 <- glm(cbind(damaged,total-damaged) ~ rep + C(treatment, base=11), - data=dat, family=binomial("cloglog")) -summary(m2) -#> -#> Call: -#> glm(formula = cbind(damaged, total - damaged) ~ rep + C(treatment, -#> base = 11), family = binomial("cloglog"), data = dat) -#> -#> Deviance Residuals: -#> Min 1Q Median 3Q Max -#> -3.4888 -1.4974 -0.2190 0.8434 3.8726 -#> -#> Coefficients: -#> Estimate Std. Error z value Pr(>|z|) -#> (Intercept) 0.52335 0.04668 11.212 < 2e-16 *** -#> repR2 0.33307 0.04528 7.356 1.9e-13 *** -#> repR3 0.37659 0.04527 8.319 < 2e-16 *** -#> C(treatment, base = 11)1 -0.56727 0.06696 -8.471 < 2e-16 *** -#> C(treatment, base = 11)2 -1.20193 0.07448 -16.138 < 2e-16 *** -#> C(treatment, base = 11)3 -2.46298 0.11231 -21.931 < 2e-16 *** -#> C(treatment, base = 11)4 -2.84076 0.13190 -21.538 < 2e-16 *** -#> C(treatment, base = 11)5 -1.11758 0.07293 -15.323 < 2e-16 *** -#> C(treatment, base = 11)6 -0.77311 0.06910 -11.188 < 2e-16 *** -#> C(treatment, base = 11)7 -0.89890 0.07009 -12.825 < 2e-16 *** -#> C(treatment, base = 11)8 -1.28975 0.07503 -17.189 < 2e-16 *** -#> C(treatment, base = 11)9 -1.83174 0.08787 -20.846 < 2e-16 *** -#> C(treatment, base = 11)10 -0.61234 0.06772 -9.043 < 2e-16 *** -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 -#> -#> (Dispersion parameter for binomial family taken to be 1) -#> -#> Null deviance: 1824.41 on 35 degrees of freedom -#> Residual deviance: 123.56 on 23 degrees of freedom -#> AIC: 339.51 -#> -#> Number of Fisher Scoring iterations: 5 -#>-
wiebe.wheat.uniformity.Rd
Uniformity trial of wheat at Aberdeen, Idaho, 1927.
-A data frame with 1500 observations on the following 3 variables.
row
row
col
column (series)
yield
yield in grams per plot
Yield trial conducted in 1927 near Aberdeen, Idaho. The crop was - Federation wheat (C.I. no 4734). Plots were seeded on April 18 with a - drill that sowed eight rows at a time. Individual rows were harvested - in August and threshed with a small nursery thresher. Some authors - recommend analyzing the square root of the yields.
-Rows were 15 feet long, 1 foot apart.
-Field width: 12 columns * 15 feet = 180 feet wide.
-Field length: 125 rows * 12 in = 125 feet
-Wiebe, G.A. 1935. - Variation and Correlation in Grain Yield among 1,500 Wheat - Nursery Plots. - Journal of Agricultural Research, 50, 331-357. - https://naldc.nal.usda.gov/download/IND43968632/PDF
-D.A. Preece, 1981, - Distributions of final digits in data, - The Statistician, 30, 31--60. - https://doi.org/10.2307/2987702
-Wilkinson et al. (1983). - Nearest Neighbour (NN) Analysis of Field Experiments. - J. R. Statist. Soc. B, 45, 151-211. - https://doi.org/10.1111/j.2517-6161.1983.tb01240.x - https://www.jstor.org/stable/2345523
-Wiebe, G.A. 1937. - The Error in grain yield attending misspaced wheat nursery rows and - the extent of the misspacing effect. - Journal of the American Society of Agronomy, 29, 713-716.
-F. Yates (1939). - The comparative advantages of systematic and randomized arrangements - in the design of agricultural and biological experiments. - Biometrika, 30, 440-466, p. 465 - https://archive.org/details/in.ernet.dli.2015.231848/page/n473
- --# \dontrun{ - - library(agridat) - data(wiebe.wheat.uniformity) - dat <- wiebe.wheat.uniformity - - libs(desplot) - desplot(dat, yield~col+row, - aspect=125/180, flip=TRUE, # true aspect - main="wiebe.wheat.uniformity: yield") # row 1 is at south -- - # Preece (1981) found the last digits have an interesting distribution - # with 0 and 5 much more common than other digits. - dig <- substring(dat$yield, nchar(dat$yield)) - dig <- as.numeric(dig) - hist(dig, breaks=0:10-.5, xlab="Last digit", - main="wiebe.wheat.uniformity - histogram of last digit") -#> dig -#> 0 1 2 3 4 5 6 7 8 9 -#> 1 61 0 0 0 0 64 0 0 0 0 -#> 2 67 0 0 0 0 58 0 0 0 0 -#> 3 65 0 0 0 0 60 0 0 0 0 -#> 4 66 0 0 0 0 59 0 0 0 0 -#> 5 55 0 0 0 0 70 0 0 0 0 -#> 6 54 0 0 0 0 71 0 0 0 0 -#> 7 69 0 0 0 0 56 0 0 0 0 -#> 8 65 0 0 0 0 60 0 0 0 0 -#> 9 9 10 7 9 19 19 13 16 13 10 -#> 10 13 18 12 10 11 17 14 9 8 13 -#> 11 13 9 16 13 16 18 8 6 16 10 -#> 12 17 0 11 16 12 17 1 16 20 15- # Wilkinson (1983, p. 152) noted that an 8-row planter was used which - # produced a recurring pattern of row effects on yield. This can be seen - # in the high autocorrelations of row means at lag 8 and lag 16 - rowm <- tapply(dat$yield, dat$row, mean) - acf(rowm, main="wiebe.wheat.uniformity row means") -# Plot the row mean against the planter row unit 1-8 - libs("lattice") - xyplot(rowm~rep(1:8, length=125), - main="wiebe.wheat.uniformity", - xlab="Planter row unit", ylab="Row mean yield") -- # Wiebe (1937) and Yates (1939) show the effect of "guess rows" - # caused by the 8-row drill passing back and forth through - # the field. - # Yates gives the distance between strips (8 rows per strip) as: - # 10.2,12.4,11.7,13.4,10.6,14.2,11.8,13.8,12.2,13.1,11.2,14,11.3,12.9,12.4 - - # First give each row 12 inches of growing width between rows - tmp <- data.frame(row=1:125,area=12) - # Distance between rows 8,9 is 10.2 inches, so we give these two - # rows 6 inches (on the 'inside' of the strip) and 10.2/2=5.1 inches - # on the outside of the strip, total 11.1 inches - tmp$area[8:9] <- 6 + 10.2/2 - tmp$area[16:17] <- 6 + 12.4/2 - tmp$area[24:25] <- 6 + 11.7/2 - tmp$area[32:33] <- 6 + 13.4/2 - tmp$area[40:41] <- 6 + 10.6/2 - tmp$area[48:49] <- 6 + 14.2/2 - tmp$area[56:57] <- 6 + 11.8/2 - tmp$area[64:65] <- 6 + 13.8/2 - tmp$area[72:73] <- 6 + 12.2/2 - tmp$area[80:81] <- 6 + 13.1/2 - tmp$area[88:89] <- 6 + 11.2/2 - tmp$area[96:97] <- 6 + 14.0/2 - tmp$area[104:105] <- 6 + 11.3/2 - tmp$area[112:113] <- 6 + 12.9/2 - tmp$area[120:121] <- 6 + 12.4/2 - dat <- merge(dat, tmp) - - # It's not clear if Wiebe used border rows...we delete them - dat <- subset(dat, row > 1 & row < 125) - - # Wiebe (1937) calculated a moving average to adjust for fertility - # effects, then used only the OUTER rows of each 8-row drill strip - # and found 21.5 g / inch of space between rows. We used all the - # data without correcting for fertility and obtained 33.1 g / inch. - xyplot(yield ~ area, dat, type=c('p','r'), - xlab="Average area per row", ylab="Yield") -#> area -#> 33.1033# 33.1 - -# } -
wiedemann.safflower.uniformity.Rd
Uniformity trial of safflower at Farmington, Utah, 1960.
-data("wiedemann.safflower.uniformity")- - -
A data frame with 1782 observations on the following 3 variables.
row
row
col
column
yield
yield, grams
This trial was planted at University Field Station, Farmington, Utah, - in 1960, on a plot of land about one half acre in size. The soil was - not too uniform...the northern third of the field was clay and the - rest was gravelly. Rows were planted 22 inches apart, 62 rows total, - each row running the length of the field. Before harvest, 4 rows were - removed from each side, and 12 feet was removed from each end. Each - row was harvested in five-foot lengths, threshed, and the seed weighed - to the nearest gram.
-The northern third of the field had yields twice as high as the - remaining part of the field because the soil had better moisture - retention. The remaining part of the field had yields that were more - uniform.
-Wiedemann determined the optimum plot size to be about 8 basic - plots. The shape of the plot was not very important. But, two-row - plots were recommended for simplicity of harvest, so 3.33 feet by 20 - feet.
-Based on operational costs, K1=74 percent and K2=26 percent.
-Field width: 33 plots/ranges * 5ft = 165 feet
-Field length: 54 rows * 22 in/row = 99 feet
-For this R package, the tables in Wiedemann were converted by OCR to - digital format, and all values were checked by hand.
-The original source document has columns labeled 33, 32, ... 1. Here - the columns are labeled 1:33 so that plotting tools work normally. - See Wiedemann figure 8.
-Wiedemann notes the statistical analysis of the data required 100 - hours of labor. Today the analysis takes only a second.
-Wiedemann, Alfred Max. 1962. - Estimation of Optimum Plot Size and Shape for Use in Safflower Yield Trails. Table 5. - All Graduate Theses and Dissertations. Paper 3600. Table 5. - https://digitalcommons.usu.edu/etd/3600
-None.
- --# \dontrun{ - -library(agridat) - - data(wiedemann.safflower.uniformity) - dat <- wiedemann.safflower.uniformity - - # CV of entire field = 39 - sd(dat$yield)/mean(dat$yield) -#> [1] 0.3916795- libs(desplot) - desplot(dat, yield~col*row, - flip=TRUE, tick=TRUE, aspect =99/165, # true aspect - main="wiedemann.safflower.uniformity (true shape)") -- libs(agricolae) - libs(reshape2) - dmat <- acast(dat, row~col, value.var='yield') - agricolae::index.smith(dmat, - main="wiedemann.safflower.uniformity", - col="red") --# } -
williams.barley.uniformity.Rd
Uniformity trial of barley at Narrabri, New South Wales, 1984.
-A data frame with 720 observations on the following 3 variables.
row
row
col
column
yield
grain yield kg/ha divided by 10
Grown at Roseworthy Agricultural College. Plots were 5 m long (4 m - sown, 3.3 m harvested) by 0.75 m wide.
-A three-plot seeder was used, planting in a serpentine fashion. - Williams noted that it appears that the middle plot of each pass - has a lower yield, possibly due to soil compaction from the tractor.
-Field width: 48 plots * .75 m = 36 m
-Field length: 15 plots * 5 m = 75 m
-Williams, ER and Luckett, DJ. 1988. - The use of uniformity data in the design and analysis of cotton and barley variety trials. - Australian Journal of Agricultural Research, 39, 339-350. - https://doi.org/10.1071/AR9880339
-Maria Xose Rodriguez-Alvarez, Martin P. Boer, Fred A. van Eeuwijk, Paul - H. C. Eilersd (2018). - Correcting for spatial heterogeneity in plant breeding experiments - with P-splines. - Spatial Statistics, 23, 52-71. - https://doi.org/10.1016/j.spasta.2017.10.003
- --# \dontrun{ - -library(agridat) -data(williams.barley.uniformity) -dat <- williams.barley.uniformity - -libs(desplot) -desplot(dat, yield ~ col*row, - aspect= 75/36, # true aspect - main="williams.barley.uniformity") -- -# Smoothed contour/persp plot like Williams Fig 1b, 2b -libs(lattice) -dat$fit <- fitted(loess(yield~col*row, dat, span=.1)) -contourplot(fit~col*row, data=dat, - aspect=75/36, region=TRUE, col.regions=RedGrayBlue, - main="williams.barley.uniformity") -#> Analysis of Variance Table -#> -#> Response: yield -#> Df Sum Sq Mean Sq F value Pr(>F) -#> factor(row) 14 142828 10202.0 26.941 < 2.2e-16 *** -#> factor(col) 47 209087 4448.6 11.748 < 2.2e-16 *** -#> Residuals 658 249174 378.7 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1-# } -
williams.cotton.uniformity.Rd
Uniformity trial of cotton at Narrabri, New South Wales, 1984.
-A data frame with 288 observations on the following 3 variables.
row
row
col
column
yield
lint yield, kg/ha divided by 10
Cotton uniformity trial grown at Narrabri, New South Wales, 1984-1985. - Plots were 12m long, 1m apart, 12 rows by 24 columns, with an - irrigation furrow between columns.
-Field width: 24 plots * 1 m = 24 m
-Field length: 12 plots * 12 m = 144 m
-Williams, ER and Luckett, DJ. 1988. - The use of uniformity data in the design and analysis of cotton and barley variety trials. - Australian Journal of Agricultural Research, 39, 339-350. - https://doi.org/10.1071/AR9880339
- --# \dontrun{ - -library(agridat) -data(williams.cotton.uniformity) -dat <- williams.cotton.uniformity - -libs(desplot) -desplot(dat, yield ~ col*row, - aspect=144/24, # true aspect - main="williams.cotton.uniformity") -- -# Smoothed contour/persp plot like Williams 1988 Fig 1a, 2a -dat$fit <- fitted(loess(yield~col*row, dat, span=.5)) -libs("lattice") -contourplot(fit~col*row, data=dat, - aspect=144/24, - region=TRUE, cuts=6, col.regions=RedGrayBlue, - main="williams.cotton.uniformity") -# wireframe(fit~col*row, data=dat, zlim=c(100, 250), -# main="williams.cotton.uniformity") - -# Williams table 1 -anova(aov(yield ~ factor(row) + factor(col), dat)) -#> Analysis of Variance Table -#> -#> Response: yield -#> Df Sum Sq Mean Sq F value Pr(>F) -#> factor(row) 11 30707 2791.58 14.450 < 2.2e-16 *** -#> factor(col) 23 44762 1946.16 10.074 < 2.2e-16 *** -#> Residuals 253 48875 193.18 -#> --- -#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1# } -
williams.trees.Rd
Multi-environment trial of trees, height / survival of 37 species at 6 sites in Thailand
-A data frame with 222 observations on the following 4 variables.
env
Environment factor, 6 levels
gen
Genetic factor, 37 levels
height
Height (cm)
survival
Survival percentage
Planted in 1985 at six sites in Thailand. RCB with 3 reps. The data
- here is the mean of the three reps. Plots were 5 meters square with
- spacing 2m x 2m. Measurements collected at 24 months. The gen
- column in the data is actually seedlot, as some tree species
- have multiple seed lots. The trees are mostly acacia and eucalyptus.
Used with permission of Emlyn Williams.
-Williams, ER and Luangviriyasaeng, V. 1989. - Statistical analysis of tree species trial and seedlot:site - interaction in Thailand. Chapter 14 of Trees for the - Tropics: Growing Australian Multipurpose Trees and Shrubs in - Developing Countries. Pages 145--152. - https://aciar.gov.au/publication/MN010
-E. R. Williams and A. C. Matheson and C. E Harwood, - Experimental Design and Analysis for Tree Improvement. - CSIRO Publishing, 2002.
- --
woodman.pig.Rd
Weight gain in pigs for different treatments, with initial weight and - feed eaten as covariates.
-data("woodman.pig")
A data frame with 30 observations on the following 7 variables.
pen
pen
treatment
diet
pig
pig number
sex
sex
weight1
initial weight in pounds, week 0
weight2
final weight in pounds, week 16
feed
feed eaten in pounds
w0
initial weight
g
average weekly gain
h
half rate of change in growth
Six pigs in each of 5 pens were fed individually. From each litter - there were 3 males and 3 females chosen for a pen. Three different - diet treatments were used.
-Note: Woodman gives the initial weights to the nearest 0.5 - pounds.
-The w0, g, h columns are from Wishart 1938. Wishart used the weekly - weight measurements (not available) to fit quadratic growth curves for - each pig and then reported the constants. These are the data that are - widely used by many authors.
-Woodman, Evans, Callow & Wishart (1936). - The nutrition of the bacon pig. I. The influence of high levels of protein intake on growth, conformation and quality in the bacon pig. - The Journal of Agricultural Science, 26, 546 - 619. - Table V, Page 557. - https://doi.org/10.1017/S002185960002308X
-Wishart, J. (1938). - Growth-rate determinations in nutrition studies with the bacon pig and their analysis. - Biometrika, 30: 16-28. Page 20, table 2. - https://doi.org/10.2307/2332221
-Wishart (1950) Table 2, p 17.
-Bernard Ostle (1963). Statistics in Research, 2nd ed. Page 455. - https://archive.org/details/secondeditionsta001000mbp
-Henry Scheffe (1999). - The Analysis of Variance. Page 217.
-Peter H Westfall, Randall Tobias, Russell D Wolfinger (2011). - Multiple Comparisons and Multiple Tests using SAS. Sec 8.3.
-# \dontrun{
- library(agridat)
- data(woodman.pig)
- dat <- woodman.pig
-
- # add day of year for each weighing
- dat <- transform(dat, date1=36, date2=148)
- plot(NA, xlim=c(31,153), ylim=c(28,214),
- xlab="day of year", ylab="weight")
- segments(dat$date1, dat$weight1, dat$date2, dat$weight2,
- col=as.numeric(as.factor(dat$treatment)))
- title("woodman.pig")
-
-
- # Average gain per week
- dat <- transform(dat, pen=factor(pen), treatment=factor(treatment),
- sex=factor(sex))
- m1 <- lm(g ~ -1 + pen + treatment +sex + treatment:sex + w0, data=dat)
- anova(m1)
-#> Analysis of Variance Table
-#>
-#> Response: g
-#> Df Sum Sq Mean Sq F value Pr(>F)
-#> pen 5 2603.57 520.71 1938.4699 < 2.2e-16 ***
-#> treatment 2 2.32 1.16 4.3262 0.028294 *
-#> sex 1 0.27 0.27 1.0079 0.328016
-#> w0 1 3.62 3.62 13.4800 0.001622 **
-#> treatment:sex 2 0.33 0.16 0.6074 0.555012
-#> Residuals 19 5.10 0.27
-#> ---
-#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
- # Compare diets. Results similar to Westfall 8.13
- libs(emmeans)
- pairs(emmeans(m1, "treatment"))
-#> NOTE: Results may be misleading due to involvement in interactions
-#> contrast estimate SE df t.ratio p.value
-#> A - B 0.446 0.233 19 1.916 0.1614
-#> A - C 0.681 0.232 19 2.938 0.0220
-#> B - C 0.235 0.233 19 1.009 0.5806
-#>
-#> Results are averaged over the levels of: pen, sex
-#> P value adjustment: tukey method for comparing a family of 3 estimates
- # NOTE: Results may be misleading due to involvement in interactions
- # contrast estimate SE df t.ratio p.value
- # A - B 0.4283 0.288 19 1.490 0.3179
- # A - C 0.5200 0.284 19 1.834 0.1857
- # B - C 0.0918 0.288 19 0.319 0.9456
-# }
-
wyatt.multi.uniformity.Rd
Uniformity trial of oats and wheat on the same ground.
-data("wyatt.multi.uniformity")- - -
A data frame with 258 observations on the following 5 variables.
col
column
row
row
yield
yield, bu/ac
year
year
crop
crop
Experiments conducted at the Soils Experimental field at the University of Alberta, Canada. - Oats were grown in 1925, The average yield was 88 bushels. - Wheat was grown in 1926, with an average yield of 32.2 bu/acre. - The data reported are relative yields within each year.
-The plot size in rows 1 and 2 (Series A and B in the original paper) is 1/10th acre. - The plot size in row 3 is 1/11 acre.
-Field length: 3 plots (140 ft, 140 ft, 128 ft) + 2 roads * 16 feet = 440 feet.
-Field width: 43 plots * 37 ft = 1591 feet.
-F. A. Wyatt (1927). - Variation in plot yields due to soil heterogeneity. - Scientific Agriculture, 7, 248-256. Table 1. - https://doi.org/10.4141/sa-1927-0020
-None
- ---library(agridat) -data(wyatt.multi.uniformity) -dat <- wyatt.multi.uniformity - -# range of yields. Wyatt has 48.6 bu/ac for oats, 10.4 for wheat -# diff(range(na.omit(subset(dat, crop=="oats")$yield)/100*88)) # 48.4 -# diff(range(na.omit(subset(dat, crop=="wheat")$yield)/100*32.8)) # 10.5 - -# std dev. Wyatt has 9.18 bu/ac for oats, 2.06 for wheat, 2.06 for wheat -# sd(na.omit(subset(dat, crop=="oats")$yield)/100*88) # 9.11 -# sd(na.omit(subset(dat, crop=="wheat")$yield)/100*32.8) # 2.14 - -# correlation across years. Wyatt has .08 -# cor(reshape2::acast(dat, row+col ~ crop, value.var="yield"), use="pair") - -# Fig 3 -libs(lattice) -xyplot(yield ~ col|factor(row), dat, group=crop, - main="wyatt.multi.uniformity", - type='l', layout=c(1,3), auto.key=TRUE ) --# \dontrun{ -libs(desplot) -desplot(dat, yield ~ col*row, subset=crop=="oats", - tick=TRUE, - aspect=(440)/(1591), # true aspect - main="wyatt.multi.uniformity - 1925 oats") -desplot(dat, yield ~ col*row, subset=crop=="wheat", - aspect=(440)/(1591), # true aspect - main="wyatt.multi.uniformity - 1926 wheat") -# } - -
yan.winterwheat.Rd
Yield of 18 varieties of winter wheat grown at 9 environments in - Ontario in 1993.
-The yield is the mean of several reps, measured in metric tons per hectare.
-This data has often been used to illustrate GGE biplots.
-A data frame with 162 observations on the following 3 variables.
gen
genotype
env
environment
yield
yield in metric tons per hectare
Used with permission of Weikai Yan.
-Weikai Yan and M.S. Kang (2002). - GGE biplot analysis: A graphical tool for breeders, geneticists, and - agronomists. - CRC. Page 59.
-Weikai Yan and Nicholas A. Tinker. 2006. - Biplot analysis of multi-environment trial data: Principles and - applications. Table 1.
-Weikai Yan and Manjit S. Kang and Baoluo Ma and Sheila Woods, 2007, - GGE Biplot vs. AMMI Analysis of Genotype-by-Environment Data, - Crop Science, 2007, 47, 641--653. - https://doi.org/10.2135/cropsci2006.06.0374
- --# \dontrun{ - -library(agridat) - -data(yan.winterwheat) -dat <- yan.winterwheat - -libs(gge) -m1 <- gge(dat, yield ~ gen*env) -biplot(m1, flip=c(1,1), hull=TRUE, - main="yan.winterwheat - GGE biplot") --# } -
yang.barley.Rd
Yield of 6 barley varieties at 18 locations in Alberta.
-data("yang.barley")- - -
A data frame with 108 observations on the following 3 variables.
site
site factor, 18 levels
gen
genotype factor, 6 levels
yield
yield, Mg/ha
From an experiment in 2003. Yang (2013) uses this data to illustrate - a procedure for bootstrapping biplots.
-site | long | lat |
Beaverlodge | 119.43 | 55.21 |
BigLakes | 113.70 | 53.61 |
Calmar | 113.85 | 53.26 |
CdcNorth | 113.33 | 53.63 |
DawsonCreek | 120.23 | 55.76 |
FtKent | 110.61 | 54.31 |
FtStJohn | 120.85 | 56.25 |
Irricana | 113.60 | 51.32 |
Killam | 111.85 | 52.78 |
Lacombe | 113.73 | 52.46 |
LethbridgeDry | 112.81 | 49.70 |
LethbridgeIrr | 112.81 | 49.70 |
Lomond | 112.65 | 50.35 |
Neapolis | 113.86 | 51.65 |
NorthernSunrise | NA | NA |
Olds | 114.09 | 51.78 |
StPaul | 111.28 | 53.98 |
Stettler | 112.71 | 52.31 |
Used with permission of Rong-Cai Yang.
-Rong-Cai Yang (2007). - Mixed-Model Analysis of Crossover Genotype-Environment Interactions. - Crop Science, 47, 1051-1062. - https://doi.org/10.2135/cropsci2006.09.0611
-Zhiqiu Hu and Rong-Cai Yang, (2013). - Improved Statistical Inference for Graphical Description and - Interpretation of Genotype x Environment Interaction. - Crop Science, 53, 2400-2410. - https://doi.org/10.2135/cropsci2013.04.0218
- --# \dontrun{ - -library(agridat) -data(yang.barley) -dat <- yang.barley - -libs(reshape2) -dat <- acast(dat, gen~site, value.var='yield') - - ## For bootstrapping of a biplot, see the non-cran packages: - ## 'bbplot' and 'distfree.cr' - ## https://statgen.ualberta.ca/index.html?open=software.html - ## install.packages("https://statgen.ualberta.ca/download/software/bbplot_1.0.zip") - ## install.packages("https://statgen.ualberta.ca/download/software/distfree.cr_1.5.zip") - - ## libs(SDMTools) - ## libs(distfree.cr) - ## libs(bbplot) - - ## d1 <- bbplot.boot(dat, nsample=2000) # bootstrap the data - ## plot(d1) # plot distributions of principal components - ## b1 <- bbplot(d1) # create data structures for the biplot - ## plot(b1) # create the confidence regions on the biplot - -# } -
yates.missing.Rd
Potato factorial experiment with missing values
-A data frame with 80 observations on the following 3 variables.
trt
treatment factor with levels 0
K
- N
P
NK
KP
NP
NKP
block
block, 10 levels
y
infection intensity
The response variable y
is the intensity of infection of potato
- tubers innoculated with Phytophthora Erythroseptica.
Yates (1933) presents an iterative algorithm to estimate missing - values in a matrix, using this data as an example.
-F. Yates, 1933. - The analysis of replicated experiments when the field results are incomplete. - Emp. J. Exp. Agric., 1, 129--142.
-Steel & Torrie, 1980, Principles and Procedures of Statistics, - 2nd Edition, page 212.
- --# \dontrun{ - -library(agridat) -data(yates.missing) -dat <- yates.missing - -libs(lattice) -bwplot(y ~ trt, data=dat, - xlab="Treatment", ylab="Infection intensity", - main="yates.missing") --libs(reshape2) -mat0 <- acast(dat[, c('trt','block','y')], trt~block, - id.var=c('trt','block'), value.var='y') - -# Use lm to estimate missing values. The estimated missing values -# are the same as in Yates (1933) -m1 <- lm(y~trt+block, dat) -dat$pred <- predict(m1, new=dat[, c('trt','block')]) -dat$filled <- ifelse(is.na(dat$y), dat$pred, dat$y) -mat1 <- acast(dat[, c('trt','block','pred')], trt~block, - id.var=c('trt','block'), value.var='pred') - - -# Another method to estimate missing values via PCA -libs("nipals") -m2 <- nipals(mat0, center=FALSE, ncomp=3, fitted=TRUE) -# mat2 <- m2$scores -mat2 <- m2$fitted - -# Compare -ord <- c("0","N","K","P","NK","NP","KP","NKP") -print(mat0[ord,], na.print=".") -#> B01 B02 B03 B04 B05 B06 B07 B08 B09 B10 -#> 0 3.55 2.29 . 2.00 3.34 3.83 3.86 3.50 2.23 2.91 -#> N 2.30 4.03 2.54 2.82 3.29 2.93 . 2.55 2.20 2.30 -#> K 3.96 3.62 3.46 2.50 2.94 3.70 3.82 2.54 3.18 3.69 -#> P 2.99 3.99 2.90 3.97 4.49 4.70 3.86 . 3.50 3.59 -#> NK . 3.07 3.49 1.07 3.99 3.48 3.80 3.68 3.24 2.70 -#> NP 2.36 3.47 2.64 3.17 3.26 3.28 . . 3.07 3.12 -#> KP 2.16 2.34 1.96 2.60 3.77 . 3.20 3.47 2.67 3.33 -#> NKP 3.16 2.52 2.39 3.68 . . 3.85 3.36 2.50 4.13#> B01 B02 B03 B04 B05 B06 B07 B08 B09 B10 -#> 0 2.75 3.00 2.58 2.56 3.43 3.46 3.50 3.11 2.66 3.05 -#> N 2.57 2.82 2.39 2.38 3.25 3.28 3.31 2.93 2.47 2.87 -#> K 3.08 3.33 2.91 2.89 3.77 3.79 3.83 3.44 2.99 3.39 -#> P 3.53 3.78 3.36 3.34 4.21 4.24 4.27 3.89 3.43 3.83 -#> NK 2.88 3.13 2.71 2.69 3.57 3.59 3.63 3.24 2.79 3.18 -#> NP 2.86 3.11 2.69 2.67 3.54 3.57 3.61 3.22 2.77 3.16 -#> KP 2.63 2.87 2.45 2.43 3.31 3.33 3.37 2.98 2.53 2.93 -#> NKP 3.05 3.30 2.88 2.86 3.73 3.76 3.79 3.41 2.95 3.35#> B01 B02 B03 B04 B05 B06 B07 B08 B09 B10 -#> 0 3.56 2.17 3.00 1.58 3.46 3.58 3.80 3.44 2.53 3.09 -#> N 2.37 3.63 2.52 2.84 3.01 3.07 3.03 2.46 2.72 2.72 -#> K 3.59 3.92 3.56 2.22 3.29 3.52 3.82 2.91 3.14 3.01 -#> P 2.77 4.05 2.77 4.09 4.35 4.27 3.99 3.69 3.36 3.88 -#> NK 3.74 2.94 3.38 1.78 3.44 3.64 3.92 3.30 2.85 3.11 -#> NP 2.59 3.67 2.64 3.18 3.50 3.52 3.41 2.95 2.92 3.15 -#> KP 2.23 2.29 1.92 3.03 3.69 3.56 3.26 3.35 2.41 3.25 -#> NKP 2.77 2.60 2.39 3.12 4.07 3.98 3.75 3.75 2.74 3.60#> [1] 17.68986#> [1] 5.42107# } -
yates.oats.Rd
The yield of oats from a split-plot field trial conducted at - Rothamsted in 1931.
-Varieties were applied to the main plots.
-Manurial (nitrogen) treatments were applied to the sub-plots.
-Each plot is 1/80 acre = 28.4 links * 44 links.
-Field width: 4 plots * 44 links = 176 links.
-Field length: 18 rows * 28.4 links = 511 links
-The 'block' numbers in this data are as given in the Rothamsted Report. - The 'grain' and 'straw' values are the actual pounds per sub-plot as - shown in the Rothamsted Report. Each sub-plot is 1/80 acre, and a - 'hundredweight (cwt)' is 112 pounds, so converting from sub-plot - weight to hundredweight/acre needs a conversion factor of 80/112.
-The 'yield' values are the values as they appeared in the paper by - Yates, who used 1/4-pounds as the units (i.e. he multiplied the - original weight by 4) for simpler calculations.
-row
row
col
column
yield
yield in 1/4 pounds per sub-plot, each 1/80 acre
nitro
nitrogen treatment in hundredweight per acre
gen
genotype, 3 levels
block
block, 6 levels
grain
grain weight in pounds per sub-plot
straw
straw weight in pounds per sub-plot
Report for 1931. Rothamsted Experiment Station. Page 143. - https://www.era.rothamsted.ac.uk/eradoc/article/ResReport1931-141-159
-Yates, Frank (1935) Complex experiments, - Journal of the Royal Statistical Society Suppl - 2, 181-247. Figure 2. - https://doi.org/10.2307/2983638
-# \dontrun{
-
- library(agridat)
- data(yates.oats)
- dat <- yates.oats
-
-
- ## # Means match Rothamsted report p. 144
- ## libs(dplyr)
- ## dat
- ## summarize(grain=mean(grain)*80/112,
- ## straw=mean(straw)*80/112)
-
- libs(desplot)
- # Experiment design & yield heatmap
- desplot(dat, block ~ col*row, col.regions=c("black","yellow"),
- out1=block, num=nitro, col=gen,
- cex=1, aspect=511/176, # true aspect
- main="yates.oats")
-
-
-
- # Roughly linear gradient across the field. The right-half of each
- # block has lower yield. The blocking is inadequate!
- libs("lattice")
- xyplot(yield ~ col|factor(nitro), dat,
- type = c('p', 'r'), xlab='col', as.table = TRUE,
- main="yates.oats")
-
-
- libs(lme4)
- # Typical split-plot analysis. Non-significant gen differences
- m3 <- lmer(yield ~ factor(nitro) * gen + (1|block/gen), data=dat)
- # Residuals still show structure
- xyplot(resid(m3) ~ dat$col, xlab='col', type=c('p','smooth'),
- main="yates.oats")
-#> Warning: pseudoinverse used at 2
-#> Warning: neighborhood radius 1
-#> Warning: reciprocal condition number 0
-#> Warning: There are other near singularities as well. 1
-#> Warning: pseudoinverse used at 2
-#> Warning: neighborhood radius 1
-#> Warning: reciprocal condition number 0
-#> Warning: There are other near singularities as well. 1
-#> Warning: pseudoinverse used at 2
-#> Warning: neighborhood radius 1
-#> Warning: reciprocal condition number 0
-#> Warning: There are other near singularities as well. 1
-#> Warning: pseudoinverse used at 2
-#> Warning: neighborhood radius 1
-#> Warning: reciprocal condition number 0
-#> Warning: There are other near singularities as well. 1
-#> Warning: pseudoinverse used at 2
-#> Warning: neighborhood radius 1
-#> Warning: reciprocal condition number 0
-#> Warning: There are other near singularities as well. 1
-
-
- # Add a linear trend for column
- m4 <- lmer(yield ~ col + factor(nitro) * gen + (1|block/gen), data=dat)
- # xyplot(resid(m4) ~ dat$col, type=c('p','smooth'), xlab='col')
-
- ## Compare fits
- AIC(m3,m4)
-#> df AIC
-#> m3 15 559.0285
-#> m4 16 533.3343
- ## df AIC
- ## m3 9 581.2372
- ## m4 10 557.9424 # Substantially better
-
-
- # ----------
-
- # Marginal predictions from emmeans package and asreml::predict
-
- # --- nlme ---
- libs(nlme)
- libs(emmeans)
- # create unbalance
- dat2 <- yates.oats[-c(1,2,3,5,8,13,21,34,55),]
- m5l <- lme(yield ~ factor(nitro) + gen, random = ~1 | block/gen,
- data = dat2)
-
- # asreml r 4 has a bug with asreml( factor(nitro))
- dat2$nitrof <- factor(dat2$nitro)
-
- # --- asreml4 ---
- libs(asreml)
- m5a <- asreml(yield ~ nitrof + gen,
- random = ~ block + block:gen, data=dat2)
-#> Model fitted using the gamma parameterization.
-#> ASReml 4.1.0 Fri Dec 17 15:17:52 2021
-#> LogLik Sigma2 DF wall cpu
-#> 1 -202.393 297.150 57 15:17:52 0.0
-#> 2 -198.059 229.020 57 15:17:52 0.0
-#> 3 -194.582 178.247 57 15:17:52 0.0
-#> 4 -193.036 152.265 57 15:17:52 0.0
-#> 5 -192.591 140.059 57 15:17:52 0.0
-#> 6 -192.551 137.448 57 15:17:52 0.0
-#> 7 -192.550 137.136 57 15:17:52 0.0
- libs(lucid)
- vc(m5l)
-#> effect variance stddev
-#> block = NA NA
-#> (Intercept) 186 13.64
-#> gen = NA NA
-#> (Intercept).1 179.6 13.4
-#> Residual 137.1 11.71
- vc(m5a)
-#> effect component std.error z.ratio bound %ch
-#> block 186 167.4 1.1 P 0.1
-#> block:gen 179.6 99.63 1.8 P 0
-#> units!R 137.1 29.93 4.6 P 0
-
- emmeans::emmeans(m5l, "gen")
-#> gen emmean SE df lower.CL upper.CL
-#> GoldenRain 103.4 8.37 5 81.9 125
-#> Marvellous 108.9 8.18 5 87.8 130
-#> Victory 97.3 8.18 5 76.3 118
-#>
-#> Results are averaged over the levels of: nitro
-#> Degrees-of-freedom method: containment
-#> Confidence level used: 0.95
- predict(m5a, data=dat2, classify="gen")$pvals
-#> Model fitted using the gamma parameterization.
-#> ASReml 4.1.0 Fri Dec 17 15:17:52 2021
-#> LogLik Sigma2 DF wall cpu
-#> 1 -192.550 137.129 57 15:17:52 0.0
-#> 2 -192.550 137.129 57 15:17:52 0.0
-#> 3 -192.550 137.129 57 15:17:52 0.0
-#>
-#> Notes:
-#> - The predictions are obtained by averaging across the hypertable
-#> calculated from model terms constructed solely from factors in
-#> the averaging and classify sets.
-#> - Use 'average' to move ignored factors into the averaging set.
-#> - The simple averaging set: nitrof
-#> - The ignored set: block
-#>
-#>
-#> gen predicted.value std.error status
-#> 1 GoldenRain 103.42039 8.368025 Estimable
-#> 2 Marvellous 108.86384 8.183540 Estimable
-#> 3 Victory 97.30395 8.183515 Estimable
-
- # ----------
-
- if(0){
-
- # Demonstrate use of regress package, compare to lme
-
- libs(regress)
- m6 <- regress(yield ~ nitrof + gen, ~block + I(block:gen), identity=TRUE,
- verbose=1, data=dat)
- summary(m6)
- ## Variance Coefficients:
- ## Estimate Std. Error
- ## block 214.468 168.794
- ## I(block:gen) 109.700 67.741
- ## In 162.558 32.189
-
- # ordinal causes clash with VarCorr
- if(is.element("package:ordinal", search())) detach(package:ordinal)
-
- m7 <- lme(yield ~ nitrof + gen, random = ~ 1|block/gen, data=dat)
- lme4::VarCorr(m7)
- ## Variance StdDev
- ## block = pdLogChol(1)
- ## (Intercept) 214.4716 14.64485
- ## gen = pdLogChol(1)
- ## (Intercept) 109.6929 10.47344
- ## Residual 162.5591 12.74987
- }
-
-# }
-
zuidhof.broiler.Rd
Daily weight, feed, egg measurements for a broiler chicken
-A data frame with 59 observations on the following 6 variables.
bw
Body weight, grams
targetbw
Target body weight, grams
adfi
Average daily feed intake, grams
adg
Average daily gain, grams
eggwt
Egg weight, grams
age
Age, days
Using graphs like the one in the examples section, the authors - discovered that a drop in body weight commonly occurs around the time - of first egg production.
-Used with permission of Martin Zuidhof.
-Martin J. Zuidhof and Robert A. Renema and Frank E. Robinson, (2008). - Understanding Multiple, Repeated Animal Measurements with the Help of - PROC GPLOT. SAS Global Forum 2008, Paper 250-2008. - https://support.sas.com/resources/papers/proceedings/pdfs/sgf2008/250-2008.pdf
- ---library(agridat) - -data(zuidhof.broiler) -dat <- zuidhof.broiler - -dat <- transform(dat, age=age/7) # Change days into weeks - -# Reproducing figure 1 of Zuidhof et al. - -# Plot using left axis -op <- par(mar=c(5,4,4,4)) -plot(bw~age, dat, xlab="Age (weeks)", ylab="Bodyweight (g)", - main="zuidhof.broiler", - xlim=c(20,32), ylim=c(0,4000), pch=20) --# Now plot using the right axis -par(new=TRUE) -plot(adfi~age, subset(dat, !is.na(adfi)), - xlab="", ylab="", xlim=c(20,32), xaxt="n",yaxt="n", - ylim=c(-50,175), type="s", lty=2) -