Вы находитесь на странице: 1из 2

# Cluster Analysis and DCA ordination on stand structure plots

# from pine-oak stands on Jefferson National Forest, VA


# John Sakulich
# 5 February 2011

# Cluster analysis using Ward's method


setwd('C:/R/StandStructure')
library(cluster)
jnf.iv <- read.table('JNF_IV.txt', row.names=1, header = TRUE)
names(jnf.iv)
jnf.clstr <- agnes(jnf.iv, metric='euclidean', method='ward', stand=TRUE)
names(jnf.clstr)
plot(jnf.clstr, which.plots=2, main='Dendrogram of Plots')

# DCA Ordination
setwd('C:/R/StandStructure')
library(vegan)
jnf.iv <- read.table('JNF_IV.txt', row.names=1, header = TRUE)
names(jnf.iv)

# Specify DCA
jnf.dca <- decorana(jnf.iv)

# Alternate approach: specify DCA with downweighting of rare taxa


jnf.dca.dw <- decorana(jnf.iv, iweigh=1)

# Investigate DCA axes and scores


names(jnf.dca)
summary(jnf.dca)
plot(jnf.dca)

# Extract plot DCA scores from first two axes (1&2)


jnf.dca.scores <- jnf.dca$rproj[ ,1:2]

# Run correlation analysis between environmental


# variables (e.g., slope aspect, position, elevation) and DCA axes
setwd('C:/R/StandStructure')
jnf.envt <- read.delim('JNF_envt_dca.txt', header = TRUE)
names(jnf.envt)
attach(jnf.envt)
cor.mat <- cor(cnf.envt, method = 'pearson')
cor.mat.sig <- cor.test(cnf.envt, method = 'pearson')

# Plot DCA scores with symbols indicating importance value groups


plot(DCA1, DCA2, type="n", xlab="DCA Axis 1", ylab="DCA Axis 2", main="Sample
Scores by Compositional Group")
points(DCA1[Comp_Grp=='1'], DCA2[Comp_Grp=='1'], col=1, pch=1, cex=1.5)
points(DCA1[Comp_Grp=='2'], DCA2[Comp_Grp=='2'], col=1, pch=17, cex=1.5)
points(DCA1[Comp_Grp=='3'], DCA2[Comp_Grp=='3'], col=1, pch=16, cex=1.5)
points(DCA1[Comp_Grp=='4'], DCA2[Comp_Grp=='4'], col=1, pch=6, cex=1.5)
points(DCA1[Comp_Grp=='5'], DCA2[Comp_Grp=='5'], col=1, pch=3, cex=1.5)

# Compute correlations and store in correlation matrix, only matrix entries


# above main diagonal is filled in
dca.cor <- matrix(-1,nrow=8,ncol=2) #correlation matrix
dca.sig <- matrix(-1,nrow=8,ncol=2) #correlation significance matrix
x<-cor.test(DCA1,Comp_Grp)
dca.cor[1,1] <- x$estimate
dca.sig[1,1] <- x$p.value
x<-cor.test(DCA1,Elev_m)
dca.cor[2,1] <- x$estimate
dca.sig[2,1] <- x$p.value
x<-cor.test(DCA1,TRMI_config)
dca.cor[3,1] <- x$estimate
dca.sig[3,1] <- x$p.value
x<-cor.test(DCA1,TRMI_pos)
dca.cor[4,1] <- x$estimate
dca.sig[4,1] <- x$p.value
x<-cor.test(DCA1,TRMI_asp)
dca.cor[5,1] <- x$estimate
dca.sig[5,1] <- x$p.value
x<-cor.test(DCA1,TRMI_steep)
dca.cor[6,1] <- x$estimate
dca.sig[6,1] <- x$p.value
x<-cor.test(DCA1,TRMI)
dca.cor[7,1] <- x$estimate
dca.sig[7,1] <- x$p.value
x<-cor.test(DCA1,Pos)
dca.cor[8,1] <- x$estimate
dca.sig[8,1] <- x$p.value
x<-cor.test(DCA2,Comp_Grp)
dca.cor[1,2] <- x$estimate
dca.sig[1,2] <- x$p.value
x<-cor.test(DCA2,Elev_m)
dca.cor[2,2] <- x$estimate
dca.sig[2,2] <- x$p.value
x<-cor.test(DCA2,TRMI_config)
dca.cor[3,2] <- x$estimate
dca.sig[3,2] <- x$p.value
x<-cor.test(DCA2,TRMI_pos)
dca.cor[4,2] <- x$estimate
dca.sig[4,2] <- x$p.value
x<-cor.test(DCA2,TRMI_asp)
dca.cor[5,2] <- x$estimate
dca.sig[5,2] <- x$p.value
x<-cor.test(DCA2,TRMI_steep)
dca.cor[6,2] <- x$estimate
dca.sig[6,2] <- x$p.value
x<-cor.test(DCA2,TRMI)
dca.cor[7,2] <- x$estimate
dca.sig[7,2] <- x$p.value
x<-cor.test(DCA2,Pos)
dca.cor[8,2] <- x$estimate
dca.sig[8,2] <- x$p.value

# Convert DCA correlation and significance matrices to data.frames


row.label <- c('Comp_Grp', 'Elev_m', 'TRMI_config', 'TRMI_pos', 'TRMI_asp',
'TRMI_steep', 'TRMI', 'Pos')
col.label <- c( 'plot.var', 'DCA1', 'DCA2')
dca.cor.df <- as.data.frame(dca.cor, row.names=row.label, col.names=col.label)
dca.sig.df <- as.data.frame(dca.sig, row.names=row.label, col.names=col.label)

Вам также может понравиться