Définir la matrice de voisinage avec spdep

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Masha Pautrel
Messages : 13
Enregistré le : 01 Oct 2008, 10:08

Définir la matrice de voisinage avec spdep

Messagepar Masha Pautrel » 01 Oct 2008, 12:18

Bonjour,

j'utilise spdep pour les estimations spatiales. Avec le logiciel de sig MapInfo j'ai construit un tableau de distances entre toutes mes observations de type:


num1 num2 distance


ce tableau est en format dbf.

Comment puis-je le transformer en matrice de voisinage pour ensuite définir différentes matrices de pondérations spatiales?

Merci d'avance pour tous les conseils.

Logez Maxime
Messages : 3138
Enregistré le : 26 Sep 2006, 11:35

Messagepar Logez Maxime » 02 Oct 2008, 06:25

Bonjour,


J'espère que ceci t'aidera :

Code : Tout sélectionner

X <- data.frame(num1=rep(paste("x",1:4,sep=""),4:1),num2=paste("x",unlist(sapply(2:5,function(x) x:5)),sep=""),dist=abs(rnorm(10)))

X$num1 <- factor(X$num1,levels=paste("x",1:5,sep=""))
X$num2 <- factor(X$num2,levels=paste("x",1:5,sep=""))

head(X)
  num1 num2       dist
1   x1   x2 0.34040464
2   x1   x3 1.06313167
3   x1   x4 0.22707380
4   x1   x5 0.94352188
5   x2   x3 1.22964282
6   x2   x4 0.02880482

dists <- xtabs(dist~num1+num2,data=X)
dists[lower.tri(dists)] <- dists[upper.tri(dists)]


Maxime

Pierre Bady
Messages : 405
Enregistré le : 02 Mai 2006, 07:46

Messagepar Pierre Bady » 02 Oct 2008, 08:23

bonjour,

voici un documet très intéressant sur les analyses sous contraintes spatiales:
http://pbil.univ-lyon1.fr/R/pdf/stage8.pdf

on y trouve notamment des informations sur la construction des matrices de voisinage.

HTH


pierre
=@===--------¬-------¬------¬-----¬
liens utiles :
http://www.gnurou.org/Writing/SmartQuestionsFr
http://neogrifter.free.fr/welcomeOnInternet.jpg
]<((((*< -------------------------------

Masha Pautrel
Messages : 13
Enregistré le : 01 Oct 2008, 10:08

Messagepar Masha Pautrel » 02 Oct 2008, 09:11

Pierre Bady a écrit :bonjour,

voici un documet très intéressant sur les analyses sous contraintes spatiales:
http://pbil.univ-lyon1.fr/R/pdf/stage8.pdf

on y trouve notamment des informations sur la construction des matrices de voisinage.

HTH


pierre


Je connais ce document. Les auteurs utilisent des données existants qui sont déjà objets de classe nb. Je n'arrive pas à transformer mes données en classe nb.

Ce qui a proposé Maxime ne transforme pas non plus mes données en classe des données spatiales.

C'est ça mon problème :(

Masha

Nicolas Péru
Messages : 1408
Enregistré le : 07 Aoû 2006, 08:13

Messagepar Nicolas Péru » 02 Oct 2008, 09:27

Bonjour,

Va voir la pages perso de Sébastien Ollier et utilise le lien qu'il donne pour télécharger sa thèse qui porte sur l'incorporation des contraintes spatiales dans l'analyse statistique. Il donne les commandes écrites pour R

http://www.ese.u-psud.fr/bases/upresa/p ... index.html

Masha Pautrel
Messages : 13
Enregistré le : 01 Oct 2008, 10:08

Messagepar Masha Pautrel » 02 Oct 2008, 09:33

Nicolas Péru a écrit :Bonjour,

Va voir la pages perso de Sébastien Ollier et utilise le lien qu'il donne pour télécharger sa thèse qui porte sur l'incorporation des contraintes spatiales dans l'analyse statistique. Il donne les commandes écrites pour R

http://www.ese.u-psud.fr/bases/upresa/p ... index.html


Merci! J'y vais!

Logez Maxime
Messages : 3138
Enregistré le : 26 Sep 2006, 11:35

Messagepar Logez Maxime » 02 Oct 2008, 09:48

Re,

Code : Tout sélectionner

require(ade4)

X <- data.frame(num1=rep(paste("x",1:4,sep=""),4:1),num2=paste("x",unlist(sapply(2:5,function(x) x:5)),sep=""),dist=abs(rnorm(10)))

X$num1 <- factor(X$num1,levels=paste("x",1:5,sep=""))
X$num2 <- factor(X$num2,levels=paste("x",1:5,sep=""))
X$dist[sample(1:10,4)] <- 0


dists <- xtabs(dist~num1+num2,data=X)
dists <- dists+t(dists)

neig.01 <- ifelse(dists>0,1,0)
ir.neig = neig(mat01=neig.01)
neig.nb = neig2nb(ir.neig)


Maxime

Masha Pautrel
Messages : 13
Enregistré le : 01 Oct 2008, 10:08

Messagepar Masha Pautrel » 02 Oct 2008, 10:26

Logez Maxime a écrit :Re,

Code : Tout sélectionner

require(ade4)

X <- data.frame(num1=rep(paste("x",1:4,sep=""),4:1),num2=paste("x",unlist(sapply(2:5,function(x) x:5)),sep=""),dist=abs(rnorm(10)))

X$num1 <- factor(X$num1,levels=paste("x",1:5,sep=""))
X$num2 <- factor(X$num2,levels=paste("x",1:5,sep=""))
X$dist[sample(1:10,4)] <- 0


dists <- xtabs(dist~num1+num2,data=X)
dists <- dists+t(dists)

neig.01 <- ifelse(dists>0,1,0)
ir.neig = neig(mat01=neig.01)
neig.nb = neig2nb(ir.neig)


Maxime


Merci beaucoup!!!!


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité