# Initial analysis of PLANTS scrape # begun 09-02-02 # cite: # USDA, NRCS. 2009. The PLANTS Database # (http://plants.usda.gov, 1 Feb 2009). # National Plant Data Center, Baton Rouge, LA 70874-4490 USA. PATH <- '~/Desktop/PLANTSscrape/' data.in <- read.table(paste(PATH, '09-02-02PLANTSdata.csv', sep = '')) plot(data.in[,which(unlist(lapply(data.in, is.numeric)))], pch = '.', gap = 0) data.cln <- data.in levels(data.cln$Growth.Habit) <- c(NA, "Graminoid", "Forb/herb", "Forb/herb, Vine", "Forb/herb, Subshrub", "Forb/herb, Shrub, Subshrub", "Vine, Forb/herb", "Vine", "Vine, Subshrub", "Vine, Shrub, Graminoid", "Vine, Shrub", "Subshrub, Forb/herb", "Subshrub, Shrub, Graminoid", "Subshrub, Shrub, Forb/herb", "Subshrub", "Subshrub, Shrub", "Subshrub, Shrub, Tree", "Shrub, Vine", "Shrub, Subshrub", "Shrub", "Shrub, Tree", "Tree, Subshrub, Shrub", "Tree, Shrub, Vine", "Tree, Shrub, Subshrub", "Tree, Shrub", "Tree") plot(data.cln$Growth.Habit, data.cln$Lifespan) boxplot(split(log(data.cln$Height..Mature), data.cln$Foliage.Porosity.Summer)) logStat <- log(data.cln$Height..Mature) logStat[is.infinite(logStat)] <- NA logSeed <- log(data.cln$Seed.per.Pound) logSeed[is.infinite(logSeed)] <- NA plot(logStat, logSeed) sh.lm <- lm(logSeed ~ logStat) abline(sh.lm$coef) mh1.lm <- lm(data.cln$Height..Mature ~ data.cln$Foliage.Porosity.Summer) summary(mh1.lm) anova(mh1.lm) hist(data.cln$Height..Mature) plot(data.cln$Height..Mature, data.cln$Seed.per.Pound) plot(log(data.cln$Height..Mature), log(data.cln$Seed.per.Pound)) m.kg <- 0.45359237 / data.cln$Seed.per.Pound h.m <- data.cln$Height..Mature * 0.3048 log.m.kg <- log10(m.kg) log.h.m <- log10(h.m) log.m.kg[is.infinite(log.m.kg)] <- NA log.h.m[is.infinite(log.h.m)] <- NA plot(log.m.kg, log.h.m, main = 'Predicting Mature Stature from Seed Mass', xlab = 'Seed mass in mg', ylab = 'Mature stature in m', xaxt = 'n', yaxt = 'n') axis(1, at = c(-8,-7,-6,-5,-4,-3,-2), labels = 10^c(-8,-7,-6,-5,-4,-3,-2) * 1000000) axis(2, at = seq(-1, 2, by = 1), labels = 10^seq(-1, 2, by = 1)) mh.lm <- lm(log.h.m ~ log.m.kg) abline(mh.lm$coef) pp <- format(df(summary(mh.lm)$fstatistic[1], summary(mh.lm)$fstatistic[2], summary(mh.lm)$fstatistic[3]), digits = 3) rsq <- format(summary(mh.lm)$r.squared, digits = 3) coe <- format(mh.lm$coef, digits = 3) mtext(paste('r^2=', rsq, ', slope=', coe[2], ', intercept=', coe[1], ', p =', pp, ', n=', length(mh.lm$residuals)))