Christensen et al. (1996) studied the relationships between coarse woody debris (CWD) and shoreline vegetation and lake development in a sample of 16 lakes in North America. The main variables of interest are the density of cabins (no. km−1), density of riparian trees (trees km−1), the basal area of riparian trees (m2 km−1), density of coarse woody debris (no. km−1), basal area of coarse woody debris (m2 km−1).

Coarse woody debris provides important habitat structure. Not quite a lake in Wisconsin, but World Heritage rainforest in northern Australia! Photo M. Keough
Coarse woody debris provides important habitat structure. Not quite a lake in Wisconsin, but World Heritage rainforest in northern Australia! Photo M. Keough

Coarse woody debris provides important habitat structure. Not quite a lake in Wisconsin, but World Heritage rainforest in northern Australia! Photo M. Keough

Christensen, D. L., Herwig, B. R., Schindler, D. E. & Carpenter, S. R. (1996). Impacts of lakeshore residential development on coarse woody debris in north temperate lakes. Ecological Applications, 6, 1143-49.

The original paper: https://doi.org/10.2307/2269598

This data set was used for the first edition, and is available here christ.csv

Preliminaries

First, load the required packages (car, lm.beta).

Import Christensen data (christ.csv)

christ <- read.csv("../data/christ.csv")
head(christ,10)
NA

CWD versus riparian density first

scatterplot(cwdbasal~ripdens, data=christ)

christ.lm <- lm(cwdbasal ~ ripdens, data=christ)

Check diagnostics

plot(christ.lm)

augment(christ.lm)

Examine model output

glance(christ.lm)
tidy(christ.lm, conf.int = TRUE)
anova(christ.lm)
Analysis of Variance Table

Response: cwdbasal
          Df Sum Sq Mean Sq F value    Pr(>F)    
ripdens    1  32054   32054  24.303 0.0002216 ***
Residuals 14  18466    1319                      
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Get standardized coefficients

lm.beta(christ.lm)

Call:
lm(formula = cwdbasal ~ ripdens, data = christ)

Standardized Coefficients::
(Intercept)     ripdens 
         NA   0.7965489 

Predict new CWD values for riparian densities of 1000 and 2000 trees per km

predict(christ.lm, data.frame(ripdens=c(1500)), interval="prediction", se=T)
$fit
       fit      lwr     upr
1 96.17503 14.88709 177.463

$se.fit
[1] 10.83789

$df
[1] 14

$residual.scale
[1] 36.31761

Now CWD versus cabin density

scatterplot(cwdbasal~cabin, data=christ)

christ1.lm <- lm(cwdbasal ~ cabin, data=christ)

Check diagnostics

plot(christ1.lm)

augment(christ1.lm)
anova(christ1.lm)
Analysis of Variance Table

Response: cwdbasal
          Df Sum Sq Mean Sq F value   Pr(>F)   
cabin      1  25440 25440.1  14.201 0.002076 **
Residuals 14  25080  1791.4                    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Examine model output

Transform cabin density to log10 (cabin density + 1) and refit model

christ$lcabin <- log10(christ$cabin+1)
christ2.lm <- lm(cwdbasal ~ lcabin, data=christ)

Get diagnostics

plot(christ2.lm)

augment(christ2.lm)

Examine model output

glance(christ2.lm)
tidy(christ2.lm, conf.int = TRUE)
anova(christ2.lm)
Analysis of Variance Table

Response: cwdbasal
          Df Sum Sq Mean Sq F value    Pr(>F)    
lcabin     1  32840   32840  26.004 0.0001619 ***
Residuals 14  17680    1263                      
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Get standardized coefficients

lm.beta(christ2.lm)

Call:
lm(formula = cwdbasal ~ lcabin, data = christ)

Standardized Coefficients::
(Intercept)      lcabin 
         NA  -0.8062482 

Fit log cwd vs log cabin model to get residual plots, etc. for figure used in book

christ$lcwd<-log10(christ$cwdbasal)
christ3.lm<-lm(christ$lcwd~christ$lcabin)
glance(christ3.lm)
tidy(christ3.lm)
anova(christ3.lm)
Analysis of Variance Table

Response: christ$lcwd
              Df Sum Sq Mean Sq F value    Pr(>F)    
