# Se seleccionan al azar cinco casas recientemente vendidas en
# tres distintas zonas residenciales (A, B y C) de cierta ciudad. El
# precio de venta (y) se compara con el valor catastral de la
# propiedad (x). Los datos, donde se dan el precio de venta y el
# valor catastral en miles de euros, se encuentran en el archivo
# casas.dat. Ajustar una ecuación de regresión lineal y determinar
# si las pendientes para las tres zonas residenciales son las
# mismas.

casas<-read.table("./datos/casas.dat",head=T)

#dibujamos los datos
colores<-c("red","green","blue")
plot(casas$x,casas$y,col=colores[as.factor(casas$zona)], pch=19, xlab="valor catastral", ylab="precio de venta")
legend("topleft", legend = levels(as.factor(casas$zona)), 
       col = colores, pch = 19, title = "Zona")

#ajustamos el modelo
ml1<-lm(y~x+zona+x:zona,data=casas) #res<-lm(y~x*zona)

#veamos cómo queda su matriz
model.matrix(ml1)

#analizamos el modelo
summary(ml1)
anova(ml1)
library(car)
linearHypothesis(ml1,c(0,0,0,0,1,-1))

#dibujamos las rectas ajustadas
abline(a=31.3724,b=.2325, col="red")
abline(a=31.3724-128.8064,b=.2325+2.4112, col="green")
abline(a=31.3724+1.8886,b=.2325+.6786,col="blue")

#gráficos de diagnóstico
par(mfrow=c(2,2))
plot(ml1)
par(mfrow=c(1,1))

#Se realizó un experimento para ver el rendimiento de la caña de azúcar (en toneladas por hectárea). 
#Para ello se utilizaron 4 fertilizantes, destinándose 12 parcelas a cada uno de ellos. 
#En cada parcela, además del rendimiento de la caña (Y) se hizo un recuento del número observado de tallos
#molederos (adultos). Se trata de examinar el efecto de los fertilizantes sobre el rendimiento de caña, descontando
#el efecto del número de tallos molederos.


azucar<-read.table("./datos/azucar.txt",head=T)


#dibujamos los datos
colores<-c("red","green","blue", "black")
plot(azucar$X,azucar$Y,col=colores[as.factor(azucar$fert)], 
     pch=19, xlab="talllos molederos", ylab="producción de azúcar")
legend("topright", legend = levels(as.factor(azucar$fert)), 
       col = colores, pch = 19, title = "Fertilizante")



#ajustamos el modelo con diferencias en las pendientes
m2<-lm(Y~X+fert+X:fert,data=azucar)
anova(m2)

#ajustamos el modelo con pendientes iguales para los 4 fertilizantes
m3<-lm(Y~X+fert,data=azucar)
anova(m3)
summary(m3)

library(car)
linearHypothesis(m3,c(0,0,1,-1,0))
linearHypothesis(m3,c(0,0,1,0,-1))
linearHypothesis(m3,c(0,0,0,1,-1))
