Я хотел бы запустить NMDS и PERMANOVA на подмножествах моих данных с использованием веганский в R. Мои данные содержат много нулей и выглядит следующим образом:подготовка данных для веганский NMDS в R
> str(invert)
'data.frame': 96 obs. of 67 variables:
$ SampleID : Factor w/ 96 levels "11-1-E-1","11-1-E-2",..: 61 62 63 49 50 51 85 86 87 73 ...
$ SampleDate : Factor w/ 8 levels "17-Aug-12","17-Oct-12",..: 1 1 1 6 6 6 2 2 2 4 ...
$ Year : int 2012 2012 2012 2012 2012 2012 2012 2012 2012 2012 ...
$ Month : Factor w/ 4 levels "August","July",..: 1 1 1 2 2 2 3 3 3 4 ...
$ Habitat : Factor w/ 4 levels "epiphyte","pool",..: 1 1 1 1 1 1 1 1 1 1 ...
$ N : num 1429 143 1705 1147 212 ...
$ S : int 6 2 8 9 4 5 6 8 5 5 ...
$ Aeshnidae : int 0 0 0 0 0 0 0 0 0 0 ...
$ Aeshnidae..Anax : int 0 0 0 0 0 0 0 0 0 0 ...
$ Aeshnidae..Gynacantha : int 0 0 0 0 0 0 0 0 0 0 ...
$ Aeshnidae..Oplonaeschna : int 0 0 0 0 0 0 0 0 0 0 ...
$ Anisoptera : int 0 0 0 0 0 0 0 0 0 0 ...
$ ant : num 0 0 0 0 0 0 0 0 0 0 ...
As вы можете видеть, есть четыре уровня «Хабитат». Я бы хотел проанализировать каждую среду обитания отдельно. Я пробовал подмножество, но это означает, что я должен делать это четыре раза (по одному для каждой среды обитания). Есть ли более эффективный способ сделать это?
Это, как я subsetted для обитания бассейна:
invert[6:67] <- lapply(invert[6:67], as.numeric)
pool <- subset(invert, Habitat=="pool")
ord <- metaMDS(pool[,7:67],
k=2,
trymax = 1000,
autotransform = TRUE,
expand = FALSE,
plot = FALSE)
plot(ord$points[,2],ord$points[,1], type="n",
main="Communities by month",
xlab="NMDS 1",
ylab="NMDS 2",
xlim=c(-1.5,1.5),
ylim=c(-1.5,1.5))
ordisymbol(ord, pool, factor="Month", cex=1.25, rainbow=T, legend=T)
#run PERMANOVA;
adonis(pool[,8:67] ~ pool$Month)