Archivo de la etiqueta: Animaciones

El #brexit con #rstats o como mover spatial data con R

bye_england

Animación con R para ilustrar el uso de la función de maptools elide de código "insultantemente" sencillo:

library(maptools)
library(animation)

#Mapa descargado de:
#http://www.arcgis.com/home/item.html?id=6d611f8d87d54227b494d4c3becef6a0

ub_shp = "/Users/raulvaquerizo/Desktop/R/mapas/world/MyEurope.shp"
europa = readShapeSpatial(ub_shp)
plot(europa)

europa_sin_uk = europa[europa$FIPS_CNTRY != "UK",]
uk = europa[europa$FIPS_CNTRY == "UK",]

saveGIF(
for (i in seq(0,5,by=0.1)){
plot(europa_sin_uk)
uk = elide(uk,shift=c(-i,1))
plot(uk,add=TRUE)},
interval=.3,
movie.name="/Users/raulvaquerizo/Desktop/R/animaciones/brexit/bye_england.gif"
)

Nos descargamos el mapa del link que os pongo y poco más que leer el shape con readShapeSpatial y crear dos objetos uno con Europa sin la isla y otro con la isla, elide nos permite desplazar un objeto de spatial data dentro del gráfico y lo metemos en un bucle y bye England. Ahora el que me mueva las Canarias en un shape file con más de 2 líneas de código me paga una cervecita. Saludos.

Valor atípico o pocos registros. Animación con R

outlier¿Cómo influye un solo punto en una recta de regresión? Evidentemente cuanto menos observaciones tengo más puede "descolocar" la recta de regresión. Sin embargo, cuantos más puntos tengo más complicado es encontrar ese punto con una recta de regresión, sin analizar los residuos podríamos hasta pasarlo por alto, aunque puede ser que nos interese ese punto. El código de R que genera la animación es:

library(animation)
saveGIF(
  for (i in c(100,50,25,10,5,1)){
    x <- seq(-500,500, by = i )
    y=sin(x)+x/100
    y[10]=y[10]+10
    plot (y,x,main=paste("Regresión lineal con ",1000/i," observaciones"))
    reg <- lm(y~x)
    points( fitted.values(reg),x, type="l", col="red", lwd=2)},
  interval = .85, ,movie.name="/Users/raulvaquerizo/Desktop/R/animaciones/outlier.gif")