Description

Analyse des données d’un questionnaire de personnalité mesurant les facteurs du Big 5.

On importe le fichier de données

d <- read.csv2(file.choose()) # on nomme le fichier "d"

On vérifie le temps de passation du questionnaire

hist(d$interviewtime)

library(psych) # on charge le package "psych" pour utiliser la fonction "describe"

describe(d$interviewtime)
##    vars   n   mean     sd median trimmed  mad    min     max   range skew
## X1    1 451 322.38 189.16 278.76  292.09 95.2 137.92 2196.51 2058.59 5.01
##    kurtosis   se
## X1    36.76 8.91

On sort les stats descriptives des participants

describe(d$Age)
##    vars   n  mean    sd median trimmed  mad min max range skew kurtosis   se
## X1    1 451 32.24 13.86     25   30.25 7.41  18  84    66 1.13     0.68 0.65
hist(d$Age)

sexe <- data.frame(table(d$Sexe))
sexe$percent <- round((sexe$Freq*100)/sum(sexe$Freq),2)
sexe
##        Var1 Freq percent
## 1     Autre    2    0.44
## 2  Un homme  110   24.39
## 3 Une femme  339   75.17
etudes <- data.frame(table(d$Etudes))
etudes$percent <- round((etudes$Freq*100)/sum(etudes$Freq),2)
etudes
##                                             Var1 Freq percent
## 1            Bac (général, pro et technologique)  103   22.84
## 2                  Bac+2 (DEUG, BTS, DUT, DEUST)   76   16.85
## 3       Bac+3 (Licence, licence professionnelle)  114   25.28
## 4                     Bac+4 (Maîtrise, master 1)   45    9.98
## 5 Bac+5 (Master, DEA, DESS, diplôme d'ingénieur)   64   14.19
## 6                               Bac+8 (Doctorat)    3    0.67
## 7                      Brevet des collèges, BEPC   11    2.44
## 8           CAP/BEP (autres diplômes techniques)   30    6.65
## 9                                   Sans diplôme    5    1.11

Facteur Ouverture

#2 J’aime voyager
#3 J’aime me documenter sur des sujets que je ne connais pas
#4 J’aime la culture et l’art
#11 Parfois je déborde d’imagination
#27 J’aime m’intéresser à des sujets qui demandent réflexion
#30 Parfois je vais dans des lieux que je ne connais pas pour y découvrir de nouvelles choses

d$score_O <- d$q2+d$q3+d$q4+d$q11+d$q27+d$q30

describe(d$score_O)
##    vars   n  mean   sd median trimmed  mad min max range  skew kurtosis   se
## X1    1 451 24.95 3.48     25   25.25 4.45   9  30    21 -0.91     1.06 0.16
hist(d$score_O)

# Consistance interne: alpha de Cronbach
ouverture <- data.frame(d$q2,d$q3,d$q4,d$q11,d$q27,d$q30)

alpha(ouverture)
## 
## Reliability analysis   
## Call: alpha(x = ouverture)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N   ase mean   sd median_r
##       0.65      0.65    0.64      0.24 1.8 0.025  4.2 0.58     0.23
## 
##  lower alpha upper     95% confidence boundaries
## 0.6 0.65 0.7 
## 
##  Reliability if an item is dropped:
##       raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
## d.q2       0.68      0.69    0.66      0.31 2.3    0.024 0.013  0.26
## d.q3       0.55      0.54    0.51      0.19 1.2    0.033 0.016  0.23
## d.q4       0.56      0.56    0.55      0.20 1.3    0.032 0.024  0.22
## d.q11      0.65      0.65    0.63      0.27 1.8    0.025 0.027  0.26
## d.q27      0.58      0.58    0.56      0.22 1.4    0.030 0.020  0.23
## d.q30      0.60      0.59    0.58      0.23 1.5    0.028 0.034  0.23
## 
##  Item statistics 
##         n raw.r std.r r.cor r.drop mean   sd
## d.q2  451  0.34  0.39  0.17   0.13  4.6 0.74
## d.q3  451  0.72  0.74  0.70   0.57  4.3 0.85
## d.q4  451  0.70  0.69  0.61   0.49  4.0 1.04
## d.q11 451  0.55  0.51  0.33   0.27  4.0 1.07
## d.q27 451  0.65  0.65  0.57   0.45  4.2 0.94
## d.q30 451  0.64  0.63  0.51   0.40  3.9 1.08
## 
## Non missing response frequency for each item
##          1    2    3    4    5 miss
## d.q2  0.01 0.02 0.04 0.22 0.71    0
## d.q3  0.01 0.03 0.11 0.37 0.48    0
## d.q4  0.02 0.08 0.15 0.33 0.41    0
## d.q11 0.03 0.09 0.16 0.33 0.40    0
## d.q27 0.01 0.05 0.14 0.35 0.44    0
## d.q30 0.03 0.09 0.16 0.37 0.34    0

