fiabilidad.fnc
Copia, Pega y Adapta
fiabilidad.fnc(datos, variables=1:12)
fiabilidad.fnc(datos, variables=1:12, tipo='omega')
mis.escalas=list(A=c(1,-2,3:6), B=c(7:15,-16) )
fiabilidad.fnc(datos, escalas=mis.escalas)
Objetivo
Ejecuta análisis de consistencia interna mediante alfa de Crombach, Guttman y Omega y análisis conjunto de múltiples escalas.
Consistencia Interna
La base de datos iqitems de la librería psych (instalada por defecto en el toolbox) contiene las puntuaciones de 1000 sujetos en 14 items del cuestionario SAPA (Synthetic Aperture Personality Assessment).
head(iqitems)
reason.4 reason.16 reason.17 reason.19 letter.7 letter.33 letter.34 letter.58 matrix.45 matrix.46 matrix.47 matrix.55 rotate.3 rotate.4 rotate.6 rotate.8
5 3 3 6 3 5 3 5 2 4 3 4 4 5 6 5 5
6 3 3 4 4 6 2 4 2 4 1 4 6 6 5 6 1
7 3 4 4 2 6 5 3 3 5 2 4 6 8 8 8 8
8 4 0 6 1 5 1 4 1 2 0 6 2 1 7 1 6
9 0 4 4 5 5 3 3 0 5 2 4 6 5 7 1 6
10 4 4 4 6 6 3 4 4 5 2 2 2 3 2 6 4
Seguidamente solicitaremos la "fiabilidad" de la escala formada por los 16 items de esta base de datos. Por defecto la función asume todas las variables de los datos introducidos y como tipo de consistencia alfa de Crombach (tipo='alfa').
Consistencia Crombach:
fiabilidad.fnc(iqitems)
fiabilidad.fnc(iqitems, variables=1:16, tipo='alfa')
#--------------------------------------------------------------------------------
# ANALISIS DE ESCALAS
#--------------------------------------------------------------------------------
Reliability analysis
Call: psych::alpha(x = dat, check.keys = TRUE)
raw_alpha std.alpha G6(smc) average_r S/N ase mean sd median_r
0.75 0.78 0.79 0.18 3.5 0.0091 3.8 0.79 0.16
lower alpha upper 95% confidence boundaries
0.73 0.75 0.77
Reliability if an item is dropped:
raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
reason.4 0.74 0.76 0.77 0.17 3.1 0.0097 0.0097 0.16
reason.16 0.73 0.75 0.77 0.17 3.1 0.0098 0.0090 0.16
reason.17 0.74 0.76 0.78 0.18 3.2 0.0096 0.0107 0.16
reason.19 0.73 0.76 0.77 0.17 3.1 0.0099 0.0093 0.16
letter.7 0.73 0.76 0.77 0.17 3.1 0.0099 0.0086 0.16
letter.33 0.74 0.76 0.78 0.18 3.2 0.0096 0.0111 0.16
letter.34 0.74 0.76 0.77 0.17 3.2 0.0097 0.0093 0.16
letter.58 0.74 0.77 0.78 0.18 3.3 0.0095 0.0105 0.16
matrix.45 0.73 0.75 0.77 0.17 3.1 0.0099 0.0094 0.16
matrix.46 0.75 0.78 0.79 0.19 3.5 0.0092 0.0093 0.17
matrix.47 0.75 0.78 0.79 0.19 3.5 0.0093 0.0102 0.17
matrix.55 0.74 0.77 0.78 0.18 3.3 0.0096 0.0111 0.16
rotate.3 0.74 0.77 0.77 0.18 3.3 0.0097 0.0105 0.17
rotate.4 0.76 0.77 0.78 0.19 3.4 0.0089 0.0096 0.17
rotate.6 0.75 0.77 0.78 0.18 3.3 0.0093 0.0100 0.17
rotate.8 0.73 0.76 0.77 0.18 3.2 0.0099 0.0105 0.16
Item statistics
n raw.r std.r r.cor r.drop mean sd
reason.4 1523 0.50 0.54 0.50 0.42 3.4 1.2
reason.16 1524 0.54 0.59 0.56 0.47 3.4 1.1
reason.17 1523 0.46 0.50 0.44 0.37 3.8 1.3
reason.19 1523 0.55 0.56 0.52 0.43 4.8 1.8
letter.7 1524 0.54 0.57 0.54 0.44 4.9 1.7
letter.33 1523 0.45 0.49 0.42 0.37 2.8 1.2
letter.34 1523 0.48 0.53 0.48 0.40 3.4 1.3
letter.58 1525 0.44 0.46 0.40 0.33 3.3 1.5
matrix.45 1523 0.55 0.58 0.55 0.46 4.1 1.4
matrix.46 1524 0.29 0.30 0.20 0.19 2.5 1.4
matrix.47 1523 0.33 0.34 0.25 0.23 2.6 1.4
matrix.55 1524 0.44 0.45 0.38 0.34 3.7 1.6
rotate.3 1523 0.52 0.46 0.41 0.38 4.6 2.2
rotate.4 1523 0.42 0.37 0.30 0.24 4.8 2.5
rotate.6 1523 0.50 0.43 0.37 0.32 4.4 2.6
rotate.8 1524 0.57 0.50 0.45 0.42 4.6 2.4
Non missing response frequency for each item
0 1 2 3 4 5 6 7 8 miss
reason.4 0.05 0.05 0.11 0.10 0.64 0.03 0.02 0.00 0.00 0
reason.16 0.04 0.06 0.08 0.10 0.70 0.01 0.00 0.00 0.00 0
reason.17 0.05 0.03 0.05 0.03 0.70 0.03 0.11 0.00 0.00 0
reason.19 0.04 0.02 0.13 0.03 0.06 0.10 0.62 0.00 0.00 0
letter.7 0.05 0.01 0.05 0.03 0.11 0.14 0.60 0.00 0.00 0
letter.33 0.06 0.10 0.13 0.57 0.04 0.09 0.02 0.00 0.00 0
letter.34 0.04 0.09 0.07 0.11 0.61 0.05 0.02 0.00 0.00 0
letter.58 0.06 0.14 0.09 0.09 0.44 0.16 0.01 0.00 0.00 0
matrix.45 0.04 0.01 0.06 0.14 0.18 0.53 0.04 0.00 0.00 0
matrix.46 0.04 0.12 0.55 0.07 0.11 0.06 0.05 0.00 0.00 0
matrix.47 0.04 0.05 0.61 0.07 0.11 0.06 0.06 0.00 0.00 0
matrix.55 0.04 0.02 0.18 0.14 0.37 0.07 0.18 0.00 0.00 0
rotate.3 0.04 0.03 0.04 0.19 0.22 0.15 0.05 0.12 0.15 0
rotate.4 0.04 0.03 0.21 0.05 0.18 0.04 0.04 0.25 0.15 0
rotate.6 0.04 0.22 0.02 0.05 0.14 0.05 0.30 0.04 0.14 0
rotate.8 0.04 0.03 0.21 0.07 0.16 0.05 0.13 0.19 0.13 0
Consistencia Guttman:
fiabilidad.fnc(iqitems, variables=1:14, tipo='guttman')
#--------------------------------------------------------------------------------
# ANALISIS DE ESCALAS
#--------------------------------------------------------------------------------
$Participantes
[1] 1523
$fiabilidad.guttman
Split half reliabilities
Call: splitHalf(r = cor((dat), use = "complete.obs"))
Maximum split half reliability (lambda 4) = 0.82
Guttman lambda 6 = 0.77
Average split half reliability = 0.76
Guttman lambda 3 (alpha) = 0.76
Guttman lambda 2 = 0.77
Minimum split half reliability (beta) = 0.56
Average interitem r = 0.18 with median = 0.17
Consistencia Omega:
fiabilidad.fnc(iqitems, variables=1:14, tipo='omega')
fiabilidad.fnc(iqitems, variables=1:14, tipo='omega', n.factores=3)
#--------------------------------------------------------------------------------
# ANALISIS DE ESCALAS
#--------------------------------------------------------------------------------
$Omega
Alfa G.6 Omega.J Omega.Asin Ometa.T
0.7587995 0.7656494 0.2473346 0.3097992 0.7983709
$Policorica
[1] FALSE
$Schmid_Leiman
g F1. F2. F3. h2.total h2.G h2.fac
reason.4 0.1897264 0.509398841 -0.024102449 0.034905153 0.2972826 0.03599610 0.26128648
reason.16 0.2040177 0.593555333 0.015485588 -0.018439328 0.3945110 0.04162324 0.35288775
reason.17 0.2253951 0.388360695 0.077607103 0.055649565 0.2107467 0.05080295 0.15994377
reason.19 0.1860446 0.553988212 -0.028935928 0.012911095 0.3425195 0.03461261 0.30790692
letter.7 0.1707480 0.625105403 0.025156527 -0.086140968 0.4279648 0.02915490 0.39880988
letter.33 0.2461848 0.312415351 -0.027738300 0.206908088 0.2017907 0.06060695 0.14118372
letter.34 0.1531569 0.543328117 -0.005612296 -0.045680109 0.3207806 0.02345702 0.29732361
letter.58 0.1771335 0.369500177 -0.053585897 0.108464811 0.1825427 0.03137627 0.15116644
matrix.45 0.2306778 0.547193885 -0.002196131 0.054005486 0.3555548 0.05321224 0.30234256
matrix.46 0.2989794 -0.058293381 0.025542841 0.408756966 0.2605215 0.08938871 0.17113281
matrix.47 0.2666112 0.029135901 0.046467628 0.306550246 0.1680627 0.07108151 0.09698119
matrix.55 0.2310462 0.269069863 0.058375066 0.135530323 0.1475570 0.05338233 0.09417471
rotate.3 0.3576089 0.101078397 0.298377239 0.186021237 0.2617338 0.12788412 0.13384972
rotate.4 0.4864103 -0.004836734 0.797446843 -0.004771784 0.8725626 0.23659497 0.63596763
$H0.G
Call: fa.stats(r = r, f = f, phi = phi, n.obs = n.obs, np.obs = np.obs,
alpha = alpha, fm = fm)
Test of the hypothesis that 1 factor is sufficient.
The degrees of freedom for the model is 77 and the fit was 1.31
The number of observations was 1525 with Chi Square = 1990.71 with prob < 0
Measures of factor score adequacy
Correlation of scores with factors 0.62
Multiple R square of scores with factors 0.38
Minimum correlation of factor score estimates -0.24
$Cor.Fac
F1 F2 F3
F1 1.0000000 0.1736833 0.1973698
F2 0.1736833 1.0000000 0.3129763
F3 0.1973698 0.3129763 1.0000000
$Fac.Gloading
G
F1 0.3309524
F2 0.5248058
F3 0.5963593
$Varianza
g F1. F2. F3.
sc.loading 0.93917391 2.37592501 0.74316069 0.38587150
Varianza 0.21132903 0.53462082 0.16722294 0.08682721
Cuando el usuario incluye omega como tipo de fiabilidad que desea, puede a la vez utilizar el argumento n.factores (por defecto es NA). Si no se hace uso de este, la función utilizará tres factores residuales para llevar a cabo la estimación.
ITEMS INVERTIDOS
En ocasiones las escalas tienen algunos items invertidos para evitar efectos indeseables como la "deseabilidad social" del sujeto que responde. En los paquetes estadísticos mas usados, la estimación correcta de estas escalas implica la necesidad de situar todos los items en el mismo "sentido". Es decir, recodificar esos items invertidos para evitar la caida en todos los índices de consitencia. En R sin embargo, con la librería psych que utiliza fiabilidad.fnc esta recodificación es innecesaria ya que se lleva a cabo de forma automática al calcular la consistencia.
Análisis conjunto de escalas
Utilizaremos la base de datos bfi (2800 sujetos) de la librería psych perteneciente al cuestionario autoadministrado Synthetic Aperture Personality Assessment (SAPA) con 25 items en 5 escalas: A (Agradabilidad), C (Consiensudo) , E (Extraversión), N (Neuroticismo) y O (Apertura a la experiencia)
head(bfi)
A1 A2 A3 A4 A5 C1 C2 C3 C4 C5 E1 E2 E3 E4 E5 N1 N2 N3 N4 N5 O1 O2 O3 O4 O5 gender education age
61617 2 4 3 4 4 2 3 3 4 4 3 3 3 4 4 3 4 2 2 3 3 6 3 4 3 1 NA 16
61618 2 4 5 2 5 5 4 4 3 4 1 1 6 4 3 3 3 3 5 5 4 2 4 3 3 2 NA 18
61620 5 4 5 4 4 4 5 4 2 5 2 4 4 4 5 4 5 4 2 3 4 2 5 5 2 2 NA 17
61621 4 4 6 5 5 4 4 3 5 5 5 3 4 4 4 2 5 2 4 1 3 3 4 3 5 2 NA 17
61622 2 3 3 4 5 4 4 5 3 2 2 2 5 4 5 2 3 4 4 3 3 3 4 3 3 1 NA 17
61623 6 6 5 6 5 6 6 6 1 3 2 1 6 5 6 3 5 2 2 3 4 3 5 6 1 2 3 21
Crearemos en primer lugar una lista que llamaremos arbitrariamente mis.escalas. Cada elemento de la lista deberá obligatoriamente ser el nombre que queremos para cada escala al cual asignaremos un vector con el número de la columna de cada item de esa escala.
mis.escalas=list(A=1:5, C=c(6,7,8,9,10), Ext=11:15, Neur=16:20, Aper = c(21,22,23,24,25) )
Se ha utilizado la función compose c( ) por motivos exclusivamente didácticos, dado que todas las columnas en esta base de datos son consecutivas para cada escala.
mis.escalas=list(A=1:5, C=6:10, Ext=11:15, Neur=16:20, Aper=21:25)
Cuando se introduce el argumento escalas, la función lleva a cabo un análisis intra e inter-escalas de las incluidas en la lista asignada al argumento escalas.
fiabilidad.fnc(bfi, escalas = mis.escalas)
El análisis simultáneo de varias escalas generará por defecto:
Consistencia interna de cada escala por Crombach y Guttman.
Coorelación atenuada y sin atenuar de todos los items con todas las escalas.
Correlación entre las escalas
Distribución de frecuencias de cada item.