Viac

Vynesenie distribúcie dvoch rôznych druhov v R?


Mám údaje o modelovaní distribúcie druhov dvoch rôznych druhov. Potrebujem vykresliť predpovedané distribúcie týchto dvoch druhov do rovnakého rastrového grafu, aby som dokázal nájsť oblasti, kde sa vyskytujú alopaticky (samostatne) a sympaticky (spoločne).

Ako nakreslím takú mapu v R?

Moje údaje sú bodovými údajmi použitými s iným prostredím pre model distribúcie druhov. Vykonal som modelovanie distribúcie a predpovedal rastrovú vrstvu pre tieto dva druhy v dvoch rôznych rastrových grafoch. Čo však chcem, je vykresliť dva rastre do rovnakého grafu, aby som mohol ukázať oblasti, kde sa tieto dva druhy vyskytujú spoločne (sympatie), kde sa vyskytujú odlišne (alopatria) a kde sa nevyskytujú vôbec.


Tu je fiktívny príklad toho, o čo vám ide.

# Vytvorte nejakú fiktívnu knižnicu dát (raster) (sp) p1 <-SpatialPolygons (zoznam (polygóny (zoznam (polygón (rbind (c (-180, -20), c (-140,55)), c (10, 0) ), c (-140, -60), c (-180, -20)))), 1))) p2 <-SpatialPolygons (list (Polygons (list (Polygon (rbind (c (-125,0)), c (0,60), c (40,5), c (15, -45), c (-125,0)))), 2))) p1 <-SpatialPolygonsDataFrame (p1, data = data.frame ( val = 1), match.ID = F) p2 <- SpatialPolygonsDataFrame (p2, data = data.frame (val = 2), match.ID = F) r <- raster (xmn = min (c (rozsah (p1)) [1], rozsah (p2) [1])), xmx = max (c (rozsah (p1) [2], rozsah (p2) [2])), ymn = min (c (rozsah (p1) [3) ], rozsah (p2) [3])), ymx = max (c (rozsah (p1) [4], rozsah (p2) [4]))) rp1 <- rastrovanie (p1, r) rp2 <- rastrovanie ( p2, r) # Pridajte hodnoty buniek a preklasifikujte rastre na [0,1], aby ste napodobnili distribúciu druhov rp1 [! is.na (rp1)] <- 1: dĺžka (rp1 [! is.na (rp1)]) rp1 [ rp1  0] <- 1 rp2 [! is.na (rp2)] <- 1: dĺžka (rp2 [! is.na (rp2)]) rp2 [rp2  0] <- 1 plot (rp1) plot (rp2, add = TRUE) # Pretína súčtom binárne rastre i <- rp1 + rp2 plot (i)