Data on marine ecology from Plymouth Marine Laboratories, supplied by Dr K R Clarke and Dr S Widdicombe. If publishing any results from it, please reference as the original source: Widdicombe, S. & Austen, M.C. 2001. The interaction between physical disturbance and organic enrichment: an important element in structuring benthic communities. Limnology & Oceanography, Vol. 46, pp. 1720-1733. W.J. Krzanowski used these data for the Biometrics article "Biplots for Multifactorial Analysis of Distance". Note that the data below contain 81 species, but the article indicates that there were 80 species. This is because one of the species has zero incidence for all buckets, and such a species is ignored by the Bray-Curtis measure of dissimilarity. -------------------------------------------------------------------------------- Rows correspond to species, columns to buckets; entries give the incidences of each species in each bucket. Each bucket was exposed to a combination of levels of the two factors: disturbance (D) enrichment (P). There are seven levels of each factor, coded 0 (control) - 6 (highest level) respectively, and two replicates of each factor combination. The factor levels are as follows: D0 - no disturbance P0 - no carbon enrichment D1 - once every 4 weeks P1 - 12.5 gm/m^{-2} D2 - once every 2 weeks P2 - 25 gm/m^{-2} D3 - once a week P3 - 50 gm/m^{-2} D4 - twice a week P4 - 100 gm/m^{-2} D5 - three times a week P5 - 200 gm/m^{-2} D6 - every day P6 - 400 gm/m^{-2} The columns are ordered as follows: D0P0, D0P0, D0P1, D0P1, D0P2, D0P2, ..., D0P6, D0P6, D1P0, D1P0, D1P1, D1P1, ..., D6P6 i.e. the two replicates of each combination are contiguous, and factor P changes rapidly from column to column while factor D changes slowly. -------------------------------------------------------------------------------- 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 0 0 1 0 0 1 0 0 0 0 0 0 0 2 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 3 0 0 0 0 0 0 0 0 0 0 1 2 2 0 0 1 0 0 2 1 1 1 1 1 4 3 0 1 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 7 2 15 1 6 19 7 5 0 1 0 0 4 2 6 10 6 2 4 1 5 10 5 1 0 0 6 5 3 1 0 1 4 2 1 10 0 6 0 0 2 6 4 0 5 6 0 6 8 3 6 1 0 0 3 3 0 1 4 6 1 2 2 0 0 1 1 0 2 1 1 1 1 1 4 3 3 1 1 2 1 1 9 6 1 2 1 1 3 1 1 2 0 5 1 1 1 4 0 2 2 4 0 0 0 0 0 0 0 0 0 2 1 0 0 0 0 2 0 1 0 1 0 0 0 1 0 0 0 0 4 1 0 0 0 0 0 0 0 4 0 0 1 0 1 1 0 3 0 0 0 0 2 0 1 0 0 1 1 2 2 0 0 1 0 0 2 1 1 1 1 1 4 3 0 1 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 6 3 5 6 4 1 10 3 3 0 1 0 1 0 5 3 9 3 3 2 5 0 2 1 2 0 0 1 2 2 4 0 3 2 1 1 1 0 1 0 0 2 0 0 0 2 5 1 2 2 5 0 1 0 1 0 1 0 0 1 4 0 1 2 0 0 2 1 0 1 4 0 0 0 3 0 1 0 1 2 2 0 0 0 1 1 0 0 3 1 1 0 3 0 0 1 0 2 6 1 1 3 3 2 4 3 1 0 2 0 1 1 1 2 1 1 0 0 4 0 2 0 2 0 0 0 0 0 4 0 3 1 1 0 1 0 1 0 0 2 0 0 1 1 1 2 1 0 0 1 0 0 0 0 0 1 1 2 2 0 1 1 1 1 0 0 2 2 0 0 2 1 0 0 0 0 0 1 0 0 0 2 0 0 1 0 0 0 1 0 1 0 2 0 0 2 0 2 1 2 0 0 1 1 0 0 0 0 0 1 2 3 2 1 2 0 3 0 3 0 1 0 0 2 0 0 0 3 1 0 1 0 1 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 1 1 2 0 3 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 0 1 0 9 1 6 12 5 5 1 1 12 4 0 0 0 0 6 6 9 2 9 7 9 5 1 5 0 1 0 0 7 6 5 4 5 0 1 2 0 9 0 0 0 0 8 5 1 6 9 4 7 3 0 5 0 0 0 0 10 2 8 1 10 4 11 8 3 0 0 0 1 0 7 5 6 3 5 1 3 2 6 8 0 1 0 1 10 14 2 4 1 1 1 9 2 3 0 4 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 2 5 1 1 4 1 0 1 2 1 1 2 0 0 0 8 3 2 1 1 1 4 1 2 3 4 3 0 0 0 2 2 3 0 1 0 0 0 1 1 0 2 0 0 0 0 0 3 1 1 3 3 0 0 1 0 1 2 0 0 4 1 5 3 1 0 2 2 2 0 5 0 1 6 0 0 2 2 3 3 2 0 1 0 2 5 3 2 2 1 2 10 4 5 0 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 4 2 2 2 3 3 0 0 0 0 0 0 1 0 0 2 0 2 2 0 0 0 0 0 2 4 1 3 1 1 0 1 0 1 0 0 0 0 2 2 1 1 2 0 2 2 0 0 1 0 0 0 0 0 1 2 1 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 1 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 2 0 1 2 0 1 0 0 1 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 3 0 0 0 1 0 0 0 0 0 0 1 0 2 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 2 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 4 1 6 0 1 0 5 4 5 3 0 0 0 0 3 6 4 1 2 3 5 2 1 2 0 0 0 0 0 1 3 0 1 3 0 0 1 3 0 0 0 0 4 2 0 1 2 4 1 2 0 1 0 0 0 0 4 3 0 2 2 2 2 2 1 0 0 0 0 0 0 2 1 1 1 0 0 2 2 3 0 0 0 0 0 2 0 1 0 0 3 2 2 2 0 1 0 0 3 3 1 0 4 2 0 5 1 1 0 0 0 0 1 2 4 6 7 1 4 1 0 1 0 0 0 0 2 2 1 8 5 2 1 2 1 2 0 0 0 1 2 0 0 2 1 4 1 2 0 1 4 0 0 0 0 1 1 3 2 1 0 1 2 0 0 3 0 3 1 1 0 0 0 0 0 1 1 1 1 3 1 2 0 1 1 2 0 1 0 2 0 2 0 0 0 2 0 1 2 4 2 0 2 8 10 1 1 1 0 0 0 6 4 4 1 2 3 4 1 5 3 3 0 0 0 0 0 1 3 0 1 4 2 0 0 4 0 0 0 0 0 3 1 7 0 1 10 3 3 0 0 1 0 1 3 0 3 0 1 1 2 0 0 1 0 0 2 0 0 2 2 0 0 0 0 2 0 1 0 2 2 5 1 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 35 48 28 50 58 21 9 37 57 18 0 26 0 0 6 29 55 30 27 41 20 50 17 17 7 11 5 0 16 19 18 19 16 8 10 10 8 24 0 10 2 0 27 9 21 14 10 25 31 38 20 3 12 10 0 0 6 9 5 8 16 4 13 3 8 6 2 2 1 3 5 6 1 57 7 4 7 8 4 9 1 2 0 7 43 10 1 5 4 6 10 4 17 6 4 8 3 0 0 1 1 2 6 2 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 5 4 3 1 4 4 0 2 0 1 0 0 0 0 4 1 2 2 3 2 0 2 0 0 0 0 0 0 1 0 2 3 1 2 0 2 0 0 0 0 0 0 1 2 4 1 0 2 0 1 0 1 0 0 0 0 2 0 0 0 1 2 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0 1 0 0 0 0 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 1 0 0 1 2 0 0 0 0 0 0 0 0 3 3 0 1 0 2 0 0 0 0 0 0 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 1 0 0 0 1 2 0 1 0 1 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 18 17 2 63 58 15 1 27 1 2 0 0 0 0 1 2 2 4 7 2 1 7 0 8 0 18 0 0 3 9 0 32 3 4 29 13 10 3 0 4 0 0 0 1 11 1 3 0 1 3 2 10 10 2 0 1 0 0 4 1 2 2 0 1 0 2 2 6 1 0 1 1 3 2 0 2 4 3 0 3 3 0 3 4 3 3 1 3 0 4 3 1 4 1 1 3 4 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 130 115 54 106 149 49 40 76 26 35 0 0 0 2 33 78 103 55 80 31 19 49 15 6 1 6 1 0 42 43 59 54 69 42 59 15 21 35 1 9 0 2 47 46 34 57 67 58 36 20 23 37 26 16 0 4 16 10 28 32 30 18 8 23 28 23 8 24 6 8 26 36 8 80 22 13 13 26 30 44 20 32 6 12 42 21 17 10 14 38 18 18 24 20 15 26 26 21 1 4 2 6 3 5 0 6 2 3 0 0 0 0 0 2 6 1 0 0 2 2 0 0 0 0 0 0 0 0 1 2 0 2 1 0 0 1 0 0 0 0 0 1 2 2 1 2 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 2 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 26 33 12 47 35 20 5 3 26 13 0 9 0 0 4 25 95 24 34 13 14 53 7 10 2 6 2 0 16 11 11 8 18 2 10 7 3 37 0 3 0 0 13 8 11 18 19 19 14 14 16 1 1 5 1 2 2 4 6 0 6 1 2 7 4 5 0 2 2 2 4 4 2 32 5 5 2 10 4 6 3 1 0 6 6 7 0 10 4 7 0 3 4 4 1 2 2 3 9 14 4 8 10 13 2 5 1 4 0 0 0 0 1 3 7 3 6 3 3 4 3 1 0 1 0 0 2 5 2 5 2 8 6 3 5 0 0 0 0 0 3 3 3 1 3 5 2 1 0 5 4 5 0 0 3 2 1 1 3 3 1 6 3 2 0 0 1 0 0 1 3 3 0 1 1 5 2 3 4 2 0 4 4 7 2 1 2 4 0 0 3 3 0 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 2 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0 0 0 1 1 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 1 0 0 1 0 0 0 0 0 0 2 0 1 1 1 0 0 4 0 0 0 1 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 437 294 429 467 487 316 170 190 681 174 167 483 27 64 132 349 473 203 348 299 249 336 336 164 162 336 545 4 360 248 247 349 275 101 255 133 178 691 127 309 29 937 328 238 219 447 382 289 339 322 476 134 131 137 41 92 151 113 87 125 169 52 66 200 136 97 102 115 66 73 87 166 106 965 122 222 158 148 231 241 75 103 41 213 603 74 69 87 190 122 101 93 214 82 99 157 74 77 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 2 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 2 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 0 1 0 0 0 0 0 0 0 0 0 1 0 4 1 2 0 0 0 0 0 0 0 0 2 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 2 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 1 1 0 0 1 0 2 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 2 0 0 0 3 2 0 0 0 0 0 0 0 0 0 3 1 0 0 2 4 6 0 2 0 1 1 0 0 1 0 2 0 0 1 0 0 2 0 0 0 0 1 1 1 0 0 0 1 1 1 1 1 3 0 0 0 1 1 1 1 0 0 0 1 1 0 1 0 1 0 3 0 1 1 0 0 0 0 1 1 1 2 0 1 0 3 0 0 0 0 0 1 0 0 0 0 0 8 6 8 15 14 3 1 8 8 6 0 0 0 0 0 0 3 2 1 6 0 4 2 3 0 4 1 0 0 4 0 4 3 1 3 2 1 1 0 2 0 0 3 0 0 3 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 4 0 0 2 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 1 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 0 0 0 1 0 0 0 0 0 1 1 2 1 0 0 4 0 0 2 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 2 0 0 0 1 0 0 0 0 0 1 1 0 3 0 0 0 0 1 0 0 1 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 2 2 1 3 0 1 1 7 1 0 0 0 0 0 0 3 1 1 1 1 0 3 0 0 0 3 0 4 0 0 0 2 1 0 0 0 5 1 0 0 0 1 1 1 2 0 0 3 0 0 1 0 1 0 0 1 0 2 0 0 0 0 0 1 0 0 2 0 3 3 2 1 6 3 1 0 0 1 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 29 15 29 26 29 13 14 34 19 13 2 4 0 1 3 15 6 13 12 10 26 6 17 24 8 18 8 0 10 13 15 34 22 12 19 12 21 9 2 12 0 0 17 15 9 10 15 13 19 2 15 17 7 13 0 5 10 5 10 6 20 9 18 9 12 9 4 15 0 7 7 10 10 17 11 7 5 10 7 6 11 11 2 13 12 6 10 7 8 6 7 5 11 9 8 12 8 3 0 2 0 5 4 1 1 0 0 4 0 0 0 0 0 0 0 1 0 3 0 0 1 0 0 1 0 0 0 1 1 1 0 1 0 1 1 0 0 0 0 0 1 2 3 1 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 2 0 0 0 0 1 0 0 0 1 0 0 0 0 0 3 0 1 1 0 1 0 4 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 2 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 2 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 2 3 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 PROGRAM BIPLOTAOD C C THIS FORTRAN PROGRAM WILL PRODUCE LINEARISED BIPLOTS C APPROPRIATE FOR A TWO-WAY(P BY Q) ANALYSIS OF DISTANCE C C THE FIRST LINE OF INPUT NEEDS TO BE: C (i) NUMBER OF INDIVIDUALS IN DATA SET (IN) C (ii) NUMBER OF VARIABLES MEASURED ON EACH INDIVIDUAL (IP) C (iii) NUMBER OF REPLICATES OF EACH FACTOR COMBINATION (IREP) C (iv) NUMBER OF LEVELS OF FIRST FACTOR, A SAY (ILEVA) C (v) NUMBER OF LEVELS OF SECOND FACTOR, B SAY (ILEVB) C C THE RAW DATA NEEDS TO BE ENTERED INTO THE ARRAY X(IN,IP) C VIA THE SUBROUTINE "INDATA" WHICH THE USER CAN CONTROL C TO SUIT HIS/HER OWN DATA FORMAT. AFTER ENTRY, THE ROWS OF C X MUST CONTAIN THE INDIVIDUALS AND THE COLUMNS THE VARIABLES, C WITH THE ROWS IN STANDARD FACTORIAL ORDER (I.E. THE LEVELS C OF THE FIRST FACTOR VARYING MOST SLOWLY, THOSE OF THE SECOND C FACTOR MOST QUICKLY, AND ALL REPLICATES CONTIGUOUS). FOR EXAMPLE C IF A AND B BOTH HAVE 2 LEVELS (a0,a1 AND b0,b1) AND THERE ARE C TWO REPLICATES THEN THE 8 INDIVIDUALS MUST BE IN THE ORDER C a0b0r1,a0b0r2,a0b1r1,a0b1r2,a1b0r1,a1b0r2,a1b1r1,a1b1r2 C (THE DATA IN THE BIOMETRICS DATABASE ARE ALREADY IN THIS ORDER) C C ANY TRANSFORMATION APPLIED TO ALL DATA VALUES MUST ALSO BE C DONE IN "INDATA" (CURRENTLY THE FOURTH-ROOT OF EACH VALUE C IS TAKEN) C IF A TRANSFORMATION IS APPLIED, THEN THE SAME TRANSFORMATION C MUST BE APPLIED TO XK*TEN IN THE COMMAND BELOW LABEL 34 OF C SUBROUTINE "AODBPL". (IF NO TRANSFORMATION IS APPLIED THEN C THIS COMMAND SHOULD BE Z(J)=XK*TEN) C C THE FUNCTION "AA" MUST EVALUATE THE CHOSEN DISTANCE BETWEEN C TWO p-ELEMENT VECTORS U AND V (CURRENTLY THE BRAY-CURTIS C MEASURE IS THE CHOSEN DISTANCE) C C IF AN ADJUSTMENT IS NEEDED IN ORDER TO ELIMINATE NEGATIVE C EIGENVALUES THEN THE IDENTIFIER "ADJUST" SHOULD BE SET TO C THE NECESSARY VALUE JUST BELOW LABEL 85 IN SUBROUTINE "AODBPL" C (IF NO ADJUSTMENT NEEDED, SET ADJUST=ZERO) C C FINALLY, FOR LARGE DATA SETS THE INITIAL ARRAY "XMAIN" MAY C NEED TO BE EXTENDED. THE CORRECT SETTING WILL BE INDICATED C IN THE OUTPUT ON FIRST RUNNING THE PROGRAM. THE IDENTIFIER C "MAXSPC" SHOULD ALSO BE SET TO THE CHOSEN VALUE C C IMPLICIT REAL*8 (A-H, O-Z) DIMENSION XMAIN(200000) MAXSPC=200000 READ(5,*) IN,IP,IREP,ILA,ILB ILL=ILA*ILB IG=IN/IREP IF(IG.EQ.ILL) GO TO 2 WRITE(6,1) 1 FORMAT(1X,'ERROR: IG AND ILL ARE NOT EQUAL') STOP 2 CONTINUE IPTS=10 INN=IN*IN INP=IN*IP IPP=IP*IP IGP=IG*IP IGG=IG*IG IGN=IG*IN IGPPTS=IGP*IPTS IPPTS=IP*IPTS I1=1 I2=I1+INP I3=I2+IGP I4=I3+INN I5=I4+IGG I6=I5+IGN I7=I6+IG I8=I7+IGG I9=I8+IGG I10=I9+IGG I11=I10+IG I12=I11+IGG I13=I12+IGG I14=I13+IGG I15=I14+IGP I16=I15+IGPPTS I17=I16+IP I18=I17+IGPPTS I19=I18+IGP I20=I19+IPPTS I21=I20+IP I22=I21+IGP I23=I22+IGP IF(I23.LE.MAXSPC) GO TO 10 WRITE(6,5) I23 5 FORMAT(///1X,'NOT ENOUGH CORE SPACE. ARRAY XMAIN MUST BE AOF LENGTH AT LEAST',I7) STOP 10 CALL AODBPL(IN,IP,IREP,ILA,ILB,ILL,IG,IPTS, AXMAIN(I1),XMAIN(I2),XMAIN(I3),XMAIN(I4),XMAIN(I5),XMAIN(I6), BXMAIN(I7),XMAIN(I8),XMAIN(I9),XMAIN(I10),XMAIN(I11),XMAIN(I12), CXMAIN(I13),XMAIN(I14),XMAIN(I15),XMAIN(I16),XMAIN(I17),XMAIN(I18) D,XMAIN(I19),XMAIN(I20),XMAIN(I21),XMAIN(I22)) STOP END SUBROUTINE AODBPL(IN,IP,IREP,ILA,ILB,ILL,IG,IPTS,X,Y,DIST,DBAR, AGG,XMEAN,EFFA,EFFB,EFFAB,EIVAL,EIVEC,COORD,COV,GMEAN,PDIST,Z, BCPLOT,BPLOT,BMARKS,RES,APLOT,CORR) IMPLICIT REAL*8 (A-H, O-Z) DIMENSION X(IN,IP),Y(IG,IP),DIST(IN,IN),DBAR(IG,IG),GG(IN,IG), AXMEAN(IG),EFFA(IG,IG),EFFB(IG,IG),EFFAB(IG,IG),EIVAL(IG), BEIVEC(IG,IG),COORD(IG,IG),COV(IG,IG),GMEAN(IG,IP), CPDIST(IG,IP,IPTS),Z(IP),CPLOT(IG,IP,IPTS),BPLOT(IG,IP), DBMARKS(IPTS,IP),RES(IP),APLOT(IG,IP),CORR(IP,IG) ZERO=0.0D0 HALF=0.5D0 ONE=1.0D0 TWO=2.0D0 TEN=10.0D0 EPS=1.0D-3 XN=IN XP=IP XREP=IREP XG=IG XLA=ILA XLB=ILB XPTS=IPTS 3 FORMAT(1X,7F11.4,1X,11(/1X,7F11.4)) 4 FORMAT(////) CALL INDATA(IN,IP,X) DIST(1,1)=ZERO DO 26 I=2,IN DIST(I,I)=ZERO DO 10 K=1,IP Z(K)=X(I,K) 10 CONTINUE DO 25 J=1,I-1 DO 20 K=1,IP RES(K)=X(J,K) 20 CONTINUE ABC=AA(IP,Z,RES) DIST(I,J)=HALF*(ABC**2) 25 CONTINUE 26 CONTINUE WRITE(6,28) IN,IN 28 FORMAT(//1X,'FIRST SIX COLUMNS OF FULL',I4,' BY',I4,' DISTANCE MAT ARIX, ELEMENTS 0.5*D**2',//) C C PSEUDODISTANCES C DO 33 I=1,IG JJ=(I-1)*IREP DO 32 K=1,IP SS=ZERO DO 30 L=1,IREP SS=SS+X(JJ+L,K) 30 CONTINUE GMEAN(I,K)=SS/XREP 32 CONTINUE 33 CONTINUE DO 37 J=1,IP DO 37 K=1,IPTS XK=K DO 34 L=1,IP Z(L)=ZERO 34 CONTINUE C C USE SAME TRANSF IN COMMAND BELOW AS FOR RAW DATA C Z(J)=DSQRT(DSQRT(XK*TEN)) DO 36 IA=1,IG DO 35 IB=1,IP RES(IB)=X(IA,IB) 35 CONTINUE ABC=AA(IP,Z,RES) PDIST(IA,J,K)=-HALF*(ABC**2) 36 CONTINUE 37 CONTINUE DO 40 I=1,IN-1 DO 40 J=I+1,IN DIST(I,J)=DIST(J,I) 40 CONTINUE DO 42 I=1,IN WRITE(6,3) (DIST(I,J),J=1,6) 42 CONTINUE DO 50 J=1,IG DO 45 I=1,IN GG(I,J)=ZERO 45 CONTINUE JA=(J-1)*IREP DO 48 K=1,IREP GG(JA+K,J)=ONE/XREP 48 CONTINUE 50 CONTINUE DO 70 I=1,IG DO 70 J=1,I SS=ZERO DO 60 K=1,IN DO 60 L=1,IN SS=SS+GG(K,I)*DIST(K,L)*GG(L,J) 60 CONTINUE EFFA(I,J)=SS 70 CONTINUE DO 75 I=1,IG DO 75 J=1,I DBAR(I,J)=HALF*EFFA(I,I)+HALF*EFFA(J,J)-EFFA(I,J) 75 CONTINUE DO 80 I=1,IG-1 DO 80 J=I+1,IG DBAR(I,J)=DBAR(J,I) 80 CONTINUE WRITE(6,4) WRITE(6,82) IG,IG 82 FORMAT(//1X,'FIRST SIX COLUMNS OF',I3,' BY',I3,' GROUP DISTANCE MA ATRIX, ELEMENTS -0.5*DBAR**2',//) DO 85 I=1,IG WRITE(6,3) (DBAR(I,J),J=1,6) 85 CONTINUE ADJUST=379.56D0 DO 86 I=1,IG DO 86 J=1,IG IF(I.NE.J) DBAR(I,J)=DBAR(I,J)-ADJUST 86 CONTINUE ST=ZERO DO 100 I=1,IG SS=ZERO DO 90 J=1,IG SS=SS+DBAR(I,J) 90 CONTINUE ST=ST+SS SS=SS/XG XMEAN(I)=SS 100 CONTINUE ST=ST/(XG*XG) DO 110 I=1,IG DO 110 J=1,IG EFFA(I,J)=DBAR(I,J)-XMEAN(I)-XMEAN(J)+ST 110 CONTINUE IFAIL=0 CALL F02ABF(EFFA,IG,IG,EIVAL,EIVEC,IG,XMEAN,IFAIL) WRITE(6,120) IG 120 FORMAT(///1X,'ORDINATION FOR',I3,' GROUPS', A///1X,'EIGENVALUES',/) WRITE(6,3) (EIVAL(IG+1-I),I=1,IG) DO 140 J=1,IG JJ=IG+1-J EE=EIVAL(JJ) IF(EE.LT.ZERO) EE=ZERO EE=DSQRT(EE) ST=ZERO DO 130 I=1,IG COORD(I,J)=EIVEC(I,JJ)*EE ST=ST+COORD(I,J) 130 CONTINUE ST=ST/XG DO 135 I=1,IG COORD(I,J)=COORD(I,J)-ST 135 CONTINUE 140 CONTINUE DO 145 IA=1,IG SS=ZERO DO 142 IB=1,IG SS=SS+COORD(IA,IB)**2 142 CONTINUE SS=HALF*SS DO 144 IB=1,IP DO 144 IC=1,IPTS PDIST(IA,IB,IC)=PDIST(IA,IB,IC)+SS 144 CONTINUE 145 CONTINUE WRITE(6,150) 150 FORMAT(///1X,'COORDINATES OF GROUPS (COLUMNS) ON FIRST FIVE DIMENS AIONS (ROWS)',//) DO 160 I=1,IG WRITE(6,3) (COORD(I,J),J=1,5) 160 CONTINUE C C BIPLOTS IN MAIN SPACE C DO 163 IB=1,IP DO 163 IC=1,IPTS DO 162 IA=1,IG-2 SS=ZERO EE=EIVAL(IG+1-IA) DO 161 ID=1,IG SS=SS+COORD(ID,IA)*PDIST(ID,IB,IC)/EE 161 CONTINUE CPLOT(IA,IB,IC)=SS 162 CONTINUE 163 CONTINUE DO 174 I=1,IP ITER=0 DO 164 J=1,IPTS BMARKS(J,I)=ONE 164 CONTINUE ST=IPTS DO 165 J=1,IG XMEAN(J)=ZERO 165 CONTINUE 166 ITER=ITER+1 DO 168 J=1,IG-2 SS=ZERO DO 167 K=1,IPTS SS=SS+BMARKS(K,I)*CPLOT(J,I,K) 167 CONTINUE BPLOT(J,I)=SS/ST 168 CONTINUE SQ=ZERO DO 169 J=1,IG-2 SQ=SQ+BPLOT(J,I)**2 169 CONTINUE DO 171 K=1,IPTS SS=ZERO DO 170 J=1,IG-2 SS=SS+BPLOT(J,I)*CPLOT(J,I,K) 170 CONTINUE BMARKS(K,I)=SS/SQ 171 CONTINUE SS=ZERO DO 172 J=1,IG-2 SS=(BPLOT(J,I)-XMEAN(J))**2 172 CONTINUE SS=SS/XG IF(SS.LT.EPS) GO TO 174 DO 173 J=1,IG-2 XMEAN(J)=BPLOT(J,I) 173 CONTINUE IF(ITER.LE.500) GO TO 166 WRITE(6,183) I 174 CONTINUE DO 176 I=1,IP SS=ZERO DO 175 J=1,2 DO 175 K=1,IPTS SS=SS+(CPLOT(J,I,K)-BMARKS(K,I)*BPLOT(J,I))**2 175 CONTINUE RES(I)=SS/(XPTS+XPTS) 176 CONTINUE DO 179 I=1,IG-2 SS=ZERO DO 177 J=1,IP SS=SS+BPLOT(I,J) 177 CONTINUE SS=SS/XP DO 178 J=1,IP BPLOT(I,J)=BPLOT(I,J)-SS 178 CONTINUE 179 CONTINUE WRITE(6,181) IP DO 180 J=1,IP WRITE(6,3) (BPLOT(I,J),I=1,6) 180 CONTINUE 181 FORMAT(///1X,'LINEARISED BIPLOTS FOR',I3,' VARIABLES (ROWS) ON FIR AST SIX DIMENSIONS (COLUMNS)',///) WRITE(6,182) 182 FORMAT(///1X,'RESIDUAL MEAN SQUARED ERROR OF LINEAR APPROXIMATION AIN TWO DIMENSIONS FOR EACH VARIABLE',///) WRITE(6,3) (RES(I),I=1,IP) 183 FORMAT(///,1X,'NON-CONVERGENCE FOR VARIABLE',I4,///) WRITE(6,184) 184 FORMAT(///1X,'MAIN EFFECT OF A',///) DO 190 I=1,ILA DO 190 J=1,IG ST=ZERO DO 185 K=1,ILB ST=ST+COORD((I-1)*ILB+K,J) 185 CONTINUE ST=ST/XLB EFFA(I,J)=ST DO 186 K=1,ILB KK=(I-1)*ILB+K EFFAB(KK,J)=COORD(KK,J)-ST 186 CONTINUE 190 CONTINUE DO 210 J=1,IG ST=ZERO DO 200 I=1,ILA ST=ST+EFFA(I,J) 200 CONTINUE XMEAN(J)=ST/XLA 210 CONTINUE DO 215 I=1,ILA DO 215 J=1,IG EFFA(I,J)=EFFA(I,J)-XMEAN(J) 215 CONTINUE DO 230 I=1,IG DO 230 J=1,IG ST=ZERO DO 220 K=1,ILA ST=ST+EFFA(K,I)*EFFA(K,J) 220 CONTINUE COV(I,J)=ST/(XLA-ONE) 230 CONTINUE CALL F02ABF(COV,IG,IG,EIVAL,EIVEC,IG,XMEAN,IFAIL) WRITE(6,240) 240 FORMAT(///1X,'EIGENVALUES',/) WRITE(6,3) (EIVAL(IG+1-I),I=1,IG) WRITE(6,245) 245 FORMAT(///1X,'COORDINATES OF FACTOR LEVELS (ROWS) ON FIRST SIX DIME ANSIONS (COLUMNS)',//) DO 260 I=1,ILA DO 260 J=1,ILA ST=ZERO DO 250 K=1,IG ST=ST+EFFA(I,K)*EIVEC(K,IG+1-J) 250 CONTINUE COV(I,J)=ST 260 CONTINUE DO 270 I=1,ILA WRITE(6,3) (COV(I,J),J=1,ILA-1) 270 CONTINUE WRITE(6,271) 271 FORMAT(///1X,'BIPLOT PROJECTIONS, VARIABLES IN ROWS',//) DO 273 J=1,IP DO 273 I=1,ILA ST=ZERO DO 272 K=1,IG ST=ST+BPLOT(K,J)*EIVEC(K,IG+1-I) 272 CONTINUE APLOT(I,J)=ST 273 CONTINUE DO 274 J=1,IP WRITE(6,3) (APLOT(I,J),I=1,ILA-1) 274 CONTINUE WRITE(6,275) 275 FORMAT(///1X,'SIMPLE CORRELATION BIPLOTS, VARIABLES IN ROWS',///) CALL CORREL(COORD,EIVEC,X,Y,CORR,COV,ILA,IN,IG,IP,IREP) DO 276 I=1,IP WRITE(6,3) (CORR(I,J),J=1,6) 276 CONTINUE WRITE(6,277) 277 FORMAT(//1X,'BIVARIATE REGRESSION BIPLOTS, VARIABLES IN ROWS',///) DO 278 I=1,IP WRITE(6,3) CORR(I,IG),CORR(I,IG-1) 278 CONTINUE WRITE(6,279) 279 FORMAT(///1X,'MAIN EFFECT OF B',///) DO 290 I=1,ILB DO 290 J=1,IG ST=ZERO DO 280 K=1,ILA ST=ST+COORD((K-1)*ILB+I,J) 280 CONTINUE ST=ST/XLA EFFB(I,J)=ST DO 285 K=1,ILA KK=(K-1)*ILB+I EFFAB(KK,J)=EFFAB(KK,J)-ST 285 CONTINUE 290 CONTINUE DO 310 J=1,IG ST=ZERO DO 300 I=1,ILB ST=ST+EFFB(I,J) 300 CONTINUE XMEAN(J)=ST/XLB 310 CONTINUE DO 315 I=1,ILB DO 315 J=1,IG EFFB(I,J)=EFFB(I,J)-XMEAN(J) 315 CONTINUE DO 330 I=1,IG DO 330 J=1,IG ST=ZERO DO 320 K=1,ILB ST=ST+EFFB(K,I)*EFFB(K,J) 320 CONTINUE COV(I,J)=ST/(XLB-ONE) 330 CONTINUE CALL F02ABF(COV,IG,IG,EIVAL,EIVEC,IG,XMEAN,IFAIL) WRITE(6,240) WRITE(6,3) (EIVAL(IG+1-I),I=1,IG) WRITE(6,245) DO 360 I=1,ILB DO 360 J=1,ILB ST=ZERO DO 350 K=1,IG ST=ST+EFFB(I,K)*EIVEC(K,IG+1-J) 350 CONTINUE COV(I,J)=ST 360 CONTINUE DO 370 I=1,ILB WRITE(6,3) (COV(I,J),J=1,ILB-1) 370 CONTINUE WRITE(6,271) DO 373 J=1,IP DO 373 I=1,ILB ST=ZERO DO 372 K=1,IG ST=ST+BPLOT(K,J)*EIVEC(K,IG+1-I) 372 CONTINUE APLOT(I,J)=ST 373 CONTINUE DO 374 J=1,IP WRITE(6,3) (APLOT(I,J),I=1,ILB-1) 374 CONTINUE WRITE(6,275) CALL CORREL(COORD,EIVEC,X,Y,CORR,COV,ILB,IN,IG,IP,IREP) DO 385 I=1,IP WRITE(6,3) (CORR(I,J),J=1,6) 385 CONTINUE WRITE(6,277) DO 394 I=1,IP WRITE(6,3) CORR(I,IG),CORR(I,IG-1) 394 CONTINUE WRITE(6,398) 398 FORMAT(///1X,'AB INTERACTION',///) DO 410 J=1,IG ST=ZERO DO 400 I=1,IG ST=ST+EFFAB(I,J) 400 CONTINUE XMEAN(J)=ST/XG 410 CONTINUE DO 415 I=1,IG DO 415 J=1,IG EFFAB(I,J)=EFFAB(I,J)-XMEAN(J) 415 CONTINUE DO 430 I=1,IG DO 430 J=1,IG ST=ZERO DO 420 K=1,IG ST=ST+EFFAB(K,I)*EFFAB(K,J) 420 CONTINUE COV(I,J)=ST/(XG-ONE) 430 CONTINUE CALL F02ABF(COV,IG,IG,EIVAL,EIVEC,IG,XMEAN,IFAIL) WRITE(6,240) WRITE(6,3) (EIVAL(IG+1-I),I=1,IG) WRITE(6,245) DO 460 I=1,IG DO 460 J=1,IG ST=ZERO DO 450 K=1,IG ST=ST+EFFAB(I,K)*EIVEC(K,IG+1-J) 450 CONTINUE COV(I,J)=ST 460 CONTINUE DO 470 I=1,IG WRITE(6,3) (COV(I,J),J=1,ILB-1) 470 CONTINUE WRITE(6,271) DO 473 J=1,IP DO 473 I=1,IG ST=ZERO DO 472 K=1,IG ST=ST+BPLOT(K,J)*EIVEC(K,IG+1-I) 472 CONTINUE APLOT(I,J)=ST 473 CONTINUE DO 474 J=1,IP WRITE(6,3) (APLOT(I,J),I=1,ILB -1) 474 CONTINUE WRITE(6,275) CALL CORREL(COORD,EIVEC,X,Y,CORR,COV,ILB,IN,IG,IP,IREP) DO 476 I=1,IP WRITE(6,3) (CORR(I,J),J=1,6) 476 CONTINUE WRITE(6,277) DO 478 I=1,IP WRITE(6,3) CORR(I,IG),CORR(I,IG-1) 478 CONTINUE RETURN END SUBROUTINE CORREL(COORD,EL,X,Y,Z,PROJ,ILEV,IN,IG,IP,IREP) IMPLICIT REAL*8 (A-H,O-Z) DIMENSION COORD(IG,IG),EL(IG,IG),X(IN,IP),PROJ(IG,IG),Y(IG,IP) A,Z(IP,IG) ZERO=0.D0 XREP=IREP XG=IG DO 20 I=1,IG DO 20 J=1,ILEV SS=ZERO DO 10 K=1,IG SS=SS+COORD(I,K)*EL(K,IG+1-J) 10 CONTINUE PROJ(I,J)=SS 20 CONTINUE DO 30 I=1,IG DO 30 J=1,IP SS=ZERO DO 25 K=1,IREP SS=SS+X((I-1)*IREP+K,J) 25 CONTINUE Y(I,J)=SS/XREP 30 CONTINUE DO 70 I=1,IP DO 60 J=1,ILEV SA=ZERO SB=ZERO DO 40 K=1,IG SA=SA+PROJ(K,J) SB=SB+Y(K,I) 40 CONTINUE SA=SA/XG SB=SB/XG SC=ZERO SD=ZERO SE=ZERO DO 50 K=1,IG SC=SC+(PROJ(K,J)-SA)**2 SD=SD+(Y(K,I)-SB)**2 SE=SE+(PROJ(K,J)-SA)*(Y(K,I)-SB) 50 CONTINUE IF(J.GT.1) GO TO 52 PMEAN1=SA P1SQD=SC P1Y=SE GO TO 54 52 IF(J.GT.2) GO TO 54 PMEAN2=SA P2SQD=SC P2Y=SE 54 CONTINUE Z(I,J)=SE/DSQRT(SC*SD) 60 CONTINUE P1P2=ZERO DO 64 K=1,IG P1P2=P1P2+(PROJ(K,1)-PMEAN1)*(PROJ(K,2)-PMEAN2) 64 CONTINUE DA=P1SQD*P2SQD-P1P2**2 Z(I,IG)=(P2SQD*P1Y-P1P2*P2Y)/DA Z(I,IG-1)=(P1SQD*P2Y-P1P2*P1Y)/DA 70 CONTINUE RETURN END SUBROUTINE INDATA(IN,IP,X) IMPLICIT REAL*8 (A-H, O-Z) DIMENSION X(IN,IP) DO 5 I=1,IP READ(5,*) (X(J,I),J=1,IN) 5 CONTINUE DO 10 I=1,IN DO 10 J=1,IP X(I,J)=DSQRT(DSQRT(X(I,J))) 10 CONTINUE RETURN END REAL*8 FUNCTION AA(IP,U,V) IMPLICIT REAL*8 (A-H, O-Z) DIMENSION U(IP),V(IP) ZERO=0.D0 SS=ZERO ST=ZERO DO 20 K=1,IP SS=SS+U(K)+V(K) ST=ST+DABS(U(K)-V(K)) 20 CONTINUE AA=100.0D0*ST/SS RETURN END