Wednesday, May 26th, 2010
La Lorenz curve y el Gini Index se usan mucho como indicadores de la concentración de la riqueza (miden el grado de concentración de la renta en un país). En la literatura pesquera ha sido utilizada unas pocas veces para ilustrar la concentración de la abundancia. Nosotros queremos utilizarlos para analizar la concentración del esfuerzo de pesca, lo que en principio no se ha hecho antes.
#PARA HACER CURVAS DE LORENZ E INDICES GINI:
#1. Hace falta tener cargado el package "ineq"
library(ineq)
Lorenz <- read.table(file = "C:\\R.gps\\Lorenz.txt",header = TRUE)
names(Lorenz)
summary(Lorenz)
#Loop que hizo Inés para hacer las curvas y estimar los indices de las 31 patches de erizo
#y guardar los primeros en un pdf (sin el loop tendría que hacer un código para cada uno de los 31 patches):
giniIndex <- NULL
pdf("GraficosLorentz.pdf", width=11.69, height=8.26)
op <- par(mfrow=c(3,7))
for(i in 1:31){
Mtemp <- subset(Lorenz,Mancha==as.character(i), select=4)#Columna4=n.celda
plot(Lc(Mtemp[,1]), main=paste("Mancha", i, sep=" "))
giniIndex[i] <- ineq(Mtemp[,1])
}
par(op)
dev.off()
#Para guardar los índices:
write(giniIndex,file="clipboard",ncolumns=1)
#o
write.csv(giniIndex,file="ginis.csv")
#Resultó mejor la 2º pq da los datos en una unica columna con el nº
#de patch asociado
##FIGURA DE LOS 3 PATCHES MÁS VISITADOS (7,15Y22):
M7<-subset(Lorenz,Mancha=="7")
M15<-subset(Lorenz,Mancha=="15")
M22<-subset(Lorenz,Mancha=="22")
Lc.7<-Lc(M7$n.celda)
Lc.15<-Lc(M15$n.celda)
Lc.22<-Lc(M22$n.celda)
plot(Lc.7,ylab="",xlab="",main="")
lines(Lc.15,lty="dashed")
lines(Lc.22,lty="dotted")
Tags: Gini Index, Loop, Lorenz curve, pdf
Posted in Uncategorized | No Comments »
Tuesday, May 25th, 2010
Los intervalos de confianza de la funcion predict nos han dado muchos quebraderos de cabeza!
El codigo calcula los intervalos de confianza de los fitted values de los predict !!
library(nlme)
fm1 <- lme(distance ~ age*Sex, random = ~ 1 + age | Subject, data = Orthodont)
plot(Orthodont)
newdat <- expand.grid(age=c(8,10,12,14), Sex=c("Male","Female"))
newdat$pred <- predict(fm1, newdat, level = 0)
Designmat <- model.matrix(eval(eval(fm1$call$fixed)[-2]), newdat[-3])
predvar <- diag(Designmat %*% fm1$varFix %*% t(Designmat))
newdat$SE <- sqrt(predvar)
newdat$SE2 <- sqrt(predvar+fm1$sigma^2)
library(ggplot2)
pd <- position_dodge(width=0.4)
ggplot(newdat,aes(x=age,y=pred,colour=Sex))+
geom_point(position=pd)+
geom_linerange(aes(ymin=pred-2*SE,ymax=pred+2*SE), position=pd)
## prediction intervals
ggplot(newdat,aes(x=age,y=pred,colour=Sex))+
geom_point(position=pd)+
geom_linerange(aes(ymin=pred-2*SE2,ymax=pred+2*SE2), position=pd)
Fuente: Wikidot
Tags: confidence, intervals, predict, predictions
Posted in Gráficos, Linear Mixed Models, Uncategorized | No Comments »
Friday, May 14th, 2010
Hay webs como http://rimmer.ngdc.noaa.gov/ que nos permiten extraer los datos de lat y long de la linea de costa de todo el mundo a escala 1:250000. Pudiendo seleccionar con zoom aquella que queremos con exactitud (para evitar archivos con muchos datos y dificiles de manejar). Se selecciona en formato Splus y nos da un archivo .dat que abrimos y guardamos en formato .txt.
Galicia<- read.table("Galicia.txt")
names(Galicia) <- c("Longitud","Latitud")
# Usando plot() la costa sale desproporcionada
plot(Galicia$Long, Galicia$Lat, type="l", xlab="Longitud",ylab="Latitud")
title(main="Galicia")
# Usar mejor "eqscplot()"
eqscplot(Galicia$Long,Galicia$Lat,type="l",xlab="Longitud",ylab="Latitud",tol=-0.10)
#tol premite ajustar los margenes para encajar el mapa
title(main="Galicia")
*Es necesario instalar y cargar el paquete MASS
DatosCoordenadas Galicia
Tags: mapa, Mass, plot
Posted in Gráficos | No Comments »