Facteur Névrosisme

#9 Quand tout va bien, un rien peut me faire changer d’humeur
#13 Je peux me mettre en colère très facilement
#14 Lors d’un entretien, je suis excessivement anxieux
#21 Un rien peut m’agacer
#23 Je suis une personne très émotive
#26 Je me fais du souci pour pas grand-chose

d$score_N <- d$q9+d$q13+d$q14+d$q21+d$q23+d$q26

describe(d$score_N)
##    vars   n  mean   sd median trimmed  mad min max range  skew kurtosis   se
## X1    1 451 21.69 5.17     22   21.98 5.93   6  30    24 -0.47    -0.41 0.24
hist(d$score_N)

# Consistance interne: alpha de Cronbach
nevrosisme <- data.frame(d$q9,d$q13,d$q14,d$q21,d$q23,d$q26)

alpha(nevrosisme)
## 
## Reliability analysis   
## Call: alpha(x = nevrosisme)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N   ase mean   sd median_r
##       0.74      0.74    0.74      0.32 2.8 0.019  3.6 0.86     0.26
## 
##  lower alpha upper     95% confidence boundaries
## 0.7 0.74 0.78 
## 
##  Reliability if an item is dropped:
##       raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
## d.q9       0.70      0.70    0.69      0.32 2.3    0.023 0.017  0.27
## d.q13      0.70      0.70    0.68      0.32 2.3    0.023 0.014  0.27
## d.q14      0.72      0.72    0.71      0.34 2.5    0.021 0.019  0.29
## d.q21      0.67      0.68    0.66      0.30 2.1    0.024 0.014  0.24
## d.q23      0.72      0.72    0.70      0.34 2.6    0.021 0.015  0.29
## d.q26      0.69      0.68    0.66      0.30 2.2    0.023 0.017  0.24
## 
##  Item statistics 
##         n raw.r std.r r.cor r.drop mean  sd
## d.q9  451  0.68  0.66  0.56   0.48  3.3 1.4
## d.q13 451  0.68  0.66  0.57   0.48  3.4 1.4
## d.q14 451  0.59  0.62  0.49   0.41  3.9 1.2
## d.q21 451  0.72  0.71  0.65   0.56  3.4 1.3
## d.q23 451  0.58  0.60  0.49   0.39  4.0 1.2
## d.q26 451  0.68  0.70  0.63   0.51  3.8 1.3
## 
## Non missing response frequency for each item
##          1    2    3    4    5 miss
## d.q9  0.16 0.18 0.14 0.25 0.27    0
## d.q13 0.15 0.14 0.14 0.28 0.29    0
## d.q14 0.05 0.11 0.14 0.31 0.39    0
## d.q21 0.12 0.15 0.18 0.31 0.23    0
## d.q23 0.05 0.10 0.13 0.28 0.44    0
## d.q26 0.08 0.11 0.14 0.30 0.37    0

Facteur Extraversion

#1 Quand j’arrive dans un nouvel établissement, j’essaye de m’intégrer en allant vers les autres
#7 Dans un groupe je n’ai pas d’appréhension à prendre la parole
#8 On me considère comme quelqu’un de sociable
#22 J’aime me faire remarquer
#25 Je me sens bien quand je suis entouré(e)
#28 Je suis une personne dynamique

d$score_E <- d$q1+d$q7+d$q8+d$q22+d$q25+d$q28

describe(d$score_E)
##    vars   n  mean   sd median trimmed  mad min max range  skew kurtosis   se
## X1    1 451 21.21 4.59     22   21.52 4.45   6  29    23 -0.61     0.03 0.22
hist(d$score_E)

# Consistance interne: alpha de Cronbach
extraversion <- data.frame(d$q1,d$q7,d$q8,d$q22,d$q25,d$q28)

alpha(extraversion)
## 
## Reliability analysis   
## Call: alpha(x = extraversion)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N   ase mean   sd median_r
##       0.73      0.72     0.7       0.3 2.6 0.019  3.5 0.76     0.26
## 
##  lower alpha upper     95% confidence boundaries
## 0.69 0.73 0.76 
## 
##  Reliability if an item is dropped:
##       raw_alpha std.alpha G6(smc) average_r S/N alpha se  var.r med.r
## d.q1       0.67      0.67    0.64      0.29 2.0    0.024 0.0126  0.26
## d.q7       0.67      0.67    0.64      0.29 2.0    0.024 0.0155  0.26
## d.q8       0.63      0.63    0.58      0.25 1.7    0.027 0.0055  0.25
## d.q22      0.74      0.74    0.71      0.36 2.8    0.019 0.0107  0.34
## d.q25      0.71      0.71    0.69      0.33 2.5    0.021 0.0173  0.34
## d.q28      0.69      0.69    0.66      0.30 2.2    0.022 0.0162  0.25
## 
##  Item statistics 
##         n raw.r std.r r.cor r.drop mean   sd
## d.q1  451  0.69  0.69  0.61   0.52  3.8 1.19
## d.q7  451  0.72  0.69  0.60   0.51  3.4 1.40
## d.q8  451  0.79  0.78  0.76   0.64  3.9 1.26
## d.q22 451  0.51  0.51  0.33   0.29  2.1 1.15
## d.q25 451  0.55  0.58  0.43   0.36  3.9 1.02
## d.q28 451  0.62  0.65  0.54   0.46  4.1 0.96
## 
## Non missing response frequency for each item
##          1    2    3    4    5 miss
## d.q1  0.06 0.13 0.09 0.38 0.35    0
## d.q7  0.13 0.18 0.15 0.24 0.30    0
## d.q8  0.08 0.08 0.14 0.27 0.43    0
## d.q22 0.42 0.21 0.21 0.14 0.02    0
## d.q25 0.02 0.08 0.22 0.33 0.35    0
## d.q28 0.02 0.05 0.16 0.37 0.39    0

Facteur Agréabilité

#5 Quand un touriste me demande de l’orienter dans la ville, j’accepte automatiquement
#12 Lorsqu’une personne se trouve en difficulté j’essaye de l’aider si j’en ai la possibilité
#15 Je suis de nature à aider mon prochaine même quand je ne suis pas de bonne humeur
#20 J’évite de rejeter ma colère contre les personnes qui ne m’ont rien fait
#24 Je fais des dons pour diverses associations
#29 Je suis altruiste

d$score_A <- d$q5+d$q12+d$q15+d$q20+d$q24+d$q29

describe(d$score_A)
##    vars   n  mean   sd median trimmed  mad min max range skew kurtosis   se
## X1    1 451 24.27 3.23     25   24.44 2.97   6  30    24 -0.8     1.92 0.15
hist(d$score_A)

# Consistance interne: alpha de Cronbach
agreabilite <- data.frame(d$q5,d$q12,d$q15,d$q20,d$q24,d$q29)

