Skip to content

Instantly share code, notes, and snippets.

@RCura
Last active November 4, 2015 23:15
Show Gist options
  • Save RCura/1e207c5ad28e0051dbe0 to your computer and use it in GitHub Desktop.
Save RCura/1e207c5ad28e0051dbe0 to your computer and use it in GitHub Desktop.
correction du script d'Hélène
#distance 846 tours
distTow<-dist(TowSpdf@coords,method="euclidean")
matdistTow<-as.matrix(distTow)
matdistTow[matdistTow==0]<-NA
min(matdistTow,na.rm=TRUE)/1000
max(matdistTow,na.rm=TRUE)/1000
mean(matdistTow,na.rm=TRUE)/1000
dfdistTow<-as.data.frame(matdistTow)
dfdistTow$ID<-as.integer(row.names(dfdistTow))
dfdistTow<-merge(subset(TowSpdf@data, select = c(ID,DateTout,DateCl,usage)),
dfdistTow,by="ID")
rm(distTow,matdistTow)
######transfo en format long pour g?rer le temps
LdistTow<-melt(dfdistTow[,], id.vars=c("ID","DateTout","DateCl","usage"),
variable.name="IDj",value.name = "dist")
rm(dfdistTow)
unique(LdistTow$IDj)
LdistTow$IDj<-as.character(LdistTow$IDj)
LdistTow$ID<-as.character(LdistTow$ID)
dim(LdistTow)
Date<-subset(TowSpdf@data, select = c(ID,DateTout,DateCl,usage))
colnames(Date)<-c("IDj" ,"Datej","DateClj","usagej")
LdistTow<-merge(LdistTow,Date, by="IDj")
LdistTow<-cbind(LdistTow$ID,LdistTow$IDj,LdistTow[,3:9], stringsAsFactors = FALSE)
names(LdistTow)
names(LdistTow)<-c("ID","IDj","Date","DateCl","usage","dist","Datej","DateClj","usagej")
LdistTow250<-subset(LdistTow,LdistTow$dist<=250)
nrow(table(LdistTow250$IDj))
table(LdistTow250$DateCl,LdistTow250$DateClj)
test<-as.data.frame(unique(LdistTow250$ID))
LdistTow250P1<-subset(LdistTow250, LdistTow250$Date<2000 & LdistTow250$Datej<2000)
test<-LdistTow250[order(LdistTow250P1$dist),]
test<-as.data.frame(table(LdistTow250P1$IDj))
test2<-subset(LdistTow250P1,LdistTow250P1$ID=="100078")
##############traitement graphe
library(igraph)
G250P1<-graph.data.frame(LdistTow250P1)
#names<-as.data.frame(unlist(G250P1[[9]][3]))
deg250P1<-as.data.frame(degree(G250P1,mode="out")) ##ne prendre qu'entrée ou sortie
deg250P1$ID<-row.names(deg250P1)
names(deg250P1)<-cbind("NbOUT","ID")
CC250P1<-clusters(G250P1)
CC250P1Cl<-cbind(deg250P1,as.data.frame(unlist(CC250P1$membership)))
names(CC250P1Cl)<-c("nbVP1","ID","CCP1")
CC250P1Cl$CCP1<-as.character(CC250P1Cl$CCP1)
taille<-as.data.frame(table(CC250P1Cl$CCP1))
names(taille)<-c("CCP1","NbCCP1")
sum(taille$NbCCP1)
#taille<-as.data.frame(CC250P1$csize)
CC250P1Cl<-merge(CC250P1Cl, taille,by="CCP1")
#test
subset(CC250P1Cl,CC250P1Cl$ID=="1039686")
subset(CC250P1Cl,CC250P1Cl$ID=="110744")
subset(deg250P1,deg250P1=="136448")
LdistTow250<-merge(LdistTow250, CC250P1Cl,by="ID")
names(CC250P1Cl)<-c("nbVP1j","CCP1j","IDj","NbCCP1j")
LdistTow250<-merge(LdistTow250, CC250P1Cl,by="IDj")
#il y a un problème...
#distance 846 tours
distTow<-dist(TowSpdf@coords,method="euclidean")
matdistTow<-as.matrix(distTow)
matdistTow[matdistTow==0]<-NA
min(matdistTow,na.rm=TRUE)/1000
max(matdistTow,na.rm=TRUE)/1000
mean(matdistTow,na.rm=TRUE)/1000
dfdistTow<-as.data.frame(matdistTow)
dfdistTow$ID<-as.integer(row.names(dfdistTow))
dfdistTow<-merge(subset(TowSpdf@data, select = c(ID,DateTout,DateCl,usage)),
dfdistTow,by="ID")
rm(distTow,matdistTow)
######transfo en format long pour g?rer le temps
LdistTow<-melt(dfdistTow[,], id.vars=c("ID","DateTout","DateCl","usage"),
variable.name="IDj",value.name = "dist")
rm(dfdistTow)
unique(LdistTow$IDj)
LdistTow$IDj<-as.character(LdistTow$IDj)
LdistTow$ID<-as.character(LdistTow$ID)
dim(LdistTow)
Date<-subset(TowSpdf@data, select = c(ID,DateTout,DateCl,usage))
colnames(Date)<-c("IDj" ,"Datej","DateClj","usagej")
LdistTow<-merge(LdistTow,Date, by="IDj")
LdistTow<-cbind(LdistTow$ID,LdistTow$IDj,LdistTow[,3:9])
names(LdistTow)
names(LdistTow)<-c("ID","IDj","Date","DateCl","usage","dist","Datej","DateClj","usagej")
LdistTow$IDj<-as.character(LdistTow$IDj)
LdistTow$ID<-as.character(LdistTow$ID)
LdistTow250<-subset(LdistTow,LdistTow$dist<=250)
nrow(table(LdistTow250$IDj))
table(LdistTow250$DateCl,LdistTow250$DateClj)
test<-as.data.frame(unique(LdistTow250$ID))
LdistTow250P1<-subset(LdistTow250, LdistTow250$Date<2000 & LdistTow250$Datej<2000)
test<-LdistTow250[order(LdistTow250P1$dist),]
test<-as.data.frame(table(LdistTow250P1$IDj))
test2<-subset(LdistTow250P1,LdistTow250P1$ID=="100078")
##############traitement graphe
library(igraph)
G250P1<-graph.data.frame(LdistTow250P1)
#names<-as.data.frame(unlist(G250P1[[9]][3]))
deg250P1<-as.data.frame(degree(G250P1,mode="out")) ##ne prendre qu'entrée ou sortie
deg250P1$ID<-row.names(deg250P1)
names(deg250P1)<-cbind("NbOUT","ID")
CC250P1<-clusters(G250P1)
CC250P1Cl<-cbind(deg250P1,as.data.frame(unlist(CC250P1$membership)))
names(CC250P1Cl)<-c("nbVP1","ID","CCP1")
CC250P1Cl$CCP1<-as.character(CC250P1Cl$CCP1)
taille<-as.data.frame(table(CC250P1Cl$CCP1))
names(taille)<-c("CCP1","NbCCP1")
sum(taille$NbCCP1)
#taille<-as.data.frame(CC250P1$csize)
CC250P1Cl<-merge(CC250P1Cl, taille,by="CCP1")
#test
subset(CC250P1Cl,CC250P1Cl$ID=="1039686")
subset(CC250P1Cl,CC250P1Cl$ID=="110744")
subset(deg250P1,deg250P1=="136448")
LdistTow250<-merge(LdistTow250, CC250P1Cl,by="ID")
names(CC250P1Cl)<-c("nbVP1j","CCP1j","IDj","NbCCP1j")
LdistTow250<-merge(LdistTow250, CC250P1Cl,by="IDj")
#il y a un problème...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment