Fiche TD avec le logiciel ter4
21 pages
Français
Obtenez un accès à la bibliothèque pour le consulter en ligne
En savoir plus

Fiche TD avec le logiciel ter4

Obtenez un accès à la bibliothèque pour le consulter en ligne
En savoir plus
21 pages
Français

Description


  • fiche - matière potentielle : td avec le logiciel


Fiche TD avec le logiciel : ter4 ————— Une variable et une carte S. Dray, D. Chessel ————— La fiche regroupe quelques elements de base concernant l'analyse de base de l'analyse de donnees spatialisees.Elle s'appuie essentielle- ment sur l'utilisation des librairies ade4 et spdep. Table des matieres 1 Introduction 2 2 Cartographie 3 2.1 Interface SIG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2 Enregistrements surfaciques . . . . . . . . . . . . . . . . . . . . . 5 2.3 Enregistrements ponctuels . . . . . . . . . . . . . . . . . . . . . . 7 3 Voisinage spatiale 7 4 Ponderation de voisinage 15 5 Autocorrelation 17 5.1 Geary et Moran . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 5.2 Moran scatterplot et lag vector . . . . . . . . . . . . . . . . . . . 18 5.3 Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

  • pile elec88 de la librairie ade4

  • donnees surfaciques aux donnees ponctuelles

  • enregistrements surfaciques

  • loading required

  • geofla-dep-l2-sf

  • fiche td avec le logiciel

  • voisinage spatiale

  • dep


Sujets

Informations

Publié par
Nombre de lectures 25
Langue Français

Exrait