christ$lcabin  1 5.7336  5.7336  26.141 0.0001579 ***
Residuals     14 3.0707  0.2193                      
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
LS0tCnRpdGxlOiAiUUsgQm94IDYuMiIKb3V0cHV0OgogIGh0bWxfZG9jdW1lbnQ6CiAgICBkZl9wcmludDogcGFnZWQKICBodG1sX25vdGVib29rOgogICAgdGhlbWU6IGZsYXRseQotLS0KCmBgYHtyIHNldHVwLCBpbmNsdWRlPUZBTFNFfQprbml0cjo6b3B0c19jaHVuayRzZXQoZWNobyA9IFRSVUUpCmBgYAoKQ2hyaXN0ZW5zZW4gZXQgYWwuICgxOTk2KSBzdHVkaWVkIHRoZSByZWxhdGlvbnNoaXBzIGJldHdlZW4gY29hcnNlIHdvb2R5IGRlYnJpcyAoQ1dEKSBhbmQgc2hvcmVsaW5lIHZlZ2V0YXRpb24gYW5kIGxha2UgZGV2ZWxvcG1lbnQgaW4gYSBzYW1wbGUgb2YgMTYgbGFrZXMgaW4gTm9ydGggQW1lcmljYS4gVGhlIG1haW4gdmFyaWFibGVzIG9mIGludGVyZXN0IGFyZSB0aGUgZGVuc2l0eSBvZiBjYWJpbnMgKG5vLiBrbV7iiJIxXiksIGRlbnNpdHkgb2YgcmlwYXJpYW4gdHJlZXMgKHRyZWVzIGttXuKIkjFeKSwgdGhlIGJhc2FsIGFyZWEgb2YgcmlwYXJpYW4gdHJlZXMgKG1eMl4ga21e4oiSMV4pLCBkZW5zaXR5IG9mIGNvYXJzZSB3b29keSBkZWJyaXMgKG5vLiBrbV7iiJIxXiksIGJhc2FsIGFyZWEgb2YgY29hcnNlIHdvb2R5IGRlYnJpcyAobV4yXiBrbV7iiJIxXikuCgohW0NvYXJzZSB3b29keSBkZWJyaXMgcHJvdmlkZXMgaW1wb3J0YW50IGhhYml0YXQgc3RydWN0dXJlLiBOb3QgcXVpdGUgYSBsYWtlIGluIFdpc2NvbnNpbiwgYnV0IFdvcmxkIEhlcml0YWdlIHJhaW5mb3Jlc3QgaW4gbm9ydGhlcm4gQXVzdHJhbGlhISBQaG90byBNLiBLZW91Z2hdKC4uL21lZGlhL2N3ZCUyMHFsZC5qcGcpe3dpZHRoPSI4MDAifQoKQ29hcnNlIHdvb2R5IGRlYnJpcyBwcm92aWRlcyBpbXBvcnRhbnQgaGFiaXRhdCBzdHJ1Y3R1cmUuIE5vdCBxdWl0ZSBhIGxha2UgaW4gV2lzY29uc2luLCBidXQgV29ybGQgSGVyaXRhZ2UgcmFpbmZvcmVzdCBpbiBub3J0aGVybiBBdXN0cmFsaWEhIFBob3RvIE0uIEtlb3VnaCAhW10oaW1hZ2VzL2J5LTAyLnBuZyl7d2lkdGg9IjQzIn0KCkNocmlzdGVuc2VuLCBELiBMLiwgSGVyd2lnLCBCLiBSLiwgU2NoaW5kbGVyLCBELiBFLiAmIENhcnBlbnRlciwgUy4gUi4gKDE5OTYpLiBJbXBhY3RzIG9mIGxha2VzaG9yZSByZXNpZGVudGlhbCBkZXZlbG9wbWVudCBvbiBjb2Fyc2Ugd29vZHkgZGVicmlzIGluIG5vcnRoIHRlbXBlcmF0ZSBsYWtlcy4gKkVjb2xvZ2ljYWwgQXBwbGljYXRpb25zKiwgNiwgMTE0My00OS4KClRoZSBvcmlnaW5hbCBwYXBlcjogPGh0dHBzOi8vZG9pLm9yZy8xMC4yMzA3LzIyNjk1OTg+CgpUaGlzIGRhdGEgc2V0IHdhcyB1c2VkIGZvciB0aGUgZmlyc3QgZWRpdGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBoZXJlIFtjaHJpc3QuY3N2XSguLi9kYXRhL2NocmlzdC5jc3YpCgojIyMgUHJlbGltaW5hcmllcwoKRmlyc3QsIGxvYWQgdGhlIHJlcXVpcmVkIHBhY2thZ2VzIChjYXIsIGxtLmJldGEpLgoKYGBge3IgaW5jbHVkZT1GQUxTRSwgcmVzdWx0cz0naGlkZSd9CmRldnRvb2xzOjpzb3VyY2VfdXJsKCJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vbWprZW91Z2gvbWprZW91Z2guZ2l0aHViLmlvL3JlZnMvaGVhZHMvbWFpbi9SL2xpYnJhcmllcy5SIikgICAjVGhpcyBpcyB0aGUgY29tbW9uIHNldCBvZiBwYWNrYWdlcwoKbGlicmFyeShsbS5iZXRhKQpgYGAKCkltcG9ydCBDaHJpc3RlbnNlbiBkYXRhIChjaHJpc3QuY3N2KQoKYGBge3J9CmNocmlzdCA8LSByZWFkLmNzdigiLi4vZGF0YS9jaHJpc3QuY3N2IikKaGVhZChjaHJpc3QsMTApCgpgYGAKCiMjIyBDV0QgdmVyc3VzIHJpcGFyaWFuIGRlbnNpdHkgZmlyc3QKCmBgYHtyIH0Kc2NhdHRlcnBsb3QoY3dkYmFzYWx+cmlwZGVucywgZGF0YT1jaHJpc3QpCmNocmlzdC5sbSA8LSBsbShjd2RiYXNhbCB+IHJpcGRlbnMsIGRhdGE9Y2hyaXN0KQpgYGAKCkNoZWNrIGRpYWdub3N0aWNzCgpgYGB7ciB9CnBsb3QoY2hyaXN0LmxtKQphdWdtZW50KGNocmlzdC5sbSkKYGBgCgpFeGFtaW5lIG1vZGVsIG91dHB1dAoKYGBge3IgfQpnbGFuY2UoY2hyaXN0LmxtKQp0aWR5KGNocmlzdC5sbSwgY29uZi5pbnQgPSBUUlVFKQphbm92YShjaHJpc3QubG0pCmBgYAoKR2V0IHN0YW5kYXJkaXplZCBjb2VmZmljaWVudHMKCmBgYHtyIH0KbG0uYmV0YShjaHJpc3QubG0pCmBgYAoKUHJlZGljdCBuZXcgQ1dEIHZhbHVlcyBmb3IgcmlwYXJpYW4gZGVuc2l0aWVzIG9mIDEwMDAgYW5kIDIwMDAgdHJlZXMgcGVyIGttCgpgYGB7ciB9CnByZWRpY3QoY2hyaXN0LmxtLCBkYXRhLmZyYW1lKHJpcGRlbnM9YygxNTAwKSksIGludGVydmFsPSJwcmVkaWN0aW9uIiwgc2U9VCkKYGBgCgojIyMgTm93IENXRCB2ZXJzdXMgY2FiaW4gZGVuc2l0eQoKYGBge3IgfQpzY2F0dGVycGxvdChjd2RiYXNhbH5jYWJpbiwgZGF0YT1jaHJpc3QpCmNocmlzdDEubG0gPC0gbG0oY3dkYmFzYWwgfiBjYWJpbiwgZGF0YT1jaHJpc3QpCmBgYAoKQ2hlY2sgZGlhZ25vc3RpY3MKCmBgYHtyIH0KcGxvdChjaHJpc3QxLmxtKQphdWdtZW50KGNocmlzdDEubG0pCmFub3ZhKGNocmlzdDEubG0pCgpgYGAKCkV4YW1pbmUgbW9kZWwgb3V0cHV0CgpUcmFuc2Zvcm0gY2FiaW4gZGVuc2l0eSB0byBsb2cxMCAoY2FiaW4gZGVuc2l0eSArIDEpIGFuZCByZWZpdCBtb2RlbAoKYGBge3IgfQpjaHJpc3QkbGNhYmluIDwtIGxvZzEwKGNocmlzdCRjYWJpbisxKQpjaHJpc3QyLmxtIDwtIGxtKGN3ZGJhc2FsIH4gbGNhYmluLCBkYXRhPWNocmlzdCkKYGBgCgpHZXQgZGlhZ25vc3RpY3MKCmBgYHtyIH0KcGxvdChjaHJpc3QyLmxtKQphdWdtZW50KGNocmlzdDIubG0pCmBgYAoKRXhhbWluZSBtb2RlbCBvdXRwdXQKCmBgYHtyIH0KZ2xhbmNlKGNocmlzdDIubG0pCnRpZHkoY2hyaXN0Mi5sbSwgY29uZi5pbnQgPSBUUlVFKQphbm92YShjaHJpc3QyLmxtKQoKYGBgCgpHZXQgc3RhbmRhcmRpemVkIGNvZWZmaWNpZW50cwoKYGBge3IgfQpsbS5iZXRhKGNocmlzdDIubG0pCmBgYAoKIyMjIEZpdCBsb2cgY3dkIHZzIGxvZyBjYWJpbiBtb2RlbCB0byBnZXQgcmVzaWR1YWwgcGxvdHMsIGV0Yy4gZm9yIGZpZ3VyZSB1c2VkIGluIGJvb2sKCmBgYHtyfQpjaHJpc3QkbGN3ZDwtbG9nMTAoY2hyaXN0JGN3ZGJhc2FsKQpjaHJpc3QzLmxtPC1sbShjaHJpc3QkbGN3ZH5jaHJpc3QkbGNhYmluKQpnbGFuY2UoY2hyaXN0My5sbSkKdGlkeShjaHJpc3QzLmxtKQphbm92YShjaHJpc3QzLmxtKQoKYGBgCg==