2016-11-25 1 views
2

J'ai un jeu de données d'un site contenant des données sur les espèces et son abondance (nombre d'individus pour chaque espèce dans l'échantillon). J'utilise un paquet végétalien pour l'analyse de la diversité alpha. Par exemple, je trace une courbe de raréfaction d'une espèce via une fonction rare (je ne peux pas utiliser une fonction de specaccum parce que j'ai des données d'un site), et calculer un indice Chao1 via la fonction estimationR. Comment puis-je tracer une courbe de richesse attendue de Chao1 en utilisant la fonction de estimationR? Ensuite, je voudrais combiner ces courbes sur une seule parcelle.Comment je peux tracer une courbe de richesse attendue (Chao1) via vegan dans R

library(vegan) 
TR <- matrix(nrow=1,c(3,1,1,17,1,1,1,1,1,2,1,1,3,13,31,24,6,1,1,4,1,10,2,3,1,5,6,1,1,1,4,16,17,15,6,9,66,3,1,3,24,15,2,3,17,1,7,2,27,13,2,1,1,3,1,3,30,7,1,1,4,1,2,5,1,1,6,2,1,9,11,5,8,7,2,2,2,1,13,3,8,4,1,5,27,1,62,13,6,7,7,4,9,1,7,7,1,25,1,5,3,1,2,1,1,5,2,73,25,17,43,88,2,3,38,4,5,6,6,16,2,13,10,7,1,2,9,3,1,3,1,8,4,4,5,13,2,25,9,2,1,12,29,4,1,9,1,1,3,4,2,9,4,26,2,7,4,18,1,10,10,4,6,5,20,1,2,11,1,3,1,2,1,1,12,3,2,1,4,24,7,22,19,43,2,9,18,1,1,1,9,7,6,1,8,2,2,19,7,26,4,4,1,3,4,5,2,4,8,2,3,1,5,5,1,11,6,6,2,4,3,1,10,6,9,16,1,1,32,1,1,31,2,12,2,13,1,2,9,13,1,11,8,1,14,5,9,1,3,1,7,1,1,13,17,1,1,3,2,9,1,4,1,7,2,2,9,24,20,2,1,2,2,1,9,5,1,1,23,13,7,1,8,5,47,32,6,13,16,8,2,1,5,4,3,1,2,1,1,1,3,14,6,21,2,7,2,2,16,2,10,21,18,2,1,3,33,12,55,4,1,5,14,3,10,2,4,1,2,5,7,6,2,12,14,28,18,30,28,7,1,1,1,3,4,2,17,60,31,3,3,2,2,3,6,2,6,1,13,2,3,13,7,2,10,19,9,7,1,3)) 
num_species=specnumber(TR) 
chao1=estimateR(TR)[2,] 
shannon=diversity(TR,"shannon") 
rarecurve(TR) 
estimateR(TR) 

Voici un terrain, la construction sur la sortie ESTIMATIONS (I entrer les mêmes données) avec SigmaPlot:

Individual-based species accumulation curve (SAC) (thick line) and the Chao 1 estimator (thin line) of expected richness;

ligne mince devrait richesse - Chao1. En R, je ne peux tracer que SAC. courbe En EstimateS je reçois un ensemble de données pour tous les 2990 personnes, mais pas dans l'affaire R.

+0

Bienvenue dans Stack Overflow! Pouvez-vous s'il vous plaît inclure des données qui nous fourniront un [exemple reproductible] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)? –

+0

Les liens hors site ne sont pas préférés. Vous pouvez simplement modifier votre question pour inclure 'sp_data <- matrix (nrow = 1, c (3,1,1,17,1,1,1,1,1,1,1,1,3,13,31, 24,6,1,1,4,1,10,2,3,1,5,6,1,1,1, 4,16,17,15,6,9,66,3,1,3, 24,15,2,3,17,1,7,2,27,13,2,1,1,3,1,3,30,7, 1,1,4,1,2,5,1, 1,6,2,1,9,11,5,8,7,2,2,2,1,13,3,8,4,1,5,27,1,62,13,6, 7, 7,4,9,1,7,7,1,25,1,5)) '(j'ai choisi les 100 premières espèces de vos données). –

+0

pouvez-vous définir/pointer vers une définition d'une "courbe d'estimation de Chao1"? –

Répondre

1

Je ne sais pas comment les choses sont faites dans ESTIMATIONS, mais il semble que la richesse élargie (Chao 1) est basé sur la moyenne des sous-échantillons aléatoires de la communauté. Cela pourrait se faire comme ceci:

subchao <- sapply(1:2990, function(i) 
    mean(sapply(1:100, function(...) estimateR(rrarefy(TR, i))[2,]))) 

Ce serait au hasard raréfier (rrarefy()) à toutes les tailles d'échantillons 1-2990 et trouver la moyenne de 100 répétitions de chacun. Cela prendra du temps.