Comandi R per la regressione lineare
Transcript
Comandi R per la regressione lineare
Comandi R per la regressione lineare #carico il file dati e uso i soliti comandi per vedere i dati, le variabili ed assegnare le variabili ai dati. Con le variabili continue i dati memorizzati da excel nel file csv devono presentarsi in colonne una accanto all’altra come segue, ovvero come sono stati inseriti all’inizio e non n colonne sovrapposte eta 50 54 67 56 55 49 51 statura 1.73 1.62 1.58 1.71 1.69 1.62 1.63 peso 93.2 86 80.2 99.2 92.4 87.8 91 glicemia 71 71 81 85 70 73 74 data_linregr<-read.csv2(file.choose(), header= TRUE, sep= ",", dec=".", na.strings=" ") head(data_linregr) colnames(data_linregr) attach(data_linregr) # scatter plot delle due variabili della regressione, qui variabileX e variabileY, nei dati veri bisogna mettere il nome delle due variabili che vedo con il comando colnames, esempio eta (variabileY) e statura (variabileX), guardo il grafico per capire la possibile relazione plot ( eta~ statura) #do il comando per la regressione lineare chiamando la regressione con un nome a piacere, ad esempio: fit fit= lm(eta~ statura) #ora richiedo i risultati della analisi di regressione summary(fit) ------------------------------------------------------------Call: lm(formula = eta ~ statura) Residuals: Min 1Q -20.4829 -4.6358 Median -0.8134 3Q 3.0336 Max 19.8766 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 110.35 28.59 3.860 0.0005 *** statura -33.47 17.76 -1.884 0.0683 . --Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 8.202 on 33 degrees of freedom Multiple R-squared: 0.09715, Adjusted R-squared: 0.06979 F-statistic: 3.551 on 1 and 33 DF, p-value: 0.06834 -------------------------------------------------------------------------# per chiarezza richiedo solo I coefficienti beta ( coefficiente angolare) e alfa (intercetta) coefficients(fit) -------------------------------(Intercept) 110.35451 statura -33.47091 ---------------------------------#richiedo i coefficienti con il loro rispettivo intervallo di confidenza del 95%, o diverso se lo specifico diverso es 0.90 per un 90%). L’intervallo CI di beta se non contiene zero indica una pendenza ( positiva o negativa) significativa, se lo contiene no. confint(fit, level=0.95) --------------------------------------------5 % 95 % (Intercept) 61.97031 158.738714 statura -63.53053 -3.411287 #in questo caso IC di beta contiene 0 quindi non significativa la pendenza #ora volendo posso rivedere lo scatterplot iniziale sovrimponendo la linea di regressione plot ( eta~ statura) abline(fit) #eseguo analisi grafiche relative alla bontà del modello di regressione applicato; il primo comando layout(matrix(1:4,2,2)) indica ad R di esporre 4 grafici uno accanto all’altro, il secondo riporta i grafici diagnostici della regressione. layout(matrix(1:4,2,2)) plot(fit) comandi R per la correlazione di r di Pearson e rho di Spearman sul file caricato come prima #comando per calcolare il coefficiente di correlazione r di Pearson e relativo valore di significatività cor.test(eta, statura) ------------------------------------------------------Pearson's product-moment correlation data: eta and statura t = -1.8844, df = 33, p-value = 0.06834 alternative hypothesis: true correlation is not equal to 0 95 percent confidence interval: -0.58425284 0.02405182 sample estimates: cor -0.311693 in questo caso r= -0.311 e il suo p-value=0.068 ovvero non significativo per alfa= 0.05 #comando per calcolare il coefficiente di correlazione rho di Spearman a ranghi e relativo valore di significatività cor.test(eta, statura, method="spearman") ------------------------------------------------------Spearman's rank correlation rho data: eta and statura S = 9264.358, p-value = 0.08259 alternative hypothesis: true rho is not equal to 0 sample estimates: rho -0.2975291 in questo caso rho= -0.297 ed il suo p value= 0.082 ovvero non significativo per alfa= 0.05 un sito con comandi ed info in maniera sintetica http://www.gardenersown.co.uk/education/lectures/r/index.htm