U prethodnom delu smo kreirali dve promenljive i korišćenjem lm()
komande ocenili regresioni model, tretirajući jednu promenljivu zavisnom, a drugu nezavisnom. Ovde ih ponavljamo ponovo.
visina = c(176, 154, 138, 196, 132, 176, 181, 169, 150, 175)
težina = c(82, 49, 53, 112, 47, 69, 77, 71, 62, 78)
Sada ćemo naučiti kako dobiti korisnu dijagnostičku informaciju o regresionom modelu, a potom kako nacrtati reziduale na grafiku. Kao i ranije ocenimo regresioni model.
lm(visina ~ težina)
Pogledajmo sada nešto detaljnije ocenjenu regresiju. Prvo, sačuvajmo regresioni model kao objekat nazvan mod
, a potom koristeći summary()
komandu naučimo nešto više o ocenjenoj regresiji.
mod <- lm(visina ~ težina)
summary(mod)
Evo šta nam R daje.
R daje puno dijagnostičkih informacija o ocenjenoj regresiji. Najkorisnije od svih su sami koeficijenti, prilagođeni koeficijent determinacije, F-statistika i p-vrednost modela.
Sada ćemo korišćenjem predict()
komande u R kreirati vektor ocenjenih vrednosti.
regmodel <- predict(lm(visina ~ težina))
regmodel
Ovo su ocenjene vrednosti:
Ponovo grafički predstavimo podatke i regresionu liniju.
plot(težina, visina, pch = 16, cex = 1.3, col = "blue", main = "DIJAGRAM RASTURANJA: VISINA PREMA TEŽINI", xlab = "TEŽINA (kg)", ylab = "VISINA (cm)")
abline(lm(visina ~ težina))
Korišćenjem petlje u R i subskripta k
koji uzima vrednosti od 1 do broja podataka grafički ćemo predstaviti reziduale. Znamo da ima 10 podataka, ali ako neznamo broj podataka možemo ga naći korišćenjem length()
komande na promenljivoj visina
ili težina
.
Npoints <- length(visina)
npoints
Sada ćemo primeniti petlju i nacrtati reziduale (razlika između posmatranih vrednosti zavisne promenljive i odgovarajućih ocenjenih vrednosti) korišćenjem lines()
komande. Uočiti sintaksu korišćenu pri crtanju reziduala.
for (k in 1: npoints) lines(c(težina[k], težina[k]), c(visina[k], regmodel[k]))
Ovo je naš grafik koji uključuje i reziduale.
Ništa od ovoga nije bilo tako teško!
Sledećeg puta razmotrićemo neke naprednije aspekte regresionih modela i videti šta nam tu R nudi. Vidimo se kasnije!
David
Dodatak: Korišćeni R kodovi
# Kreirati dve promenljive. visina = c(176, 154, 138, 196, 132, 176, 181, 169, 150, 175) težina = c(82, 49, 53, 112, 47, 69, 77, 71, 62, 78) # Oceniti regresioni model. lm(visina ~ težina) # Sačuvati regresioni model kao objekat. mod <- lm(visina ~ težina) summary(mod) # Kreirati vektor ocenjenih vrednosti. regmodel <- predict(lm(visina ~ težina)) regmodel # Nacrtati podatke i regresionu liniju. plot(težina, visina, pch = 16, cex = 1.3, col = "blue", main = "DIJAGRAM RASTURANJA: VISINA PREMA TEŽINI", xlab = "TEŽINA (kg)", ylab = "VISINA (cm)") abline(lm(visina ~ težina)) # Naći broj podataka. npoints <- length(visina) npoints # Nacrtati reziduale. for (k in 1: npoints) lines(c(težina[k], težina[k]), c(visina[k], regmodel[k]))

Menadžer u New Zealand Institute of Sport i Direktor Sigma Statistics and Research Ltd. Autor knige: R Graph Essentials.