alpha(agreabilite)
## 
## Reliability analysis   
## Call: alpha(x = agreabilite)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N   ase mean   sd median_r
##       0.56       0.6    0.58       0.2 1.5 0.031    4 0.54     0.17
## 
##  lower alpha upper     95% confidence boundaries
## 0.5 0.56 0.62 
## 
##  Reliability if an item is dropped:
##       raw_alpha std.alpha G6(smc) average_r  S/N alpha se  var.r med.r
## d.q5       0.54      0.59    0.56      0.22 1.42    0.034 0.0152  0.20
## d.q12      0.48      0.49    0.45      0.16 0.96    0.037 0.0049  0.16
## d.q15      0.45      0.50    0.46      0.17 1.01    0.039 0.0040  0.16
## d.q20      0.57      0.61    0.58      0.24 1.54    0.031 0.0138  0.23
## d.q24      0.50      0.55    0.53      0.19 1.21    0.037 0.0175  0.17
## d.q29      0.53      0.58    0.56      0.21 1.37    0.033 0.0165  0.20
## 
##  Item statistics 
##         n raw.r std.r r.cor r.drop mean   sd
## d.q5  451  0.42  0.51  0.33   0.24  4.7 0.61
## d.q12 451  0.60  0.69  0.64   0.47  4.6 0.58
## d.q15 451  0.66  0.67  0.62   0.43  4.1 1.00
## d.q20 451  0.54  0.47  0.26   0.21  4.0 1.16
## d.q24 451  0.67  0.59  0.45   0.34  2.8 1.28
## d.q29 451  0.51  0.53  0.35   0.25  4.0 0.93
## 
## Non missing response frequency for each item
##          1    2    3    4    5 miss
## d.q5  0.00 0.01 0.04 0.20 0.75    0
## d.q12 0.00 0.00 0.03 0.28 0.69    0
## d.q15 0.02 0.08 0.08 0.38 0.44    0
## d.q20 0.03 0.12 0.12 0.27 0.45    0
## d.q24 0.22 0.18 0.27 0.22 0.10    0
## d.q29 0.02 0.02 0.22 0.38 0.35    0

Facteur Conscience

#6 Je termine les travaux que j’entreprends
#10 J’aime que le travail soit bien fait
#16 Je pèse bien le pour et le contre avant de prendre une décision
#17 J’aime que tout soit bien rangé à sa place
#18 J’arrive à l’heure aux rendez-vous
#19 Cela me dérange quand un collaborateur ne travaille pas de manière rigoureuse

d$score_C <- d$q6+d$q10+d$q16+d$q17+d$q18+d$q19

describe(d$score_C)
##    vars   n  mean  sd median trimmed  mad min max range  skew kurtosis   se
## X1    1 451 25.27 3.6     26   25.62 2.97   6  30    24 -1.09     2.01 0.17
hist(d$score_C)

# Consistance interne: alpha de Cronbach
conscience <- data.frame(d$q6,d$q10,d$q16,d$q17,d$q18,d$q19)
  
alpha(conscience)
## 
## Reliability analysis   
## Call: alpha(x = conscience)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N   ase mean  sd median_r
##       0.64      0.67    0.64      0.25   2 0.026  4.2 0.6     0.25
## 
##  lower alpha upper     95% confidence boundaries
## 0.59 0.64 0.69 
## 
##  Reliability if an item is dropped:
##       raw_alpha std.alpha G6(smc) average_r S/N alpha se  var.r med.r
## d.q6       0.54      0.57    0.53      0.21 1.3    0.034 0.0087  0.18
## d.q10      0.58      0.59    0.55      0.22 1.4    0.031 0.0067  0.22
## d.q16      0.63      0.66    0.63      0.28 1.9    0.027 0.0101  0.30
## d.q17      0.59      0.62    0.59      0.25 1.6    0.030 0.0116  0.23
## d.q18      0.63      0.66    0.62      0.28 2.0    0.027 0.0085  0.29
## d.q19      0.60      0.63    0.60      0.26 1.7    0.029 0.0090  0.24
## 
##  Item statistics 
##         n raw.r std.r r.cor r.drop mean   sd
## d.q6  451  0.71  0.72  0.66   0.53  4.2 0.94
## d.q10 451  0.61  0.68  0.61   0.48  4.7 0.61
## d.q16 451  0.57  0.53  0.36   0.29  4.0 1.14
## d.q17 451  0.66  0.62  0.50   0.39  3.8 1.23
## d.q18 451  0.55  0.53  0.35   0.29  4.3 1.07
## d.q19 451  0.56  0.59  0.46   0.35  4.2 0.92
## 
## Non missing response frequency for each item
##          1    2    3    4    5 miss
## d.q6  0.01 0.06 0.13 0.34 0.46    0
## d.q10 0.01 0.00 0.04 0.16 0.79    0
## d.q16 0.04 0.09 0.15 0.28 0.44    0
## d.q17 0.06 0.11 0.17 0.28 0.38    0
## d.q18 0.01 0.10 0.07 0.17 0.65    0
## d.q19 0.01 0.05 0.12 0.34 0.48    0

