Hi,
I would like to know this answer as well as I am doing a very
similar thing. I am currently working with enfa (package
adehabitat) for Species Distribution Models but will also look at
the results with maxent.
I also have multiple species on my site and was thinking of doing a
loop, but if there is a way of doing them together I would be very
interested!
Best,
Mieke
Mieke Zwart
PhD student
Room 4.53
School of Biology
Ridley 2
Newcastle University
Newcastle upon Tyne
NE1 7RU
United Kingdom
Tel extension: 5952
-----Original Message-----
From: r-sig-ecology-bounces at r-project.org [mailto:r-sig-ecology-
bounces at r-project.org] On Behalf Of Johannes Radinger
Sent: 30 January 2012 11:25
To: r-sig-ecology at r-project.org
Subject: [R-sig-eco] SDM (MaxEnt) per Species, package dismo
Hello SIG-ECO list,
I am want to perform Species Distribution Models with R's dismo
package (function: maxent()). Of course this topic is a spatial
topic (R-SIG-GEO related) but I think it fits better to the ECO list.
For my analysis (MaxEnt)I have a Rasterstack of predictor variables
and the species occurence points as spatial points (sp-class).
My list of observations has several different species. And I
divided the list into a training and testing dataset with:
kfold(occ.points, k = 5, by = occ.points$Species)
As I read in the orig. MaxEnt tutorial, it should be possible to
use an input file with multiple species. I'd like to know:
Does that accuatlly work also in the R-Maxent setup? Can a provide
maxent() spatial points of different species, or do I have to fit
the model manually for each species (resp. in a loop?) How can I
access the results of the single species (like the 'me' in the
examples of maxent).
Another maxent related question: What happens if one of the
predictor rasters is not entirely populated with values resp. shows
NA's? Are these cells just excluded from the model fit and
prediction or will there be a problem with the entire model?
Thank you for your help,
Best regards,
Johannes
-------- Original-Nachricht --------
Datum: Fri, 27 Jan 2012 09:06:44 -0800
Von: "Robert J. Hijmans" <r.hijmans at gmail.com>
An: Johannes Radinger <JRadinger at gmx.at>
Betreff: Re: kfold question
Johannes,
An error occurs when you request a kfold for a single observation. I
will fix that, but the request obviously makes no sense. It is
straightforward to count the number of observations by species with
something like
table(data$species)
Best,
Robert
On Fri, Jan 27, 2012 at 1:56 AM, Johannes Radinger <JRadinger at gmx.at>
wrote:
Dear Mr Hijmans,
I tried to use your package dismo's function: kfold() I want to
split my dataset into 5 parts by species.
Of course it is not possible to split records of a species with less
the 5 observation into 5 parts... That is the reason why I get a
warning message...
It'd be okay when these species are devided by their maximum number
of records (1,2,3,4).
But somehow I also get an error message. I think that might be
related to that. Of course it doesn't make sense to devide a species
with 1 record by 1. Is this the reason for the error message (sorry
it is in German) or is it just something totally different?
Fehler in rep(j, times = times[j]) : ung?ltiges 'times' Argument
Zus?tzlich: Warnmeldungen:
1: In kfold(occ.fish, k = 5, by = occ.fish$Species) :
lowered k for by group: N.Gesamt.Amerikanischer.Hundsfisch because
the number of observations was 4
2: In kfold(occ.fish, k = 5, by = occ.fish$Species) :
lowered k for by group: N.Gesamt.Flunder because the number of
observations was 3
3: In kfold(occ.fish, k = 5, by = occ.fish$Species) :
lowered k for by group: N.Juvenil.Flunder because the number of
observations was 1
...which would mean Error in rep(j, times = times[j]) : invalid
'times'
argument
How do you usually handle such datasets?Probably excluding these
species at all and subsetting the dataset (I have to think how to
do that in R).
best regards,
johannes
--
"Feel free" - 10 GB Mailbox, 100 FreeSMS/Monat ...
Jetzt GMX TopMail testen: http://www.gmx.net/de/go/topmail