calcul.dist.cities {prevR} | R Documentation |
Cette fonction calcule la distance de chaque cluster à la ville la plus proche et recode le milieu de résidence selon l'appartenance ou non à une agglomération urbaine. Un cluster est considéré comme appartenant à une agglomération urbaine s'il est à la fois urbain et situé à une distance inférieure à dist
de la ville la plus proche.
calcul.dist.cities( clust, cities, dist = 15, type = "ask", lang = "en", var.cities = c("x", "y", "city.name"), var.clust = c("x", "y", "residence"), urban.code = "Urban", dist.func = "rdist.earth", miles = FALSE)
clust |
data.frame. Une observation par cluster. Typiquement le résultat de la fonction make.clust.dbf . |
cities |
data.frame. Une observation par ville. Typiquement le résultat de la fonction make.cities.csv . |
dist |
numeric. Distance en dessous de laquelle un cluster urbain est considéré comme appartenant à une agglomération urbaine. Il ne s'agit pas de la taille d'une ville mais d'un paramètre permettant de distinguer les clusters urbains d'une agglomération urbaine des autres clusters urbains. Voir les détails pour l'unité à utiliser. |
type |
character. Prend la valeur 'ask' ou 'all' . Voir les détails. |
lang |
character. Permet de choisir la langue des messages utilisateur. fr pour le français, en pour l'anglais. |
var.cities |
character vector. Liste spécifiant, dans l'ordre, le nom des variables de cities correspondant à la longitude, la latitude et le nom de chaque ville. |
var.clust |
character vector. Liste spécifiant, dans l'ordre, le nom des variables de clust correspondant à la longitude, la latitude et le milieu de résidence. Le milieu de résidence doit être de type factor ou character. |
urban.code |
character. Valeur texte spécifiant comment est codée la valeur urbain de la variable milieu de résidence dans clust . |
dist.func |
character. Valeur texte spécifiant le nom de la fonction utilisée pour calculer les distances. Utilisez rdist.earth si vous utilisez des coordonnées longitude/latitude en degrés décimaux. Utilisez rdist pour des distances euclidiennes. |
miles |
logical. TRUE ou FALSE . Variable transmise à rdist.earth si cette fonction est appelée. Calcul des distances en kilomètres si FALSE et en miles si TRUE . |
Si type = 'all'
, les distances de chaque cluster à l'ensemble des villes spécifiées dans cities
sont calculées, puis la ville la plus proche de chaque cluster est sélectionnée. Si type = 'ask'
, une fenêtre présentant l'ensemble des villes contenues dans cities
apparaîtra et vous serez invité à sélectioner les villes que vous souhaitez retenir pour la définition des agglomérations urbaines.
Si vous utilisez la fonction rdist
, dist
doit être exprimé dans la même unité que les coordonnées des clusters et des villes. Si vos coordonnées sont exprimées en degrés décimaux, utilisez la fonction rdist.earth
et précisez avec le paramètre miles
si vous souhaitez que les résultats soient exprimés en kilomètres ou en miles. dist
devra être exprimé en kilomètres ou en miles selon le cas.
La fonction renvoie clust
en lui ajoutant trois variables nommées dist.city, city.name et urban.area (voir les détails ci-dessous). Si clust
comporte déjà ces trois variables, les anciennes valeurs sont remplacées par les nouvelles valeurs calculées.
dist.city |
numeric. Distance à la ville la plus proche, exprimée avec la même unité que dist . |
city.name |
character. Nom de la ville la plus proche. |
urban.area |
factor with 2 levels : in urban area, outside urban area. Indique si le cluster appartient ou non à l'agglomération urbaine de city.name . Est considéré comme appartenant à une agglomération urbaine tout cluster à la fois urbain et situé à moins de dist de la ville considérée. |
Pour un pays de taille moyenne, 15 kilomètres est souvent un bon compromis pour dist
.
Pour le choix des agglomérations urbaines, voir le tutoriel de prevR (‘tutoriel.prevR.pdf’).
verif.urb
et infos.prev
pour obtenir des statistiques sur les fichiers de données.
map.clust
et map.cities
pour réaliser des cartes.
## Chargement des données data(alicante) ## Carte des villes de plus de 100.000 habitants map.cities(alicante.cities, alicante.bounds, min.population=100000, new.window=FALSE, main='Main cities of Alicante') ## Carte des clusters par milieu de résidence x11() map.clust(alicante.clust, alicante.bounds, type='urb', new.window=FALSE, main='Clusters by type of residence') ## Sélection des villes de plus de 100.000 habitants main.cities <- alicante.cities[alicante.cities$population > 100000, ] ## Calcul des distances à la ville de plus de 100.000 habitants ## la plus proche et vérification des résulats alicante.clust <- calcul.dist.cities(alicante.clust, main.cities, type='all', dist=25) verif.urb(alicante.clust) ## Sélection des villes de plus de 250.000 habitants main.cities <- alicante.cities[alicante.cities$population > 250000, ] ## Calcul des distances à la ville de plus de 250.000 habitants ## la plus proche et vérification des résulats alicante.clust <- calcul.dist.cities(alicante.clust, main.cities, type='all', dist=25) verif.urb(alicante.clust) infos.prev(alicante.clust) ## Carte des clusters selon leur appartenance à une agglomération urbaine x11() map.clust(alicante.clust, alicante.bounds, type='urb', new.window=FALSE, var.urb='urban.area', inverse=TRUE, main='Clusters in urban agglomeration')