Modifs
178
EXO3/README.md
@ -16,9 +16,8 @@ Pour cette exercice, veuillez initaliser les variables suivantes :
|
|||||||
**[Script Scilab](scripts/init.sce) :**
|
**[Script Scilab](scripts/init.sce) :**
|
||||||
|
|
||||||
```scilab
|
```scilab
|
||||||
D = csvRead('data.csv');
|
csvDouble = csvRead("data.csv") //ouvre data.csv en une matrice d'entier
|
||||||
DD = csvRead('data.csv',',','.','string');
|
csvString = csvRead("data.csv",[],[],'string') //ouvre data.csv en une matrice de string
|
||||||
genre = DD(:,3);
|
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
@ -27,31 +26,40 @@ genre = DD(:,3);
|
|||||||
|
|
||||||
> Donnez, sous forme d'histogramme, la distribution des salaires suivant le genre.
|
> Donnez, sous forme d'histogramme, la distribution des salaires suivant le genre.
|
||||||
|
|
||||||
**[Script Scilab](scripts/q1.sce) :**
|
**[Script Scilab - hommes](scripts/q1-homme.sce) :**
|
||||||
|
|
||||||
```scilab
|
```scilab
|
||||||
D_homme = D(genre == 'Male',:);
|
id_male = find(csvString(:,3) == "Male" )
|
||||||
D_femme = D(genre == 'Female',:);
|
salaire_male = csvDouble(id_male,7)
|
||||||
salaire_homme = D_homme(:,7);
|
histplot(10,salaire_male,normalization=%f)
|
||||||
salaire_femme = D_femme(:,7);
|
```
|
||||||
num_bins = 50;
|
|
||||||
|
|
||||||
subplot(2, 1, 1);
|
**[Script Scilab - femmes](scripts/q1-femme.sce) :**
|
||||||
histplot(num_bins, salaire_homme);
|
|
||||||
title("Distribution des salaires pour les hommes");
|
|
||||||
xlabel("Salaire");
|
|
||||||
ylabel("Fréquence");
|
|
||||||
|
|
||||||
subplot(2, 1, 2);
|
```scilab
|
||||||
histplot(num_bins, salaire_femme);
|
id_female = find(csvString(:,3) == "Female" )
|
||||||
title("Distribution des salaires pour les femmes");
|
salaire_female = csvDouble(id_female,7)
|
||||||
xlabel("Salaire");
|
histplot(10,salaire_female,normalization=%f)
|
||||||
ylabel("Fréquence");
|
```
|
||||||
|
|
||||||
|
**[Script Scilab - autres](scripts/q1-autres.sce) :**
|
||||||
|
|
||||||
|
```scilab
|
||||||
|
id_other = find(csvString(:,3) == "Other" )
|
||||||
|
salaire_other = csvDouble(id_other,7)
|
||||||
|
histplot(10,salaire_other,normalization=%f)
|
||||||
```
|
```
|
||||||
|
|
||||||
**Résultat :**
|
**Résultat :**
|
||||||
|
|
||||||
![q1](img/q1.png)
|
Hommes :
|
||||||
|
![q1](img/q1-homme.png)
|
||||||
|
|
||||||
|
Femmes :
|
||||||
|
![q1](img/q1-femme.png)
|
||||||
|
|
||||||
|
Autres :
|
||||||
|
![q1](img/q1-autres.png)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@ -62,16 +70,28 @@ ylabel("Fréquence");
|
|||||||
**[Script Scilab](scripts/q2.sce) :**
|
**[Script Scilab](scripts/q2.sce) :**
|
||||||
|
|
||||||
```scilab
|
```scilab
|
||||||
niveau_etudes = D(:, 4);
|
indice_high = find(csvDouble(:,4) == 0 )
|
||||||
salaires = D(:, 7);
|
salaire_high = csvDouble(indice_high,7)
|
||||||
unique_niveaux = unique(niveau_etudes);
|
moy_h = mean(salaire_high)
|
||||||
moy_salaire_par_niveau = zeros(size(unique_niveaux));
|
|
||||||
|
|
||||||
for i = 1:length(unique_niveaux)
|
|
||||||
moy_salaire_par_niveau(i) = mean(salaires(niveau_etudes == unique_niveaux(i)));
|
|
||||||
end
|
|
||||||
|
|
||||||
bar(unique_niveaux, moy_salaire_par_niveau);
|
indice_b = find(csvDouble(:,4) == 1 )
|
||||||
|
salaire_b = csvDouble(indice_b,7)
|
||||||
|
moy_b = mean(salaire_b)
|
||||||
|
|
||||||
|
|
||||||
|
indice_m = find(csvDouble(:,4) == 2 )
|
||||||
|
salaire_m = csvDouble(indice_m,7)
|
||||||
|
moy_m = mean(salaire_m)
|
||||||
|
|
||||||
|
|
||||||
|
indice_p = find(csvDouble(:,4) == 3)
|
||||||
|
salaire_p = csvDouble(indice_p,7)
|
||||||
|
moy_p = mean(salaire_p)
|
||||||
|
|
||||||
|
|
||||||
|
matrice = [moy_h,moy_b,moy_m,moy_p]
|
||||||
|
bar([0,1,2,3],matrice)
|
||||||
|
|
||||||
xlabel("Niveau d''études");
|
xlabel("Niveau d''études");
|
||||||
ylabel("Salaire moyen");
|
ylabel("Salaire moyen");
|
||||||
@ -91,14 +111,21 @@ title("Salaire moyen par niveau d''études");
|
|||||||
**[Script Scilab](scripts/q3.sce) :**
|
**[Script Scilab](scripts/q3.sce) :**
|
||||||
|
|
||||||
```scilab
|
```scilab
|
||||||
Q = quart(salaires)
|
mean(csvDouble(:,7)) //moyenne
|
||||||
IQR = Q(3) - Q(1);
|
min(csvDouble(:,7)) //min
|
||||||
min_salaire = min(salaires)
|
max(csvDouble(:,7)) //max
|
||||||
max_salaire = max(salaires)
|
median(csvDouble(:,7)) //médianne
|
||||||
mean(salaires)
|
quart(csvDouble(:,7)) //quartile
|
||||||
median(salaires)
|
iqr(csvDouble(:,7)) //interquartile
|
||||||
stdev(salaires)
|
stdev(csvDouble(:,7)) //ecart-type
|
||||||
boxplot(salaires)
|
|
||||||
|
sal = tabul(csvDouble(:,7));
|
||||||
|
[occurence_tri,indice_tri] = gsort(sal(:,2));
|
||||||
|
liste_exp = sal(:,1);
|
||||||
|
mode = liste_exp(200) //mode
|
||||||
|
|
||||||
|
atomsLoad("stixbox")
|
||||||
|
boxplot(csvDouble(:,7),"orientation","horizontal")
|
||||||
```
|
```
|
||||||
**Résultat :**
|
**Résultat :**
|
||||||
|
|
||||||
@ -108,6 +135,7 @@ boxplot(salaires)
|
|||||||
- Maximum : 250000
|
- Maximum : 250000
|
||||||
- Moyenne : 115326.96
|
- Moyenne : 115326.96
|
||||||
- Médiane : 115000
|
- Médiane : 115000
|
||||||
|
- Mode : 140000
|
||||||
- Écart-type : 52786.184
|
- Écart-type : 52786.184
|
||||||
|
|
||||||
![q3](img/q3.png)
|
![q3](img/q3.png)
|
||||||
@ -121,58 +149,62 @@ boxplot(salaires)
|
|||||||
**[Script Scilab](scripts/q4.sce) :**
|
**[Script Scilab](scripts/q4.sce) :**
|
||||||
|
|
||||||
```scilab
|
```scilab
|
||||||
QH = quart(salaire_homme)
|
MARCO ???
|
||||||
QF = quart(salaire_femme)
|
MARCO ???
|
||||||
IQH = QH(3) - QH(1)
|
MARCO ???
|
||||||
IQF = QF(3) - QF(1)
|
MARCO ???
|
||||||
min(salaire_homme)
|
MARCO ???
|
||||||
min(salaire_femme)
|
MARCO ???
|
||||||
max(salaire_homme)
|
|
||||||
max(salaire_femme)
|
|
||||||
mean(salaire_homme)
|
|
||||||
mean(salaire_femme)
|
|
||||||
median(salaire_homme)
|
|
||||||
median(salaire_femme)
|
|
||||||
stdev(salaire_homme)
|
|
||||||
stdev(salaire_femme)
|
|
||||||
|
|
||||||
// boite à moustache hommes :
|
|
||||||
boxplot(salaire_homme);
|
|
||||||
title("Boîte à moustaches des salaires des hommes");
|
|
||||||
ylabel("Salaires");
|
|
||||||
|
|
||||||
// boite à moustache femmes :
|
MARCO ???
|
||||||
boxplot(salaire_femme);
|
MARCO ???MARCO ???MARCO ???
|
||||||
title("Boîte à moustaches des salaires des femmes");
|
MARCO ???
|
||||||
ylabel("Salaires");
|
MARCO ???
|
||||||
|
MARCO ???
|
||||||
```
|
```
|
||||||
|
|
||||||
**Résultat :**
|
**Résultat :**
|
||||||
|
|
||||||
- Hommes :
|
- Hommes :
|
||||||
|
|
||||||
- Quartiles : [Q1, Q2 (médiane), Q3] = [75000, 120000, 170000]
|
- Quartiles : [Q1, Q2 (médiane), Q3] = [..., ..., ...]
|
||||||
- Interquartile Range (IQR) : QH(3) - QH(1) = 95000
|
- Interquartile Range (IQR) : QH(3) - QH(1) = ...
|
||||||
- Minimum : 350
|
- Minimum : ...
|
||||||
- Maximum : 250000
|
- Maximum : ...
|
||||||
- Moyenne : 121389.87
|
- Moyenne : ...
|
||||||
- Médiane : 120000
|
- Médiane : ...
|
||||||
- Écart-type : 52092.726
|
- Écart-type : ...
|
||||||
|
|
||||||
![q4-homme](img/q4-homme.png)
|
![q4-homme](img/q4-homme.png)
|
||||||
|
|
||||||
|
|
||||||
- Femmes :
|
- Femmes :
|
||||||
|
|
||||||
- Quartiles : [Q1, Q2 (médiane), Q3] = [60000, 105000, 150000]
|
- Quartiles : [Q1, Q2 (médiane), Q3] = [..., ..., ...]
|
||||||
- Interquartile Range (IQR) : QF(3) - QF(1) = 90000
|
- Interquartile Range (IQR) : QF(3) - QF(1) = ...
|
||||||
- Minimum : 500
|
- Minimum : ...
|
||||||
- Maximum : 220000
|
- Maximum : ...
|
||||||
- Moyenne : 107889.00
|
- Moyenne : ...
|
||||||
- Médiane : 105000
|
- Médiane : ...
|
||||||
- Écart-type : 52723.610
|
- Écart-type : ...
|
||||||
|
|
||||||
![q4-fille](img/q4-fille.png)
|
![q4-femme](img/q4-femme.png)
|
||||||
|
|
||||||
|
- Femmes :
|
||||||
|
|
||||||
|
- Quartiles : [Q1, Q2 (médiane), Q3] = [..., ..., ...]
|
||||||
|
- Interquartile Range (IQR) : QF(3) - QF(1) = ...
|
||||||
|
- Minimum : ...
|
||||||
|
- Maximum : ...
|
||||||
|
- Moyenne : ...
|
||||||
|
- Médiane : ...
|
||||||
|
- Écart-type : ...
|
||||||
|
|
||||||
|
![q4-autres](img/q4-autres.png)
|
||||||
|
|
||||||
|
- Commentaires :
|
||||||
|
...
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
BIN
EXO3/img/q1-autres.png
Normal file
After Width: | Height: | Size: 76 KiB |
BIN
EXO3/img/q1-femme.png
Normal file
After Width: | Height: | Size: 80 KiB |
BIN
EXO3/img/q1-homme.png
Normal file
After Width: | Height: | Size: 81 KiB |
BIN
EXO3/img/q1.png
Before Width: | Height: | Size: 127 KiB |
BIN
EXO3/img/q2.png
Before Width: | Height: | Size: 106 KiB After Width: | Height: | Size: 106 KiB |
BIN
EXO3/img/q3.png
Before Width: | Height: | Size: 74 KiB After Width: | Height: | Size: 69 KiB |
BIN
EXO3/img/q4-autres.png
Normal file
After Width: | Height: | Size: 69 KiB |
BIN
EXO3/img/q4-femme.png
Normal file
After Width: | Height: | Size: 71 KiB |
Before Width: | Height: | Size: 85 KiB |
Before Width: | Height: | Size: 87 KiB After Width: | Height: | Size: 70 KiB |
3
EXO3/scripts/q1-autres.sce
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
id_other = find(csvString(:,3) == "Other" )
|
||||||
|
salaire_other = csvDouble(id_other,7)
|
||||||
|
histplot(10,salaire_other,normalization=%f)
|
3
EXO3/scripts/q1-femme.sce
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
id_female = find(csvString(:,3) == "Female" )
|
||||||
|
salaire_female = csvDouble(id_female,7)
|
||||||
|
histplot(10,salaire_female,normalization=%f)
|
3
EXO3/scripts/q1-homme.sce
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
id_male = find(csvString(:,3) == "Male" )
|
||||||
|
salaire_male = csvDouble(id_male,7)
|
||||||
|
histplot(10,salaire_male,normalization=%f)
|
@ -1,17 +0,0 @@
|
|||||||
D_homme = D(genre == 'Male',:);
|
|
||||||
D_femme = D(genre == 'Female',:);
|
|
||||||
salaire_homme = D_homme(:,7);
|
|
||||||
salaire_femme = D_femme(:,7);
|
|
||||||
num_bins = 50;
|
|
||||||
|
|
||||||
subplot(2, 1, 1);
|
|
||||||
histplot(num_bins, salaire_homme);
|
|
||||||
title("Distribution des salaires pour les hommes");
|
|
||||||
xlabel("Salaire");
|
|
||||||
ylabel("Fréquence");
|
|
||||||
|
|
||||||
subplot(2, 1, 2);
|
|
||||||
histplot(num_bins, salaire_femme);
|
|
||||||
title("Distribution des salaires pour les femmes");
|
|
||||||
xlabel("Salaire");
|
|
||||||
ylabel("Fréquence");
|
|
@ -1,13 +1,25 @@
|
|||||||
niveau_etudes = D(:, 4);
|
indice_high = find(csvDouble(:,4) == 0 )
|
||||||
salaires = D(:, 7);
|
salaire_high = csvDouble(indice_high,7)
|
||||||
unique_niveaux = unique(niveau_etudes);
|
moy_h = mean(salaire_high)
|
||||||
moy_salaire_par_niveau = zeros(size(unique_niveaux));
|
|
||||||
|
|
||||||
for i = 1:length(unique_niveaux)
|
|
||||||
moy_salaire_par_niveau(i) = mean(salaires(niveau_etudes == unique_niveaux(i)));
|
|
||||||
end
|
|
||||||
|
|
||||||
bar(unique_niveaux, moy_salaire_par_niveau);
|
indice_b = find(csvDouble(:,4) == 1 )
|
||||||
|
salaire_b = csvDouble(indice_b,7)
|
||||||
|
moy_b = mean(salaire_b)
|
||||||
|
|
||||||
|
|
||||||
|
indice_m = find(csvDouble(:,4) == 2 )
|
||||||
|
salaire_m = csvDouble(indice_m,7)
|
||||||
|
moy_m = mean(salaire_m)
|
||||||
|
|
||||||
|
|
||||||
|
indice_p = find(csvDouble(:,4) == 3)
|
||||||
|
salaire_p = csvDouble(indice_p,7)
|
||||||
|
moy_p = mean(salaire_p)
|
||||||
|
|
||||||
|
|
||||||
|
matrice = [moy_h,moy_b,moy_m,moy_p]
|
||||||
|
bar([0,1,2,3],matrice)
|
||||||
|
|
||||||
xlabel("Niveau d''études");
|
xlabel("Niveau d''études");
|
||||||
ylabel("Salaire moyen");
|
ylabel("Salaire moyen");
|
||||||
|
@ -1,8 +1,15 @@
|
|||||||
Q = quart(salaires)
|
mean(csvDouble(:,7)) //moyenne
|
||||||
IQR = Q(3) - Q(1);
|
min(csvDouble(:,7)) //min
|
||||||
min_salaire = min(salaires)
|
max(csvDouble(:,7)) //max
|
||||||
max_salaire = max(salaires)
|
median(csvDouble(:,7)) //médianne
|
||||||
mean(salaires)
|
quart(csvDouble(:,7)) //quartile
|
||||||
median(salaires)
|
iqr(csvDouble(:,7)) //interquartile
|
||||||
stdev(salaires)
|
stdev(csvDouble(:,7)) //ecart-type
|
||||||
boxplot(salaires)
|
|
||||||
|
sal = tabul(csvDouble(:,7));
|
||||||
|
[occurence_tri,indice_tri] = gsort(sal(:,2));
|
||||||
|
liste_exp = sal(:,1);
|
||||||
|
mode = liste_exp(200) //mode
|
||||||
|
|
||||||
|
atomsLoad("stixbox")
|
||||||
|
boxplot(csvDouble(:,7),"orientation","horizontal")
|
3
EXO3/scripts/q4-autres.sce
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
id_other = find(csvString(:,3) == "Other" )
|
||||||
|
salaire_other = csvDouble(id_other,7)
|
||||||
|
boxplot(salaire_female,"orientation","horizontal")
|
3
EXO3/scripts/q4-femme.sce
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
id_female = find(csvString(:,3) == "Female" )
|
||||||
|
salaire_female = csvDouble(id_female,7)
|
||||||
|
boxplot(salaire_female,"orientation","horizontal")
|
3
EXO3/scripts/q4-homme.sce
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
id_male = find(csvString(:,3) == "Male" )
|
||||||
|
salaire_male = csvDouble(id_male,7)
|
||||||
|
boxplot(salaire_male,"orientation","horizontal")
|
@ -1,24 +0,0 @@
|
|||||||
QH = quart(salaire_homme)
|
|
||||||
QF = quart(salaire_femme)
|
|
||||||
IQH = QH(3) - QH(1)
|
|
||||||
IQF = QF(3) - QF(1)
|
|
||||||
min(salaire_homme)
|
|
||||||
min(salaire_femme)
|
|
||||||
max(salaire_homme)
|
|
||||||
max(salaire_femme)
|
|
||||||
mean(salaire_homme)
|
|
||||||
mean(salaire_femme)
|
|
||||||
median(salaire_homme)
|
|
||||||
median(salaire_femme)
|
|
||||||
stdev(salaire_homme)
|
|
||||||
stdev(salaire_femme)
|
|
||||||
|
|
||||||
// boite à moustache hommes :
|
|
||||||
boxplot(salaire_homme);
|
|
||||||
title("Boîte à moustaches des salaires des hommes");
|
|
||||||
ylabel("Salaires");
|
|
||||||
|
|
||||||
// boite à moustache femmes :
|
|
||||||
boxplot(salaire_femme);
|
|
||||||
title("Boîte à moustaches des salaires des femmes");
|
|
||||||
ylabel("Salaires");
|
|