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