density /diversity of points
Hi all, I read (just now) about the Simpson idex. This would probably be a good thing to try in my case. Do you have any ideas of how to create a diversity map using Simpson index? . I have just a few more questions about the code : The line below as I understand sets a table for each point with the type of points that are in the near in the radius R=350 units? mol.tab<- marktable(mol.ppp,R=350) And this line creates a surface(map) of diversity ? lansing.div.s <-smooth.ppp(lansing.div) I think this map that is created with smooth.ppp is to rough giving to little detail on the diversity. Would it be possible to use kriging to create diversity map? Thanks for the help, m -----Original Message----- From: marcelino.delacruz at upm.es [mailto:marcelino.delacruz at upm.es] Sent: Monday, May 16, 2011 9:59 AM To: Matev? Pavli? Cc: r-sig-geo at r-project.org Subject: RE: [R-sig-Geo] density /diversity of points Con fecha 15/5/2011, "Matev? Pavlič" <matevz.pavlic at gi-zrmk.si> escribi?:
Hi Marcelino, Was out of the office for a while... Thanks for the help. I think this could work...but can you tell me what this line does? diversity <- apply(mol.tab,1,function(x) sum(x>0))
mol.tab is a table with the number of occurrences of each type (columns) in the neighborhood of each point (rows). This line computes for each row (i.e. for each point) the number of types whose value is ">0" (i.e. types that are present in the neighborhood). This is a very simple definition of diversity (i.e. "richness"). From that table you could also compute Shannon or Simpson diversity indices, if you would prefer that. Marcelino
i cant figure out how diversity is calculated here? Thanks again for the help, matevz -----Original Message----- From: Marcelino de la Cruz [mailto:marcelino.delacruz at upm.es] Sent: Thursday, May 12, 2011 2:03 PM To: Matev?? Pavli?? Cc: r-sig-geo at r-project.org Subject: Re: [R-sig-Geo] density /diversity of points On 12/05/2011 13:12, Matev?? Pavli?? wrote:
Hi all, I have a point data set (SHP) with coordinates and a attribute (i.e. type of point). These points are scattered around a fairly big area. What i would like to do is to find a sub-area where density of points sombined with the diversity of type is the biggest. Does anyone have any idea iff this is somehowe possible to do in R? Any idea would be greatly aprpeciated,
To your first question:
library(fortunes)
fortune("Yoda")
;-)
More seriously, you could transform your shp data in a ppp object with spatstat. See the vignette in spatstat. Then you can use some functions there, for example (with the data set lansing):
library(spatstat)
data(lansing)
plot(lansing)
# get an estimate of point density
lansing.den <- density.ppp(lansing)
plot(lansing.den)
# get an estimate of point diversity (here, for the shake of brevity, at the points themselves)
lansing.tab<- marktable(lansing,R=0.05)
diversity <- apply(lansing.tab,1,function(x) sum(x>0)) lansing.div <- setmarks(lansing,diversity) lansing.div.s <-smooth.ppp(lansing.div)
plot(lansing.div.s)
# select areas with arbitrary high values of density and diversity plot(eval.im(lansing.div.s >4.5 & (lansing.den/max(lansing.den))>0.9))
HTH. Cheers,
Marcelino
--
_________________________________ Marcelino de la Cruz Rot Departamento de Biologia Vegetal E.U.T.I. Agricola Universidad Politecnica de Madrid 28040 Madrid Tel: 34913365654 _________________________________