# Dati tratti da: #http://openmv.net/info/cheddar-cheese #Cheddar cheese #Description: Concentrations of acetic acid, H2S, and lactic acid in 30 samples of mature cheddar #cheese. A subjective taste value is also provided. #################################################################################################### originale<-read.csv("cheddar-cheese.csv",header=T,sep=",") head(originale) #Genero un predittore aggiuntivo, collineare a "Lactic" (a titolo esemplificativo) set.seed(7) MolFake<-originale$Lactic+(runif(n,min=0.1,max=0.3)) originale2<-data.frame(originale,MolFake=MolFake) #------------------------------------------------------------------------------------- # Analisi esplorativa del dataset summary(originale2) plot(originale2[,-1]) # Tolgo la prima colonna che indica solo il numero di campione # Valutazione correlazioni tra predittori COR<-cor(originale2[,c(2,3,4,6)])# La colonna 5 contiene la variabile Y (Taste) round(COR,digit=1) library(corrplot) corrplot(COR) #------------------------------------------------------------------------------------- # Regressioni bivariate Y vs predittore Model1<-lm(Taste~Acetic,data=originale2) summary.lm(Model1) Model2<-lm(Taste~H2S,data=originale2) summary.lm(Model2) Model3<-lm(Taste~Lactic,data=originale2) summary.lm(Model3) Model4<-lm(Taste~MolFake,data=originale2) summary.lm(Model4) #------------------------------------------------------------------------------------- # Regressioni multilineari Model5<-lm(Taste~.,data=originale2)#il punto indica di usare tutti i predittori summary.lm(Model5) library(car) vif(Model5) # Scelgo solo uno dei predittori multicollineari (Model6 ha MolFake, Model7 ha Lactic) Model6<-lm(Taste~Acetic+H2S+Lactic,data=originale2) summary.lm(Model6) vif(Model6) Model7<-lm(Taste~Acetic+H2S+MolFake,data=originale2) summary.lm(Model7) vif(Model7) # Regressioni multilineari con 2 predittori Model8<-lm(Taste~H2S+Lactic,data=originale2) summary.lm(Model8) vif(Model8) #----- # Provare un altro modello con 2 predittori (a piacere) Model9<-lm(Taste~ ,data=originale2) summary.lm(Model9) vif(Model9)