Fiche TD avec le logiciel :ter4
|||||
Une variable et une carte
S. Dray & D. Chessel
|||||
La che regroupe quelques elements de base concernant l’analyse de
donnees spatialisees. Elle s’appuie essentiellement sur l’utilisation
des paquets ade4 et spdep.
Table des matieres
1 Introduction 2
2 Voisinage spatiale 2
3 Ponderation de voisinage 9
4 Autocorrelation 11
4.1 Geary et Moran . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.2 Moran scatterplot et lag vector . . . . . . . . . . . . . . . . . . . 11
4.3 Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.4 Indicateurs locaux . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.5 Correlogramme . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5 Espace comme distances 17
6 Espace comme tableau 19
References 21
1S. Dray & D. Chessel
1 Introduction
Une grande partie des donnees acquises, en genetique, en ecologie ou en bio-
logie des populations est georeferencee. Pour chaque individu echantillonne, on
dispose d’une information spatiale sous la forme de coordonnees spatiales, en-
tite surfacique. La gestion et la representation cartographique de ces donnees
est evoquee dans http://pbil.univ-lyon1.fr/R/fichestd/ter5.pdf. L’ob-
jectif de cette che est de presenter les principaux outils permettant la mise
en evidence et la quanti cation de structures spatiales. Les principales mesures
d’autocorrelation et les test associes sont evoques.
2 Voisinage spatiale
En statistique spatiale, l’espace est de ni par une relation de voisinage, donc une
matrice qui a autant de lignes et de colonnes qu’il y a de points de mesures. Cette
matrice contient a la ligne i et a la colonne j la valeur 1 si les points i etj sont
voisins, 0 sinon. Dans ade4, les graphes sont de la classe neig mais la veritable
librairie de pour gerer les graphes de voisinage est spdep. On passe de l’un
a l’autre par neig2nb et nb2neig. Par exemple, deux unites surfaciques sont
voisines si elles ont une frontiere commune (poly2nb). Un des articles fondateurs
de ce domaine traite des comtes d’Irlande :
library(ade4)
data(irishdata)
names(irishdata)
[1] "area" "county.names" "xy" "tab" "contour"
[6] "link" "area.utm" "xy.utm" "link.utm" "tab.utm"
[11] "contour.utm"
area.plot(irishdata$area.utm)
library(spdep)
ir.neig <- neig(area = irishdata$area.utm)
ir.neig
Carlow .
Cavan ..
Clare ...
Cork ....
Donegal .....
Galway ..1...
Kerry ...
Kildare 1.......
Kilkenny 1........
Laoghis 1......11.
Logiciel R version 2.10.0 (2009-10-26) { ter4 { Page 2/21 { Compile le 2010-10-18
Maintenance : S. Penel, URL : http://pbil.univ-lyon1.fr/R/pdf/ter4.pdfS. Dray & D. Chessel
Leitrim .1..1......
Limerick ..11..1.....
Longford .1........1..
Louth ..............
Mayo .....1.........
Meath .1.....1.....1..
Monaghan .1...........1.1.
Offaly .....1.1.1.....1..
Roscommon .....1....1.1.1..1.
Sligo ..........1...1...1.
Tipperary ..11.1..11.1.....1...
Waterford ...1....1.......1.
Westmeath .1..........1..1.11....
Wexford 1.......1............1..
Wicklow 1......1...........1.
area.plot(irishdata$area.utm, graph = ir.neig)
ir.nb <- neig2nb(ir.neig)
ir.nb
Neighbour list object:
Number of regions: 25
Number of nonzero links: 108
Percentage nonzero weights: 17.28
Average number of links: 4.32
Les points sont les sommets du graphe, les paires de points sont les ar^etes du
graphe. On peut utiliser un graphe de voisinages pour exprimer la forme d’es-
paces particuliers comme les reseaux hydrographiques, les frontieres infranchis-
sables...
Dans le cas de donnees ponctuelles, il existe de nombreuses fa cons de de nir
le voisinage spatiale. Le pavage de Voronoi est a l’origine de plusieurs types de
voisinage [Jaromczyk and Toussaint, 1992].
data(mafragh)
library(tripack)
plot(mafragh$xy, asp = 1, pch = 20, cex = 2)
plot(voronoi.mosaic(mafragh$xy), add = T)
Logiciel R version 2.10.0 (2009-10-26) { ter4 { Page 3/21 { Compile le 2010-10-18
Maintenance : S. Penel, URL : http://pbil.univ-lyon1.fr/R/pdf/ter4.pdfS. Dray & D. Chessel
100 200 300 400
x
library(spdep)
maf1 <- tri2nb(mafragh$xy)
area.plot(mafragh$area, graph = nb2neig(maf1))
Apres manipulation :
area.plot(mafragh$area, graph = mafragh$neig)
Logiciel R version 2.10.0 (2009-10-26) { ter4 { Page 4/21 { Compile le 2010-10-18
Maintenance : S. Penel, URL : http://pbil.univ-lyon1.fr/R/pdf/ter4.pdf
lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
y
−50 0 50 100 150 200 250S. Dray & D. Chessel
w <- gabrielneigh(as.matrix(mafragh$xy))
s.label(mafragh$xy, neig = nb2neig(graph2nb(w)), clab = 0.75)
d = 100
97
96
95 93 90 89 9 3 2
1 5 77 74 71 26 92 91 8 7 94 81 72 29 6
75 67 4
83 82 73 33 78 25 30 66 69 60 86 27 36 37 38
68 65 84 32 35 85 70 34
87 79 59 28 17 64 61 63 18 20 10 19 88 76
80 57 56 16 62
31 11
12
24
58 55
22
13 15 53 23
54 21 14
44 43 40 39 41 42
45 50 52
46 48
51
49 47
Le graphe de Gabriel est un sous-graphe du graphe de Voronoi. Il est de ni par :
x et y sont voisins s’ils le sont au sens de la triangulation de Delaunay et si :
p
2 2d(x;y)min ( d (x;z) +d (y;z))z
Deux points sont connectes si aucun autre point ne se trouve a l’interieur du
cercle de diametre de ni par ces 2 points [Gabriel and Sokal, 1969].
De nition, references dans la documentation de gabrielneigh dans tripack.
gabrielneigh donne des objets de la classe graph (liste de couples de voisins
Logiciel R version 2.10.0 (2009-10-26) { ter4 { Page 5/21 { Compile le 2010-10-18
Maintenance : S. Penel, URL : http://pbil.univ-lyon1.fr/R/pdf/ter4.pdfS. Dray & D. Chessel
et coordonnees), graph2nb transforme les objets de la classe graph en objet de
la classe nb.
Le graphe des voisins relatifs est aussi disponible. Dans ce graphe, x et y
sont voisins s’ils le sont au sens de la triangulation de Delaunay et si :
d(x;y)min (max(d(x;z);d(y;z)))z
C’est un sous-graphe du precedent. Il est ici trop faible pour l’objectif.
w = relativeneigh(as.matrix(mafragh$xy))
s.label(mafragh$xy, neig = nb2neig(graph2nb(w)), clab = 0.75)
d = 100
97
96
95 89 93 90 3 2 9 1 5 77 74 71 91 26 92 7 81 72 8 94 29 6
75 67 4
83 82 78 73 33 66 25 30 69 60 86 27 36 37 38
68 65 32 84 35 85 70 34 59 28 87 79 64 17
61 63 10 18 19 20
88 76
80 57 16 62 56
31 11
12 24
58 55
22
13
53 15
23 54 21 14
40 44 43 39 42 41
45 50 52 46 48
51
49 47
Mais pour travailler sur des grilles :
par(mfrow = c(1, 2))
s.label(expand.grid(1:7, 1:7), neig = nb2neig(cell2nb(7, 7, type = "rook")))
s.labxpand.grid(1:7, 1:7), neig = nb2(cell2nb(7, 7, type = "queen")))
d = 2 d = 2
43 44 45 46 47 48 49 43 44 45 46 47 48 49
36 37 38 39 40 41 42 36 37 38 39 40 41 42
29 30 31 32 33 34 35 29 30 31 32 33 34 35
22 23 24 25 26 27 28 22 23 24 25 26 27 28
15 16 17 18 19 20 21 15 16 17 18 19 20 21
8 9 10 11 12 13 14 8 9 10 11 12 13 14
1 2 3 4 5 6 7 1 2 3 4 5 6 7
Logiciel R version 2.10.0 (2009-10-26) { ter4 { Page 6/21 { Compile le 2010-10-18
Maintenance : S. Penel, URL : http://pbil.univ-lyon1.fr/R/pdf/ter4.pdfS. Dray & D. Chessel
Pour les enregistrements surfaciques dans spdep :
data(eire)
maptools:::plot.polylist(eire.polys.utm)
s.label(eire.coords.utm[-6, ], add.plot = T, neig = ir.neig)
5
21 12 18
16 2
15
20 14
17
24
7
19 9
11 3 26
1 22
13 10
25
8
23
4
0 100 200 300
Tous les calculs sur graphes de voisinage utiliseront les structures de donnees
de spdep. Passer les graphes de voisinage (neig de ade4) aux graphes de voi-
sinage (nb de spdep) par neig2nb. Passer les chiers area (ade4) aux listes de
polygones (spdep) par area2poly.
Les representations graphiques sont equivalentes dans les deux librairies, mais
les concepts de poids de voisinage sont en oeuvre dans spdep.
On pourra aussi utiliser le voisinage par distance. Deux points sont voisins si et
seulement si leur distance est superieure a d1 et inferieure a d2 :
x <- cbind(runif(50), runif(50))
plot(x)
w <- dnearneigh(x, 0, 0.2)
s.label(as.data.frame(x), add.p = T, neig = nb2neig(w))
Logiciel R version 2.10.0 (2009-10-26) { ter4 { Page 7/21 { Compile le 2010-10-18
Maintenance : S. Penel, URL : http://pbil.univ-lyon1.fr/R/pdf/ter4.pdf
5800 5850 5900 5950 6000 6050 6100S. Dray & D. Chessel
1
17 3 39 50
19
5
6 25
34
22
38 46
33
16 24 26 47 31 13
28
42
44 37
4 11 23 18 14
45 32
41 10
2 35 48 12 30
20 29
21
43 49
8 9 15 36 7 27 40
0.0 0.2 0.4 0.6 0.8 1.0
x[,1]
ou encore le voisinage par plus proches voisins :
w <- knn2nb(knearneigh(x, 4))
plot(x)
s.label(as.data.frame(x), add.p = T, neig = nb2neig(w))
1
17 39 3
50
19
5
6 25
34
22
38 46
33
16 24 26 47 31 13
28
42
44 37
4 11 23 18 14
45 32 41
10
2 35 48 12 30
20 29
21
43 49
8 9 15 36 7 27 40
0.0 0.2 0.4 0.6 0.8 1.0
x[,1]
plot(mafragh$xy, asp = 1)
s.label(mafragh$xy, add.p = T, neig = nb2neig(knn2nb(knearneigh(as.matrix(mafragh$xy),
1))), clab = 0)
Logiciel R version 2.10.0 (2009-10-26) { ter4 { Page 8/21 { Compile le 2010-10-18
Maintenance : S. Penel, URL : http://pbil.univ-lyon1.fr/R/pdf/ter4.pdf
llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
x[,2] x[,2]
0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0

  • Accueil Accueil
  • Univers Univers
  • Ebooks Ebooks
  • Livres audio Livres audio
  • Presse Presse
  • BD BD
  • Documents Documents