Histogrammile teoreetilise jaotuse tihedusfunktsiooni lisamine(Näiteks histogrammile normaaljaotuse tihedusfunktsiooni lisamine)x=rnorm(60) hist(x, probability=TRUE, xlim=c(-4,4), ylim=c(0,0.4), main="Tihedusfunktsioon ja histogramm", ylab="tihedus", col="gold", border="darkgoldenrod2") # Hindame keskmise ja standardhälbe abil normaaljaotuse parameetrid xkeskmine=mean(x) xshalve=sd(x) # Kasutame normaaljaotuse tihedusfunktsiooni dnorm abi: xabi=seq(-4,4,0.1) y=dnorm(xabi, mean=xkeskmine, sd=xshalve) # Lisame tihedusfunktsiooni graafiku: lines(xabi,y, lwd=3, col="darkgoldenrod3")NB! märka probability=TRUE lisaparameetrit histogrammi joonistamisel! |
|
| |
Tihedusfunktsiooni hinnang ja histogrammx=runif(60) hist(x, probability=TRUE, xlim=c(-0.5,1.5), ylim=c(0,1.5), main="Hinnatud tihedusfunktsioon", ylab="tihedus", col="gold", border="darkgoldenrod2") lines(density(x), lwd=3, col="darkgoldenrod3") |
|
| |
Regressioonijoon andmete usaldatavuse piirkonnas teistsugune kui mujal# Algandmete genereerimine x=runif(60)*2 y=2+3*x+rnorm(60) plot(x,y, col="gray80", xlim=c(-1,3), ylim=c(-5,15)) m1=lm(y~x) xuus=seq(0,2,0.01) yuus=predict(m1, data.frame(x=xuus)) lines(xuus, yuus, lwd=2) xuus=seq(-3,5,0.01) yuus=predict(m1, data.frame(x=xuus)) lines(xuus, yuus, lty=2, lwd=2) |
|
| |
Siluja lisamine hajuvusgraafikule# Algandmete genereerimine x=runif(200)*2 y=2+3*x+4*sin(2*x)+1.5*sqrt(x)+rnorm(200) plot(x,y, col="gray75", xlim=c(0,2), ylim=c(0,15), main="Siluja") # Esimene siluja lines(lowess(x,y)) # Veidi tundlikum joon (mida väiksem f-väärtus, # seda hüplikum on siluja joon) lines(lowess(x,y, f=0.25), lty=2) # Teisel tööpõhimõttel töötav siluja lines(ksmooth(x,y), col="orange")NB! Silumine on keeruline kunst, seda täielikult vallata on võimatu! R-is on ka palju teisi võimalusi juhuslikkust seose kirjeldusest "välja siluda"! Kaalu näiteks ka funktsioone lm, glm, loess.smooth, ksmooth, smooth.spline, ... . |
|
| |
Tõenäosuspaberile (QQ-plot) abijoone lisamine# Algandmete genereerimine x=rnorm(100) # Tõenäosuspaberi joonistamine: # normaaljaotuse korral peaksid punktid # asetsema enam-vähem joonise diagonaali # läbival joonel qqnorm(x, xlab="teoreetilised kvantiilid", ylab="valimikvantiilid", main="Tõenäosuspaber (QQ-plot)") # lisame joonise diagonaali läbiva abijoone: qqline(x, lwd=2) |
|
NB! Kui soovitakse kontrollida, kas vaatlused võiksid olla pärit
mõnest muust teoreetilisest jaotusest (näiteks t-jaotusest, df=2),
saab graafiku joonistamisel kasutada järgmist programmi:
x=rnorm(100) qqplot(qt(ppoints(length(x)), df=2), x) qqline(x)Teiste jaotuste puhul võib kasutada vastavaid kvantiilifunktsioone: qt, qchisq, qnorm, qunif, .... . Kui soovitakse võrrelda, kas kahe valimi jaotus võiks olla sama, saab seda teha näiteks järgmise programmi abil: x1=rnorm(100) x2=rt(120, df=3) qqplot(x1, x2) qqline(x1) |