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