library(vegan)
## Warning: package 'vegan' was built under R version 4.3.2
## Loading required package: permute
## Warning: package 'permute' was built under R version 4.3.2
## Loading required package: lattice
## This is vegan 2.6-4
dune.bio<-read.table("dune_bio.txt", sep="\t", header=T, row.names=1)
dune.bio.nmds<-metaMDS(dune.bio, distance="bray", k=2)
## Run 0 stress 0.1192678
## Run 1 stress 0.1183186
## ... New best solution
## ... Procrustes: rmse 0.0202703 max resid 0.06496321
## Run 2 stress 0.1192679
## Run 3 stress 0.1192679
## Run 4 stress 0.1192678
## Run 5 stress 0.1183186
## ... New best solution
## ... Procrustes: rmse 3.467462e-06 max resid 7.749736e-06
## ... Similar to previous best
## Run 6 stress 0.1192679
## Run 7 stress 0.119268
## Run 8 stress 0.1183186
## ... Procrustes: rmse 1.387173e-05 max resid 4.249611e-05
## ... Similar to previous best
## Run 9 stress 0.1889645
## Run 10 stress 0.1183186
## ... Procrustes: rmse 2.359718e-05 max resid 7.349591e-05
## ... Similar to previous best
## Run 11 stress 0.1183186
## ... Procrustes: rmse 1.9567e-05 max resid 6.44115e-05
## ... Similar to previous best
## Run 12 stress 0.1183186
## ... Procrustes: rmse 3.585724e-06 max resid 9.554068e-06
## ... Similar to previous best
## Run 13 stress 0.1192678
## Run 14 stress 0.1183186
## ... Procrustes: rmse 7.670239e-06 max resid 2.570023e-05
## ... Similar to previous best
## Run 15 stress 0.1183186
## ... Procrustes: rmse 7.880687e-06 max resid 2.644382e-05
## ... Similar to previous best
## Run 16 stress 0.1192678
## Run 17 stress 0.1183186
## ... New best solution
## ... Procrustes: rmse 1.180121e-06 max resid 3.953637e-06
## ... Similar to previous best
## Run 18 stress 0.1808911
## Run 19 stress 0.1183186
## ... Procrustes: rmse 1.682129e-06 max resid 5.987249e-06
## ... Similar to previous best
## Run 20 stress 0.1192678
## *** Best solution repeated 2 times
dune.bio.nmds$stress
## [1] 0.1183186
stressplot(dune.bio.nmds)

plot(dune.bio.nmds, type="t", display="sites")

dune.env<-read.table("dune_env.txt", sep="\t", header=T, row.names=1)
rownames(dune.env)==rownames(dune.bio)
## [1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [16] TRUE TRUE TRUE TRUE TRUE
dune.env$Axis01<-dune.bio.nmds$points[,1]
dune.env$Axis02<-dune.bio.nmds$points[,2]
dune.env$Richness<-specnumber(dune.bio)
library(ggplot2)
ggplot(dune.env, aes(x=Axis01, y=Axis02))+
geom_point(aes(fill=Management, size=Richness), alpha=0.6, pch=21)
