Description Usage Format Source References Examples
To study the influence of ocean grazers on regeneration rates of seaweed in the intertidal zone, a researcher scraped rock plots free of seaweed and observed the degree of regeneration when certain types of seaweed-grazing animals were denied access. The grazers were limpets (L), small fishes (f) and large fishes (F). Each plot received one of six treatments named by which grazers were allowed access. In addition, the researcher applied the treatments in eight blocks of 12 plots each. Within each block she randomly assigned treatments to plots. The blocks covered a wide range of tidal conditions.
1 |
A data frame with 96 observations on the following 3 variables.
Cover
percent of regenerated seaweed cover
Block
a factor with levels "B1"
, "B2"
,
"B3"
, "B4"
, "B5"
, "B6"
, "B7"
and "B8"
Treat
a factor indicating treatment, with levels
"C"
, "f"
, "fF"
, "L"
, "Lf"
and
"LfF"
Ramsey, F.L. and Schafer, D.W. (2002). The Statistical Sleuth: A Course in Methods of Data Analysis (2nd ed), Duxbury.
Olson, A. (1993). Evolutionary and Ecological Interactions Affecting Seaweeds, Ph.D. Thesis. Oregon State University.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | str(case1301)
# full two-way model with interactions
fitfull <- aov(Cover ~ Treat*Block, case1301)
# Residual plot indicates a transformation might help
plot(fitfull)
# Log of seaweed "regeneration ratio"
y <- with(case1301, log(Cover/(100-Cover)))
# Full two-way model with interactions
fitfull <- aov(y~Treat*Block, case1301)
# No problems indicated by residual plot
plot(fitfull)
# Note that interactions are not statistically significant
anova(fitfull)
# Additive model (no interactions)
fitadditive <- aov(y ~ Treat + Block, case1301)
# Make indicator variables for presence of limpets, small fish, and large fish
lmp <- with(case1301, ifelse(Treat %in% c("L", "Lf", "LfF"), 1, 0))
sml <- with(case1301, ifelse(Treat %in% c("f", "fF", "Lf", "LfF"), 1, 0))
big <- with(case1301, ifelse(Treat %in% c("fF", "LfF"), 1, 0))
fitsimple <- lm(y ~ Block + lmp + sml + big, case1301)
# Model with main effects of 3 "presence" factors seems ok.
anova(fitsimple, fitadditive)
summary(fitsimple, cor=FALSE)
|
'data.frame': 96 obs. of 3 variables:
$ Cover: num 14 23 22 35 67 82 94 95 34 53 ...
$ Block: Factor w/ 8 levels "B1","B2","B3",..: 1 1 2 2 3 3 4 4 5 5 ...
$ Treat: Factor w/ 6 levels "C","f","fF","L",..: 1 1 1 1 1 1 1 1 1 1 ...
Analysis of Variance Table
Response: y
Df Sum Sq Mean Sq F value Pr(>F)
Treat 5 96.993 19.3986 64.0553 <2e-16 ***
Block 7 76.239 10.8912 35.9634 <2e-16 ***
Treat:Block 35 15.230 0.4352 1.4369 0.1209
Residuals 48 14.536 0.3028
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Analysis of Variance Table
Model 1: y ~ Block + lmp + sml + big
Model 2: y ~ Treat + Block
Res.Df RSS Df Sum of Sq F Pr(>F)
1 85 29.996
2 83 29.767 2 0.22928 0.3197 0.7273
Call:
lm(formula = y ~ Block + lmp + sml + big, data = case1301)
Residuals:
Min 1Q Median 3Q Max
-1.47682 -0.40585 0.03001 0.33617 1.30143
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.2545 0.2011 -6.238 1.66e-08 ***
BlockB2 0.4600 0.2425 1.897 0.06127 .
BlockB3 2.1046 0.2425 8.678 2.42e-13 ***
BlockB4 2.9807 0.2425 12.291 < 2e-16 ***
BlockB5 1.2160 0.2425 5.014 2.87e-06 ***
BlockB6 2.0251 0.2425 8.350 1.11e-12 ***
BlockB7 1.1085 0.2425 4.571 1.64e-05 ***
BlockB8 1.3300 0.2425 5.484 4.19e-07 ***
lmp -1.8288 0.1213 -15.082 < 2e-16 ***
sml -0.3933 0.1485 -2.648 0.00965 **
big -0.6140 0.1485 -4.135 8.31e-05 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.5941 on 85 degrees of freedom
Multiple R-squared: 0.8522, Adjusted R-squared: 0.8349
F-statistic: 49.02 on 10 and 85 DF, p-value: < 2.2e-16
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.