2017-02-10 5 views
0

Я хотел бы запустить 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) 

ответ

0

Вы должны запустить все виды х сайтов в матричной форме для nmds, а затем создать группу объектов с уточнением, какие строки из которых среда обитания , Например, если первые 6 строк моей матрицы пришли из урбанизированных районов, а затем следующие 6 пришли из тропического леса, я бы создал такой объект группировки:

habitattypes<-c(rep("Urbanized",16), rep("RainForest",16)) 
Permanova<-adonis(yourdata^0.25~habitattypes, permutations = 999, method = "bray") 
Смежные вопросы