Consuelo,
Again, about the tolerance, using the code you told me:
pc3 <- dudi.pca(kasc2df(map)$tab, scan=FALSE)
sum(dudi.pca(pc3$tab, scale=FALSE, row.w =
dataenfa1$pr/sum(dataenfa1$pr), scan=FALSE)$eig)
I got* 3.129783*, is this correct?
Yes it is. You can double check it with niche.test:
bla <- niche.test(map, lynxjura$locs[tmp, c("X", "Y")])
bla$obs
0.1450481 3.1297832
The first value is the marginality (same as in enfa1), the second one is
the tolerance.
But I don't understand, shouldn't tolerance have a value ranging from 0
to 1? I thougth that was the idea, since specialization varies from 1 to
infinite, right? [i.e. Reutter et al 2003***]
Not necessarily. But I guess you will find different definitions of
(global) tolerance and (global) specialization according to different
sources.
In any cases, I would not recommend the use of a *global*
tolerance/specialization index, unless it is used to compare:
- two species in the same study area
- the same species in two periods, given that the environment does not
change.
In the other hand, I have estimated the global specializations using
Hirzel et al (2002) formula, like this:
S <- (sqrt(sum(enfa1$s)))/1.96
Does it seem correct?
According to Hirzel et al. (2002)'s definition, it should be divided by
the number of specialization axes. It is just the mean eigenvalue of
specialization, which can be seen as a way to define a global
specialization. Now, as I said before, it is difficult to use it as is.
I got this value S = 0.996322 (<1 though), and then, my tolerance (1/S)
was 1.003692 (>1).
It bothers me that we don't have the same values! grrr
My guess: the S = 1/T relation only hold on one dimension, but not in
the N-dimensions ecological space. Could be wrong, though. Anyway,
Hirzel et al. (2002)'s definition of specialization cannot not be used
in this context.
What do you think?
About my other question about the scatter plot of enfa, the scores and
so on... I think I haven't been able to explain myself... I have
uploaded a picture http://img808.imageshack.us/i/scatter.jpg/. I hope
you can see what I mean there.
Now I see. The d=1 that you have in the upper-right corner just holds
for the projection of pixels (simplified with the use of MCPs). Try the
following:
> scatter(enfa1, pts = TRUE)
> summary(enfa1$li)
which should help. The arrows are just proportional to their real
values, in order to adequately fit in the graph.
Regards,
Mathieu.
Thanks again guys!!!
Consuelo
*** Reutter, B.A, V. Helfer, A.H. Hirzel1 & P. Vogel. 2003. Modelling
habitat-suitability using museum collections: an example with three
sympatric Apodemus species from the Alps. Journal of Biogeography, 30,
581–590
-------------
Consuelo Hermosilla
PhD student
Departamento de Ecología y Biología Animal
Departamento de Bioquímica, Genética e Inmunología, Área de Genética
Facultad de Ciencias del Mar
Campus de As Lagoas-Marcosende
Universidad de Vigo
36310 Vigo
SPAIN
Mobile: +34 692 633 298
oooO
( ) Oooo
( ( )
_) ) /
(_/
Stop Gaza Massacre
2010/6/9 Clément Calenge <clement.cale...@gmail.com
<mailto:clement.cale...@gmail.com>>
On 06/09/2010 09:05 AM, Clément Calenge wrote:
sum(dudi.pca(kasc2df(map), row.w =
dataenfa1$pr/sum(dataenfa1$pr),
scan=FALSE)$eig)
which gives you 5 only. The weights should sum to 1 (i.e.
they are
proportions). But then, how would you interpret this? This
is the same
as for the "global specialization".
Yes, but be careful: kasc2df returns a list with one component
"tab" (the component of interest) and one component "index" (the
component allowing to rebuild the original kasc), so that the
correct code is:
sum(dudi.pca(kasc2df(map)$tab, row.w =
dataenfa1$pr/sum(dataenfa1$pr), scan=FALSE)$eig)
I was a bit too hasty for this reply. Actually the code is
incorrect. Consider the following code:
pc <- dudi.pca(kasc2df(map)$tab, row.w = dataenfa1$pr/sum(dataenfa1$pr))
This code performs a *centered and scaled* PCA of the environmental
variables: this analysis first centers and scales the table
containing the value of the environmental variables. Therefore, for
each variable of pc$tab, the mean *weighted by the utilization
weights* is equal to zero and the variance *weighted by the
utilization weights* is equal to 1. Therefore, the sum of the
eigenvalues of the PCA on this transformed table is equal to the
number of environmental variables. This code is incorrect (thanks
Mathieu for noting the inconsistency). First, to calculate the
global tolerance, you would need to calculate:
pc <- dudi.pca(kasc2df(map)$tab, scan=FALSE)
This preliminary analysis is performed just to center/scale the
variables with uniform weighting. This allows to compare the
different variables in pc$tab (they all have the same average and
the same scale). *Then*, calculate the weighted and *unscaled* PCA
of the table pc$tab:
sum(dudi.pca(pc$tab, scale=FALSE, row.w =
dataenfa1$pr/sum(dataenfa1$pr), scan=FALSE)$eig)
This gives the tolerance of the species on the area,
Sorry for the confusion,
HTH,
Clément Calenge
--
Clément CALENGE
Cellule d'appui à l'analyse de données
Office national de la chasse et de la faune sauvage
Saint Benoist - 78610 Auffargis
tel. (33) 01.30.46.54.14
--
~$ whoami
Mathieu Basille, Post-Doc
~$ locate
Laboratoire d'Écologie Comportementale et de Conservation de la Faune
+ Centre d'Étude de la Forêt
Département de Biologie
Université Laval, Québec
~$ info
http://ase-research.org/basille
~$ fortune
``If you can't win by reason, go for volume.''
Calvin, by Bill Watterson.
_______________________________________________
R-sig-Geo mailing list
R-sig-Geo@stat.math.ethz.ch
https://stat.ethz.ch/mailman/listinfo/r-sig-geo