This commit is contained in:
stiti 2024-06-14 20:33:54 +02:00
parent 8c3bd8fcbd
commit e2283e953e
21 changed files with 158 additions and 130 deletions

View File

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

BIN
EXO3/img/q1-femme.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

BIN
EXO3/img/q1-homme.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 127 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 106 KiB

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

After

Width:  |  Height:  |  Size: 69 KiB

BIN
EXO3/img/q4-autres.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

BIN
EXO3/img/q4-femme.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 87 KiB

After

Width:  |  Height:  |  Size: 70 KiB

View File

@ -0,0 +1,3 @@
id_other = find(csvString(:,3) == "Other" )
salaire_other = csvDouble(id_other,7)
histplot(10,salaire_other,normalization=%f)

View File

@ -0,0 +1,3 @@
id_female = find(csvString(:,3) == "Female" )
salaire_female = csvDouble(id_female,7)
histplot(10,salaire_female,normalization=%f)

View File

@ -0,0 +1,3 @@
id_male = find(csvString(:,3) == "Male" )
salaire_male = csvDouble(id_male,7)
histplot(10,salaire_male,normalization=%f)

View File

@ -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");

View File

@ -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");

View File

@ -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")

View File

@ -0,0 +1,3 @@
id_other = find(csvString(:,3) == "Other" )
salaire_other = csvDouble(id_other,7)
boxplot(salaire_female,"orientation","horizontal")

View File

@ -0,0 +1,3 @@
id_female = find(csvString(:,3) == "Female" )
salaire_female = csvDouble(id_female,7)
boxplot(salaire_female,"orientation","horizontal")

View File

@ -0,0 +1,3 @@
id_male = find(csvString(:,3) == "Male" )
salaire_male = csvDouble(id_male,7)
boxplot(salaire_male,"orientation","horizontal")

View File

@ -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");