En el paquete HistData para R ( https://r-forge.r-project.org/R/?group_id=574 ) tengo los conjuntos de datos relacionados con el mapa de John Snow del brote de cólera en Londres, 1854. Creo que tienen autoridad y han sido digitalizados cuidadosamente bajo la supervisión de Walter Tobler. John Mackenzie describe algunos detalles de estos conjuntos de datos en http://www1.udel.edu/johnmack/frec480/cholera/cholera2.html .
Desafortunadamente, las coordenadas de muertes, bombas y calles usan un sistema de coordenadas arbitrario, no coordenadas de mapas adecuadas para otras aplicaciones SIG o software de mapeo en R (paquetes espaciales, ggmap, etc.)
En http://freakonometrics.hypotheses.org/19213 Arthur Charpentier usa ggmap con una versión de los datos de John Snow de
http://www.rtwilson.com/downloads/SnowGIS_v2.zip . El Cholera_Deaths.shp
archivo, sin embargo enumera sólo 489 muertes, y no el 578 He grabado en HistData::Snow.deaths
.
Una idea es encontrar las relaciones entre las medias y las desviaciones estándar de las coordenadas (x, y) y reescalarlas linealmente, pero ¿tal vez hay una mejor manera?
Esto es lo que he probado hasta ahora.
> data(Snow.deaths, package="HistData")
> D <- Snow.deaths[,2:3]
> colMeans(D)
x y
13.03312 11.69721
> var(D)
x y
x 3.8150987 0.3802654
y 0.3802654 2.7213828
Lea el archivo Cholera_deaths
> folder <- "C:/Dropbox/R/data/Snow/SnowGIS_v2/SnowGIS"
> library(maptools)
> deaths <- readShapePoints(file.path(folder, "Cholera_Deaths"))
> head(deaths@coords)
coords.x1 coords.x2
0 529308.7 181031.4
1 529312.2 181025.2
2 529314.4 181020.3
3 529317.4 181014.3
4 529320.7 181007.9
5 529336.7 181006.0
> # deaths has only 250 observations; 489 deaths
> sum(deaths@data$Count)
[1] 489
> # try to relate to Snow.deaths
> X <- deaths@coords
> colnames(X) <- c("x", "y")
>
> XX <- data.frame(X, Freq=deaths@data$Count)
> XX <- vcdExtra::expand.dft(XX)
>
> colMeans(XX)
x y
529414.8 181031.9
> var(XX)
x y
x 10813.816 1521.693
y 1521.693 6227.924
>
Bien, entonces trato de reescalar D
para tener los mismos medios y desviaciones estándar que XX
, pero algo no funciona correctamente aquí: los medios de columna de Dscaled
deberían haber resultado ser iguales a los de XX
:
> # scale D to have the same means and standard deviations as XX
> Dscaled <- scale(D, center=TRUE, scale=TRUE)
> Dscaled <- scale(Dscaled, center=colMeans(XX), scale=sqrt(diag(var(XX))))
> colMeans(Dscaled)
x y
-5091.040 -2293.947
>
EDITAR: Puede ser útil en este problema ver el mapa de Snow como dibujado por la nueva función, SnowMap(axis.labels=TRUE)
ahora en la versión de desarrollo de HistData
(rev 102) en R-Forge. Las etiquetas del eje muestran el origen del sistema de coordenadas en la esquina inferior izquierda tal como están en mis Snow.*
conjuntos de datos.
fuente
Snow.*
archivos a las de un mapa basado en SIG con las ubicaciones de dos bombas, o tres para verificar la precisión. Desafortunadamente, no hay etiquetas para las bombas en losSnowGIS
archivos, y no he visto un ejemplo de cómo trazarlas para poder compararlas visualmente.Respuestas:
Quizás evalúe el archivo shape de http://donboyes.com/2011/10/14/john-snow-and-serendipity que tiene 578 puntos.
No creo que tratar de relacionar las muertes de nieve de HistData con la versión de Robin Wilson (@robintw) funcione ya que el archivo de forma contiene una coordenada de un solo punto para múltiples muertes en una sola dirección, en lugar de los múltiples puntos apilados desde la calle en el mapear .
La versión de Robin definitivamente está perdiendo muchos puntos. De un vistazo rápido, se pierden bastantes muertes individuales. Otro problema está más cerca del centro del mapa, donde no coincidía correctamente con el borde cuando se unía (esto también es visible en el mapa de Wikipedia ) y esto oscurece varios puntos.
Extracto del mapa suministrado en la descarga :
Extracto de la versión de UCLA :
fuente
.shp
archivos es donboyes.com/download/snow_shp.zipPara completar la respuesta a esta pregunta, el siguiente código encuentra la transformación lineal de las coordenadas en los archivos originales de Tobler (en
HistData
) y los obtenidos por Don Boyes.Luego, correlacione y regrese D [, 1] en X [, 1] y D [, 2] en X [, 2]. La transformación lineal viene dada por los coeficientes de regresión.
fuente