Hello Mathieu, I cannot believe it!! I have tried adding the names, with less layers, and it didn't work either, so I guessed that was not the problem. I guess I have others problems too. But now it does work! I'm amazed. I'm sorry you lost so much time. I deeply thank you.
Yes. the second and third columns were the coordinates, I apologize, I thought I sent you a file with the coordinates only. And about falling into the water, they must do that! it's a marine species. Thank you very very much Mathieu, Consuelo ------------- 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 On Wed, Apr 28, 2010 at 5:11 AM, Mathieu Basille < basi...@biomserv.univ-lyon1.fr> wrote: > Wow, this one gave me a real hard time, especially considering how easy the > solution was. > > In brief, you have to specify names in the list, in the as.kasc function. > Otherwise, none of the layers have actually names, which induces a lot of > problems afterwards. > > The fix is quite easy then. I took also some the liberty to clean the code > at different places: > > library(adehabitat) > > chl <- import.asc("chl-box_qt.asc") > sst <- import.asc("sst-box_QT.asc") > dep <- import.asc("dep-box_QT.asc") > euph <- import.asc("euph-box_QT.asc") > OX0 <- import.asc("OX0-box_QT.asc") > OX200 <- import.asc("OX200-box_QT.asc") > OX50 <- import.asc("OX50-box_QT.asc") > P0 <- import.asc("P0-box_QT.asc") > P100 <- import.asc("P100-box_QT.asc") > P125 <- import.asc("P125-box_QT.asc") > P150 <- import.asc("P150-box_QT.asc") > P200 <- import.asc("P200-box_QT.asc") > pre <- import.asc("pre-box_QT.asc") > > # The problem was here: > env_maps <- as.kasc(list(chl = chl, sst = sst, dep = dep, euph = euph, OX0 > = OX0, OX200 = OX200, OX50 = OX50, P0 = P0, P100 = P100, P125 = P125, P150 = > P150, P200 = P200, pre = pre)) > > # You forgot to save the output of this, but in your case, that was not > # a problem > env_maps <- managNAkasc(env_maps) # just to check > > presence <- read.csv("presence5.csv") > # I assumed that the second and third columns give X-Y coordinates. But > # it is somehow weird since many of them fall in the water -- assuming > # it's islands and water > octopus.hab <- data2enfa(env_maps, presence[, 2:3]) > > > pca.octopus <- dudi.pca(octopus.hab$tab, scannf = FALSE) > > > Hope this helps, > > Cheers, > Mathieu. > > > Consuelo Hermosilla a écrit : > >> Dear Mathieu, >> >> >> Thanks for your quick reply!!! :) >> >> I thought that too, but then, why I'm able to plot the imported map? It >> makes no sense, I wouldn't be able to plot it if there was an error there, >> would I? >> >> This was my code: >> >> library(adehabitat) >> >> chl= import.asc("chl-box_qt.asc", type ="numeric") >> sst = import.asc("sst-box_QT.asc", type ="numeric") >> dep = import.asc("dep-box_QT.asc", type ="numeric") >> euph = import.asc("euph-box_QT.asc", type ="numeric") >> OX0 = import.asc("OX0-box_QT.asc", type ="numeric") >> OX200 = import.asc("OX200-box_QT.asc", type ="numeric") >> OX50 = import.asc("OX50-box_QT.asc", type ="numeric") >> P0 = import.asc("P0-box_QT.asc", type ="numeric") >> P100 = import.asc("P100-box_QT.asc", type ="numeric") >> P125 = import.asc("P125-box_QT.asc", type ="numeric") >> P150 = import.asc("P150-box_QT.asc", type ="numeric") >> P200 = import.asc("P200-box_QT.asc", type ="numeric") >> pre = import.asc("pre-box_QT.asc", type ="numeric") >> >> env_maps = as.kasc(list(chl, sst, dep, euph, OX0, OX200, OX50, P0, P100, >> P125, P150, P200, pre)) >> >> managNAkasc (env_maps) # just to check >> presence <- read.csv("presence.csv") >> octopus.hab <- data2enfa(env_maps, presence) >> pca.octopus <- dudi.pca(octopus.hab$tab, scannf=FALSE) >> >> Can I attach files? How do you want me to provide data? >> >> Consuelo >> >> ------------- >> 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 >> >> >> On Tue, Apr 27, 2010 at 11:31 PM, Mathieu Basille < >> basi...@biomserv.univ-lyon1.fr <mailto:basi...@biomserv.univ-lyon1.fr>> >> wrote: >> >> Dear Consuelo, >> >> I guess the error just propagates from the initial import, and has >> nothing to do with dudi.pca (which is by the way from the ade4 >> package -- not directly related to adehabitat). >> >> Your approach otherwise seems (quite) OK. Unfortunately, you didn't >> provide enough details to check. Could you provide the whole code, >> with possibly some data, so that we can reproduce the problem? >> >> Cheers, >> Mathieu. >> >> >> >> Consuelo Hermosilla a écrit : >> >> Hi folks, >> >> I'm trying to implement an ecological niche factor analysis with >> octopus but >> I have some problems. I think it is related to the fact I have >> No-data >> values. Since it's a marine species, I have land areas where I >> have no-data >> values. Can I have grids with no-data values? >> >> The thing is I'm able to import the ascii grid (using >> import.asc) and I'm >> even able to plot it (and see the image), so I guessed I have no >> problems >> with the no-data values. If I checked the grid, I got this: >> >> str(chl) >> asc [1:1214, 1:761] NA NA NA NA NA NA NA NA NA NA ... >> - attr(*, "xll")= num -18.6 >> - attr(*, "yll")= num 16.7 >> - attr(*, "cellsize")= num 0.05 >> - attr(*, "type")= chr "numeric" >> >> It looks wrong, but it's OK since my first values are indeed NA. >> In fact, >> besides the fact I'm able to plot it, I can calculate grid means >> and other >> stats, so I think the problem is not here. Then, when I grouped >> all the >> grids (with the as.kasc function), I got this: >> >> str(env_maps) >> Classes ?kasc? and 'data.frame': 923854 obs. of 13 >> variables: >> $ : num NA NA NA NA NA NA NA NA NA NA ... >> $ : num NA NA NA NA NA NA NA NA NA NA ... >> $ : num NA NA NA NA NA NA NA NA NA NA ... >> $ : num NA NA NA NA NA NA NA NA NA NA ... >> $ : num NA NA NA NA NA NA NA NA NA NA ... >> $ : num NA NA NA NA NA NA NA NA NA NA ... >> $ : num NA NA NA NA NA NA NA NA NA NA ... >> $ : num NA NA NA NA NA NA NA NA NA NA ... >> $ : num NA NA NA NA NA NA NA NA NA NA ... >> $ : num NA NA NA NA NA NA NA NA NA NA ... >> $ : num NA NA NA NA NA NA NA NA NA NA ... >> $ : num NA NA NA NA NA NA NA NA NA NA ... >> $ : num NA NA NA NA NA NA NA NA NA NA ... >> - attr(*, "cellsize")= num 0.05 >> - attr(*, "xll")= num -18.6 >> - attr(*, "yll")= num 16.7 >> - attr(*, "ncol")= int 1214 >> - attr(*, "nrow")= int 761 >> - attr(*, "type")= chr "numeric" "numeric" "numeric" "numeric" >> ... >> >> Still looks wrong, but it shouldn't be. Then, I proceed with the >> data2enfa >> function, that seemed to work. But in the next step, when I was >> calculating >> the dudi.pca, it failed, with this error: >> >> Error in `rownames<-`(`*tmp*`, value = c("1", "2", "3", "4", >> "5", "6", : >> attempt to set rownames on object with no dimensions >> >> I checked the data2enfa result and I got this: >> >> List of 4 >> $ tab :'data.frame': 923854 obs. of 0 variables >> $ pr : int [1:923854] 0 0 0 0 0 0 0 0 0 0 ... >> $ index: int [1:923854] 1 2 3 4 5 6 7 8 9 10 ... >> $ attr :Class 'mapattr' atomic [1:1] 0 >> .. ..- attr(*, "xll")= num -18.6 >> .. ..- attr(*, "yll")= num 16.7 >> .. ..- attr(*, "cellsize")= num 0.05 >> .. ..- attr(*, "nrow")= int 761 >> .. ..- attr(*, "ncol")= int 1214 >> - attr(*, "class")= chr "dataenfa" >> >> When I check the $tab, I got this: >> >> octopus.hab$tab >> data frame with 0 columns and 923854 rows* >> >> *And I have no idea of what's wrong.... any ideas? do you >> suggest anything? >> Why do I have 0 columns and 923854 rows? Is that possible? Can >> the data2enfa >> funcion deal with no-data values? >> >> I tried the magagNAkasc, but doesn't work... >> >> managNAkasc (env_maps) >> Raster map of class "kasc": >> Cell size: 0.05 >> Number of rows: 761 >> Number of columns: 1214 >> >> Variables measured: >> 1. : numeric >> Error in .subset2(x, i, exact = exact) : >> attempt to select less than one element >> >> I have tried in Windows Vista and Linux (both R 2.10.1 and >> adehabitat v >> 1.83. >> >> I'd appreciate any help!! >> >> Thanks!!! >> >> Consuelo >> >> [[alternative HTML version deleted]] >> >> _______________________________________________ >> R-sig-Geo mailing list >> R-sig-Geo@stat.math.ethz.ch <mailto:R-sig-Geo@stat.math.ethz.ch> >> >> https://stat.ethz.ch/mailman/listinfo/r-sig-geo >> >> >> -- >> ~$ 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. >> >> >> > -- > > ~$ 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. > [[alternative HTML version deleted]]
_______________________________________________ R-sig-Geo mailing list R-sig-Geo@stat.math.ethz.ch https://stat.ethz.ch/mailman/listinfo/r-sig-geo