Analyse factorielle

# on crée un nouveau tableau "p" qui comporte seulement les colonnes correspondant aux 30 items
which(names(d) == "q1") # numéro de colonne correspondant à q1
## [1] 10
which(names(d) == "q30") # numéro de colonne correspondant à q30
## [1] 39
p <- d[,c(10:39)]

## on réalise deux tests pour vérifier si les données se prêtent à l'analyse factorielle

# 1/ Test de sphéricité de Bartlett
library(REdaS)
## Le chargement a nécessité le package : grid
bart_spher(p)
##  Bartlett's Test of Sphericity
## 
## Call: bart_spher(x = p)
## 
##      X2 = 3179.64
##      df = 435
## p-value < 2.22e-16
# 2/ Mesure de l'adéquation de l'échantillonnage de Kaiser-Meyer-Olkin (KMO)
KMO(p)
## Kaiser-Meyer-Olkin factor adequacy
## Call: KMO(r = p)
## Overall MSA =  0.78
## MSA for each item = 
##   q1   q2   q3   q4   q5   q6   q7   q8   q9  q10  q11  q12  q13  q14  q15  q16 
## 0.82 0.69 0.79 0.74 0.81 0.77 0.80 0.81 0.81 0.77 0.71 0.76 0.69 0.80 0.75 0.78 
##  q17  q18  q19  q20  q21  q22  q23  q24  q25  q26  q27  q28  q29  q30 
## 0.80 0.69 0.80 0.78 0.80 0.70 0.73 0.77 0.83 0.75 0.80 0.85 0.85 0.82
## on réalise l'analyse factorielle : commande "fa"
afccortest <- fa(p, fm = "ml", nfactors = 5, n.obs = nrow(p), rotate = "oblimin")
## Le chargement a nécessité le package : GPArotation
afccortest
## Factor Analysis using method =  ml
## Call: fa(r = p, nfactors = 5, n.obs = nrow(p), rotate = "oblimin", 
##     fm = "ml")
## Standardized loadings (pattern matrix) based upon correlation matrix
##       ML1   ML4   ML2   ML3   ML5    h2   u2 com
## q1   0.60  0.01 -0.13 -0.03  0.07 0.390 0.61 1.1
## q2   0.22  0.03  0.10  0.07  0.12 0.082 0.92 2.2
## q3   0.00  0.04  0.03  0.73  0.00 0.537 0.46 1.0
## q4   0.00 -0.15  0.02  0.68 -0.01 0.460 0.54 1.1
## q5   0.21  0.10 -0.08  0.09  0.11 0.110 0.89 2.9
## q6   0.18  0.68 -0.02 -0.11 -0.03 0.519 0.48 1.2
## q7   0.62  0.02  0.06  0.07 -0.30 0.517 0.48 1.5
## q8   0.73  0.00 -0.07  0.05  0.04 0.573 0.43 1.0
## q9  -0.06  0.00  0.58  0.06  0.08 0.369 0.63 1.1
## q10 -0.06  0.60  0.11  0.14  0.05 0.414 0.59 1.2
## q11  0.07 -0.03  0.07  0.35 -0.05 0.129 0.87 1.2
## q12  0.21  0.19 -0.11  0.13  0.37 0.298 0.70 2.7
## q13  0.13  0.08  0.69 -0.03  0.05 0.496 0.50 1.1
## q14 -0.31  0.11  0.14 -0.05  0.42 0.383 0.62 2.3
## q15  0.13  0.12 -0.19  0.13  0.46 0.315 0.68 1.9
## q16 -0.10  0.41 -0.23  0.15  0.02 0.242 0.76 2.1
## q17 -0.11  0.53  0.10 -0.02  0.02 0.296 0.70 1.2
## q18 -0.02  0.36 -0.15 -0.09  0.14 0.172 0.83 1.8
## q19 -0.04  0.47  0.14  0.06 -0.05 0.236 0.76 1.3
## q20  0.03  0.17 -0.45  0.09  0.09 0.261 0.74 1.5
## q21 -0.08  0.04  0.74  0.01  0.05 0.593 0.41 1.0
## q22  0.37 -0.26  0.12  0.09 -0.04 0.183 0.82 2.2
## q23  0.04 -0.04  0.12  0.02  0.62 0.422 0.58 1.1
## q24  0.16  0.02 -0.13  0.19  0.20 0.141 0.86 3.7
## q25  0.50 -0.04  0.04 -0.07  0.25 0.259 0.74 1.6
## q26 -0.10 -0.04  0.21 -0.05  0.58 0.466 0.53 1.4
## q27 -0.01  0.11 -0.06  0.62  0.00 0.431 0.57 1.1
## q28  0.52  0.31  0.07  0.05  0.00 0.435 0.56 1.7
## q29  0.12  0.02 -0.11  0.22  0.25 0.162 0.84 2.8
## q30  0.26 -0.04 -0.05  0.35  0.08 0.253 0.75 2.0
## 
##                        ML1  ML4  ML2  ML3  ML5
## SS loadings           2.50 2.01 1.97 2.00 1.67
## Proportion Var        0.08 0.07 0.07 0.07 0.06
## Cumulative Var        0.08 0.15 0.22 0.28 0.34
## Proportion Explained  0.25 0.20 0.19 0.20 0.16
## Cumulative Proportion 0.25 0.44 0.64 0.84 1.00
## 
##  With factor correlations of 
##       ML1  ML4   ML2   ML3   ML5
## ML1  1.00 0.19 -0.22  0.28 -0.08
## ML4  0.19 1.00  0.03  0.13  0.20
## ML2 -0.22 0.03  1.00 -0.15  0.23
## ML3  0.28 0.13 -0.15  1.00  0.09
## ML5 -0.08 0.20  0.23  0.09  1.00
## 
## Mean item complexity =  1.7
## Test of the hypothesis that 5 factors are sufficient.
## 
## The degrees of freedom for the null model are  435  and the objective function was  7.24 with Chi Square of  3179.64
## The degrees of freedom for the model are 295  and the objective function was  1.28 
## 
## The root mean square of the residuals (RMSR) is  0.04 
## The df corrected root mean square of the residuals is  0.05 
## 
## The harmonic number of observations is  451 with the empirical chi square  552.9  with prob <  6.4e-18 
## The total number of observations was  451  with Likelihood Chi Square =  559.77  with prob <  1.2e-18 
## 
## Tucker Lewis Index of factoring reliability =  0.856
## RMSEA index =  0.045  and the 90 % confidence intervals are  0.039 0.05
## BIC =  -1243.11
## Fit based upon off diagonal values = 0.95
## Measures of factor score adequacy             
##                                                    ML1  ML4  ML2  ML3  ML5
## Correlation of (regression) scores with factors   0.90 0.87 0.89 0.88 0.86
## Multiple R square of scores with factors          0.82 0.76 0.79 0.78 0.73
## Minimum correlation of possible factor scores     0.63 0.53 0.58 0.55 0.46