Documente Academic
Documente Profesional
Documente Cultură
Proiect Introducere în R
1
Cuprins
FootHead.........................................................................................................................................................2
1. Introducere..................................................................................................................................................2
Importanța temei.........................................................................................................................................2
Obiectivele studiului...................................................................................................................................3
2. Prezentarea bazei de date............................................................................................................................3
3. Analiza grafică și numerică a variabilelor analizate...................................................................................9
3.1. Analiza descriptivă a variabilelor numerice și nenumerice (tabele de frecvență)..............................10
3.2. Analiza grafica a variabilelor numerice si nenumerice......................................................................14
3.3. Identificarea outlierilor si eliminarea acestora din baza (sau inlocuirea lor cu valori lipsa).............14
4. Analiza statistica a variabilelor categoriale...............................................................................................21
4.1. Tabelarea datelor................................................................................................................................21
4.2. Analiza de asociere.............................................................................................................................21
4.3. Analiza de concordanță......................................................................................................................22
5. Analiza de regresie si corelatie..................................................................................................................23
5.1. Analiza de corelatie............................................................................................................................23
5.2. Analiza de regresie.............................................................................................................................25
5.2.2. Regresia neliniara (model parabolic, logaritmic)............................................................................27
5.2.3. Compararea a doua modele de regresie si alegerea celui mai bun model......................................28
6. Estimarea si testarea mediilor..................................................................................................................29
6.1. Estimarea mediei prin interval de incredere......................................................................................29
6.2. Testarea mediilor populației...............................................................................................................30
7. Concluzii...................................................................................................................................................33
FootHead
1. Introducere
Importanța temei
Obiectivul acestui proiect este de a efectua o analiză detaliată a setului de date FootHead
(disponibil la https://vincentarelbundock.github.io/Rdatasets/datasets.html), utilizând diverse tehnici
statistice și metode de analiză. Prin intermediul analizei de regresie, analizei de corelație și a altor
metode statistice, dorim să înțelegem relațiile dintre variabilele din setul de date și să tragem concluzii
relevante.
Obiectivele studiului
width
un vector numeric: lățimea capului la dimensiunea cea mai mare
circum
un vector numeric: circumferința capului
front.back
un vector numeric: distanța dintre față și spate la nivelul ochilor
eye.top
un vector numeric: distanța dintre ochi și vârful capului
ear.top
un vector numeric: de la ureche la vârful capului
jaw
un vector numeric: lățimea maxilarului
Pentru a putea începe cercetarea propriu zisă, a fost nevoie de operațiuni preliminare și de
transformare a variabilelor aflate din baza de date. În urma modificărilor asupra bazei de date, s-a utilizat
analiza grafică și numerică a variabilelor analizate. Aceasta fiind urmată de analiza statistică a variabilelor
categoriale. Ultimele metode au fost analiza de regresie și corelație, respectiv estimarea și testarea
mediilor.
*Sursa: R Studio
#Cod utilizat
proiectR$jaw_category <- cut(proiectR$jaw, breaks= c(0, 11.9, 12, 1000), labels=c('Small jaw', 'Medium
jaw', 'Big jaw'), include.lowest=TRUE)
În acest exemplu, am adăugat două intervale în jurul valorii exacte 12 (11.9 la 12 și 12 la 1000) și
am ajustat etichetele pentru a include toate cele trei categorii dorite ("Small jaw", "Medium jaw", "Big
jaw"). Funcția cut() permite împărțirea unei variabile numerice în intervale și atribuirea de etichete
corespunzătoare acestor intervale.
Apoi, pentru a curăța în continuare datele am realizat două selecții(pentru valoarea width mai
mare sau egală cu 14 și valoarea eye.top mai mare egal cu 8) și am eliminat prima coloană cu rownames.
De asemenea, am asigurat trecerea variabilelor group și jaw_category în factori.
În urma acestei selecții a rezultat o nouă bază de date, conținând doar 88 de observații din baza de
date inițială.
Baza a fost exportată pentru a putea fi utilizată în realizarea cercetării.
#Cod utilizat
Rezultatele obținute în urma operațiunilor preliminare au fost salvate într-o bază de date.
#Cod utilizat
În continuare vom descrie noua bază de date cu ajutorul funcțiilor specifice programului R Studio.
Conform figurii , baza de date “ proiectSelectieFinala” conține 88 de observații și 8 variabile. În urma aplicării
funcției “names”, am obținut lista numelor variabilelor din setul de date. Prin str() este realizată accesarea
structurii bazei de date
#Cod utilizat
print(summary(proiectSelectieFinala))
*Sursa:R Studio
#Variabila “width”
Interpretări:
Media= 15.43.
Valoarea medie a variabilei width este egala cu 15.43.
Mediana= 15.50.
50% dintre subiecți au width de până la 15.50, iar restul de 50% au peste 15.50.
Quartila 1 = 15.07.
25 % din subiecți au valoarea width până la 15.07 și 75 % au mai mult de 15.07.
Quartila 3 = 15.70.
75 % din subiecți au valoarea width până la 15.70 și 25% au mai mult de 15.70.
#Variabila “circum”
Interpretări:
Media= 58.06.
Valoarea medie a variabilei circum este egala cu 58.06.
Mediana= 57.65.
50% dintre subiecți au circum de până la 57.65, iar restul de 50% au peste 57.65.
Quartila 1 = 56.90.
25 % din subiecți au valoarea circum până la 56.90 și 75 % au mai mult de 56.90.
Quartila 3 = 59.23.
75 % din subiecți au valoarea circum până la 59.23 și 25% au mai mult de 59.23.
#Variabila “jaw”
Interpretări:
Media= 12.02.
Valoarea medie a variabilei jaw este egala cu 12.02.
Mediana= 12.
50% dintre subiecți au jaw de până la 12, iar restul de 50% au peste 12.
Quartila 1 = 11.5.
25 % din subiecți au valoarea jaw până la 11.5 și 75 % au mai mult de 11.5.
Quartila 3 = 12.5.
75 % din subiecți au valoarea jaw până la 12.5 și 25% au mai mult de 12.5.
Secțiunea aceasta indică că ambele variabile, 'group' și 'jaw_category', sunt de tip caracter și au aceeași
lungime, adică 88 de observații.
#Cod utilizat
tapply(proiectSelectieFinala$width,proiectSelectieFinala$group,mean)
tapply(proiectSelectieFinala$width,proiectSelectieFinala$jaw_category, mean)
*Sursa: R Studio
În medie, pentru subiecții a căror grup se încadrează în categoria “Highschool” width este de
15.25862. La polul opus se află categoria “Non-football” cu width de 15.60345. De asemenea, în
medie, pentru subiecții a căror tip de falcă se încadrează în categoria “Medium jaw” width este de
15.15385. La polul opus se află categoria “Big jaw” cu width de 15.7.
Funcția describeBy() din pachetul psych poate fi utilizată pentru a realiza analiza descriptivă pe
grupuri. Această funcție furnizează statistici descriptivelor separate pentru fiecare grup definit de o
variabilă de grup.
Acest cod va genera statistici descriptivelor pentru variabila numerică circum pe grupurile
definite de variabilele categorice 'group' și 'jaw_category'.
1. Big jaw:
- Numărul de observații (n): 38 pentru grupul cu maxilar mare ('Big jaw').
- Media ('mean'): 58.96, cu o deviație standard ('sd') de 2.02.
- Mediana ('median'): 59.1, indicând că jumătate dintre valorile din grup sunt sub 59.1 și jumătate
sunt peste.
- Intervalul ('range'): 8, de la 55.5 la 63.5 .
- Asimetrie ('skew'): 0.44, indicând o ușoară asimetrie pozitivă.
- Curtosis ('kurtosis'): -0.57, indicând o coadă mai subțire comparativ cu o distribuție normală.
2. Medium jaw:
- Numărul de observații (n): 13 pentru grupul cu maxilar mediu ('Medium jaw').
- Media ('mean'): 58.04, cu deviația standard ('sd') 1.79.
- Mediana ('median'): 57.2.
- Intervalul ('range'): 6.35, de la 55.88 la 62.23.
- Asimetrie ('skew'): 1.06 asimetrie pozitivă.
- Curtosis ('kurtosis'): 0.07 indicând o coadă mai grea comparativ cu o distribuție normală.
3. Small jaw:
- Numărul de observații (n): 37 pentru grupul cu maxilar mic ('Small jaw').
- Media ('mean'): 57.13, cu o deviație standard ('sd') de 1.28.
- Mediana ('median'): 57.15.
- Intervalul ('range'): 5, de la 54.8 la 59.8.
- Asimetrie ('skew'): -0.03, indicând o ușoară asimetrie negativă.
- Curtosis ('kurtosis'): -0.64, indicând o coadă mai subțire comparativ cu o distribuție normală.
#Cod utilizat
table(proiectSelectieFinala$group)
table(proiectSelectieFinala$jaw_category)
Tabel de frecvență
*Sursa: R Studio
După cum putem observa din figură, variabila group are cele mai multe observații în categoria
College, iar cele mai puține observații se regăsesc în categoriile High school și Non-football.
Cea dea doua variabilă nenumerică, prezintă categoria Big jaw cu cel mai mare număr de
observații (38), fiind urmată în de aproape de categoria Small jaw cu un număr de 37 de observații, iar
categoria cu cel mai mic număr de observații este Medium jaw (13 observații).
3.2. Analiza grafica a variabilelor numerice si nenumerice
3.2.1 Histograma
#Cod utilizat
hist(proiectSelectieFinala$width,breaks = 20)
hist(proiectSelectieFinala$circum,breaks = 20)
hist(proiectSelectieFinala$jaw,breaks = 20)
*Sursa: R Studio
După cum observăm în histograma de mai sus avem distribuție asimetrică la stânga deoarece:
Media=15.43
Mediana=15.50, de aici rezultă că mediana este mai mare decât media, prin urmare cum am precizat și
mai sus este prezentă asimetria la stânga.
Histograma pentru variabila “circum”
*Sursa: R Studio
După cum observăm în histograma de mai sus avem distribuție asimetrică la dreapta deoarece:
Media=58.06
Mediana= 57.65, de aici rezultă că media este mai mare decât mediana, prin urmare cum am precizat și
mai sus este prezentă asimetria la dreapta.
Histograma pentru variabila “jaw”
*Sursa: R Studio
După cum observăm în histograma de mai sus avem distribuție asimetrică la dreapta deoarece: Media=12.02.
Mediana= 12, de aici rezultă că media este mai mare decât mediana, prin urmare cum am precizat și mai sus este
prezentă asimetria la dreapta.
3.2.2 Boxplot
#Cod utilizat
boxplot(proiectSelectieFinala$front.back)
boxplot(proiectSelectieFinala$eye.top)
boxplot(proiectSelectieFinala$ear.top)
Box plot pentru variabila „front.back”
*Sursa: R Studio
*Sursa: R Studio
*Sursa: R Studio
Variabila „ear.top” prezintă puncte extreme(16.5 și 11.1), iar eliminarea acestora a fost efectuată
după cum urmează:
#Cod utilizat
boxplot(proiectSelectieFinala$ear.top)$out
proiectSelectieFinala<-subset(proiectSelectieFinala, ear.top>11.1 & ear.top<16.5)
boxplot(proiectSelectieFinala$ear.top)
*Sursa: R Studio
Operația de înlaturare a outlierilor a fost realizată și pentru celelalte variabile prin codul:
Aceste valori vor fi scoase din dataframe ulterior (și coloanele lor aferente), ultima linie de cod din
imaginea de mai sus restabilind ordinea indecșilor.
3.2.3 Barplot
#Cod utilizat
barplot(table(proiectSelectieFinala$group,proiectSelectieFinala$jaw_category),legend.text=T)
*Sursa: R Studio
Pentru categoria „Medium jaw” se poate observa că numărul cel mai scăzut al observațiilor se
află în categoria “Non-football”.
3.2.4 Plot
#Cod utilizat
plot(proiectSelectieFinala$width,proiectSelectieFinala$circum)
plot(proiectSelectieFinala$width,proiectSelectieFinala$jaw)
Plot între variabilele width și circum
*Sursa: R Studio
*Sursa: R Studio
Graficul Plot oferă informații cu privire la :
Corelația
Omogenitatea
Simetria
datelor analizate
#Cod utilizat
contingenta<-table(proiect_fara_outliers$group,proiect_fara_outliers$jaw_category)
View(contingenta)
*Sursa: R Studio
#Cod utilizat
summary(table(proiect_fara_outliers$width,proiect_fara_outliers$circum,proiect_fara_outliers$jaw))
Analiza de asociere
*Sursa: R Studio
Ipoteze:
H0=nu există asociere între variabile
H1=există asociere între variabile
#Cod utilizat
chisq.test(table(proiect_fara_outliers$jaw_category),p=c(0.2,0.3,0.5))
Analiza de concordanță
*Sursa: R Studio
Ipoteze:
H0=există concordanță între variabile
H1=nu există concordanță între variabile
#Cod utilizat
cor(proiect_fara_outliers[-c(1,8)])
Matricea de corelație
*Sursa: R Studio
De asemenea se poate observa că cele mai puternice corelații sunt între circum și front.back, prezentând o
corelație pozitivă. Corelația negativă cea mai puternică este cea dintre eye.top și width .
Coeficientul Pearson
#Cod utilizat
cor.test(proiect_fara_outliers$width,proiect_fara_outliers$circum,method = "pearson",use="pairwise")
cor.test(proiect_fara_outliers$width,proiect_fara_outliers$jaw,method = "pearson",use="pairwise")
Coeficientul de corelație Pearson
*Sursa: R Studio
Se poate garanta cu o probabilitate de 0,95 că între cele două variabile există o corelație scăzută
pozitivă (r=0,318 >0,4).
Coeficientul de corelație Pearson
*Sursa: R Studio
Se poate garanta cu o probabilitate de 0,95 că între cele două variabile există o corelație scăzută
pozitivă (r=0,394 >0,4).
Regresia liniară
lm(PricePerCt~Carat, color_pret)
*Sursa: R Studio
Modelul de regresie liniară simplă analizat în decursul acestui proiect, este format dintr-o variabilă
dependent Y= PricePerCt și o variabilă independent X= Carat.
Regresia
lm(PricePerCt~Carat+Depth,color_pret)
*Sursa: R Studio
Ecuația modelului
PricePerCt=11623.3+4151.4*Carat-129.9*Depth
Atunci când toate variabilele independente sunt egale cu 0, variabila PricePerCt este, în medie, cu
11623.3$. La o creștere cu o unitate a caratului și a adâncimii, prețul pe carat crește cu 4151.4$, respectiv
scade cu 129.9 $.
5.2.2. Regresia neliniara (model parabolic, logaritmic)
Model parabolic
#Cod utilizat
lm(PricePerCt~Carat+I(Carat^2)+I(Carat^3),color_pret)
*Sursa: R Studio
Ecuația modelului
Model logaritmic
#Cod utilizat
test<-lm(log(PricePerCt)~Carat,color_pret)
Figura 29: Model logaritmic
*Sursa: R Studio
Ecuația modelului
Y= β0+ β1*lnX+ ε
PricePerCt=8.5918+0.3433*lnCarat
β0=este valoarea medie al lui PricePeCt este de 8,5918$ atunci când variabila Carat este egală cu 1.
β1=La o creștere a variabilei Carat cu o unitate, prețul crește în medie cu 0,3433$.
5.2.3. Compararea a doua modele de regresie si alegerea celui mai bun model
#Cod utilizat
simpla<-lm(PricePerCt~Carat, color_pret)
parabolic<-lm(PricePerCt~Carat+I(Carat^2)+I(Carat^3),color_pret)
anova(parabolic,simpla)
*Sursa: R Studio
Din rezultate se observă că valoarea Sig asociate testului F, p-value, este 0,03215 <0,05. Acest
lucru semnifică faptul că modelul simplu este un model semnificativ mai bun decât cel parabolic pentru a
explica variația volumului.
#Cod utilizat
t.test(color_pret$Carat)
*Sursa: R Studio
La baza procedeului de estimare prin interval de încredere, stau legile normale de repartiție ale
estimatrilor 0 și 1. Pentru un nivel de încredere egal cu (1-α), limitele intervalului de încredere pentru
parametrul β0 sunt:
0±tα/2* 0
#Cod utilizat
t.test(color_pret$PricePerCt,mu=0)
*Sursa: R Studio
Ipoteze:
H0=media este egală cu 0
H1=media este diferită de 0
Sig = 2,2E-16
α= 0,05 rezultă că Sig<α
Cu o probabilitate de 0.95 putem afirma că se respinge ipoteza nulă, în concluzie media PricePerCt nu
este egală cu 0.
6.2.2. Testarea diferentei dintre doua medii (eșantioane pereche)
#Cod utilizat
t.test(color_pret$PricePerCt,color_pret$Carat)
*Sursa: R Studio
Ipoteze:
H0=µ1=µ2=0
H1=cel puțin o medie diferită de 0
Sig = 2.2E-16
α= 0,05 rezultă că Sig<α
Cu o probabilitate de 0.95 putem afirma că se respinge ipoteza nulă, în concluzie cel puțin o medie este
diferită de 0.
6.2.3. Testarea diferenței dintre trei și mai multe medii
Cu ajutorul testului ANOVA am putut observa dacă sunt diferențe semnificative între mediile
variabilelor studiate. Pentru a verifica cele spuse am formulat următoarele ipoteze:
#Cod utilizat
aovobj<-aov(PricePerCt~Carat+Depth,color_pret)
anova(aovobj)
*Sursa: R Studio
H0: µ1=µ2=µ3
H1: cel puțin două medii sunt egale
După cum putem observa din tabelul ANOVA valoarea Sig pentru toate variabilele analizate este
mai mică decât α care este egală cu 0,05, ceea ce ne duce la respingerea ipotezei nule, respectiv a lui H 0 și
la acceptarea ipotezei alternative H 1. Prin urmare putem afirma că între mediile variabilelor (PricePerCt,
Carat și Depth) există diferențe semnificative între medii.
7. Concluzii
Pentru o analiză corectă, am intenționat să verific dacă valorile variabilelor considerate conțin
valori extreme, și prin urmare am observat că variabilele “Carat” și “PretPerCt” au valori extreme și am
decis eliminarea lor.
În urma estimării prin interval de încredere a parametrului de regresie β0 am obținut rezultate care
ne indică faptul că valoarea adevărată a coeficientului de regresie β 0 este acoperită în intervalul
(1,349595;1.507384);
Utilizând testarea mediei cu o valoare fixă am ajuns la următoarea concluzie că:
Sig = 2,2E-16
α= 0,05 rezultă că Sig<α
Cu o probabilitate de 0.95 putem afirma că se respinge ipoteza nulă, în concluzie media PricePerCt nu
este egală cu 0.
Cu ajutorul testului ANOVA am putut observa dacă sunt diferențe semnificative între mediile
variabilelor studiate.