Análisis Factorial Confirmatorio (AFC) en R y RStudio. [Chupito de R]
HTML-код
- Опубликовано: 21 авг 2024
- Si te gusta mi contenido y quieres, puedes pagarme un café en: ko-fi.com/chup... así no me dormiré mientras hago los chupitos.
En este chupito de R, les explico cómo hacer análisis factoriales confirmatorios usando R y Rstudio. Este vídeo forma parte de la lista de psicometría, donde los Modelos de Ecuaciones Estructurales tendrán gran peso. El paquete Lavaan será nuestro gran aliado para obtener la validez de constructo de un test. Y como siempre el videotutorial en R y Rstudio en español.
Toda la sintaxis en:
github.com/pab...
y una base de datos para practicar:
github.com/pab...
#AFC #factorial #confirmatorio analisis factorial
16:47 : orthogonal=FALSE, para relacionar variables latentes
EXCELENE PABLO, ESTAS SIENDO UN BOOM EN RSTUDIO, TODO LOS ESTADISTICOS QUE QUIERO HACER EN R TU ERES EL UNICO QUE LO HA HECHO. NO TE DETENGAS...
A ver cuánto duran las energías, de momento este 2021 ya he retornado.
Excelente! Muchas gracias! Bien explicado y el ejemplo muy práctico.
Excelente video Pablo. Quiero trabajar psicometría en r, y tu video ha sido muy valioso. Gracias
Muchas gracias ;)
Estimado Pablo, me quedé muy feliz con tu explicación. Quería pedirte que hagas un chupito sobre SEM multinivel con variabe latente y de mediación. Sé que con este video se aclarará mucha de mis dudas al respecto ya que he tenido resultados diferentes cuando lo he hecho con STATA. Gracias de antemano!
Muchas gracias, me alegra que te resulte útil. Es normal que distintos programas den resultados ligereamente diferentes, al fin de cuentas los algoritmos rara vez son idénticos. Tengo pendientes más cosas de mediación e invarianza, pero de momento me voy a tomar de vacaciones agosto ;)
Buenos audífonos Pablo, sigue así.
Hola Pablo muchas gracias por tus videos, están muy bien. ¿Ya no haces más contenido? Saludos y gracias de nuevo
Gracias sin duda lo voy a usar, en un articulo que es la continuación del que te comenté alguna vez
Genial, dale duro pues!!!
Soy tu fan Pablo, excelente. Me gustaría que pusieras una liga donde podamos copiar las sintaxis de R para cada chupitos. Gracias y un saludo.
Hola, todos los chupitos tienen el link con la sintaxis.
Hola! Me ha servido de mucho ver el vídeo, muy clarificador, gracias :)
Lo que estoy intentando averiguar ahora es como se calcula el la validez convergente (AVE) en r (estoy aún dando los primeros pasos con el programa)
Te refieres a cómo se relaciona tu escala con otras similares?
@@PabloVallejoMedina me refería al AVE entre los factores dentro de la misma escala, en tu ejemplo el AVE entre hostil y benevolente.
@@mlurios Como una covarianza o correlación entre ellos?
@@PabloVallejoMedina lo reportan en un artículo, no se refiere a las correlaciones quizá hablan de la covarianza (pero dicen que es el AVE, de ahí mi duda), en todo caso la covarianza entre factores sí que está en la salida del cfa, claro.
Gracias por compartir!
Muchas gracias ;)
Estimado, felicitarte por el aporte, ahora estoy haciendo mi tesis sobre validación de un instrumento y me han sido muy útil TODOS los videos. Tengo una duda sencilla, en el dibujo entiendo que las cargas factoriales son las que salen desde los círculos de cada factor. Pero no me queda claro el número que está más cercano de los ítems y que tiene flechas hacia el mismo ¿qué es lo que representa?
Saludos desde Chile
el error ;)
Muchas gracias!
Un placer.
Pablo, gracias por este material de tan excelente calidad!
Tengo una pregunta, realice un SEM y estos son los resultados: P-value=0.000, RMSEA=0.170, CFI=0.943, TLI=0.929, nfi=0.942. Todos los valores son apropiados menos el P-valule ¿debo rechazar el modelo factorial? Cambie varias veces el número de casos de la muestra, pero el P-value siempre es 0.000 ¿porque pasa esto?
¡Muchas gracias!
Hola, el RMSEA tampoco es adecuado, pero el pvalue depende muchísimo de tu tamaño muestral. Es raro que con n superiores a 200 te de un p value > a 0,05. Así que tu deber es informarlo, pero no interpretarlo. De todos modos el RMSEA si está alto.
Genial, ojalá hubiera encontrado antes tus vídeos! Me surgen dos dudas, una es que no me reconoce la función semPlot, ni con mayúscula, ni minúscula, ni porque ponga graph... por si me puedes orientar, y otra, que he preguntado en un comentario de otra persona, pero reitero: cómo sería si a tus datos le sacas un modelo bifactorial, con un factor general de sexismo y los dos subfactores relacionados tal cual lo has explicado aquí. Más que nada la sintaxis para ver qué diferencias hay entre el modelo de dos factores y el bifactorial con factor general.
GRACIAS, gracias, muchísimas gracias!!
qué error te da el semPLot? Hola nunca haría ese modelo. Para mi duplicar la saturación de cada item es un artificio y nunca lo haría con SEM.
@@PabloVallejoMedina Error in semPlot() : no se pudo encontrar la función "semPlot": esto es lo que me dice, pero se supone que he instadado y cargado semPlot. Es que mis gráficos son más feos, jeje y no sé si es por usar la función graph_sem (), o es que con semplot saldrán igual... En tu código sale chulísimo, pero me da error, y no me carga.
Gracias por tu respuesta, estoy realizando un bifactorial porque otros autores lo han hecho con el test q estoy manejando, porque no tiene una estructura clara unidimensional, surgen dos factores correlacionados, pero hay autores que hacen un AFC de segundo orden con los dos factores y otros bifactorial con un factor general, que dicen que es el que mejor ajusta... y yo quiero replicar todos los modelos con mis datos y ver cuál es el que mejor ajusta. Pero no sé si estoy ejecutando bien la sintaxis del modelo.
@@mavicerezog Prueba reinstalando el paquete. install.pacakge("‘semPlot") y luego library (semPlot). EL paquete sigue estando en Cran así que no debería haber problema.
@@mavicerezog Si duda alguna el bifactor te va a dar mejores índices de ajuste. Pero no por que ajuste mejor, sino por el artefacto matemático de estar más saturado el modelo.
Excelente video tutorial Pablo como siempre !!, te quería consultar las formas de hacer un gráfico que pueda leerse mejor para un instrumento de 5 dimensiones (parecidos a los que da el EQS) y también saber como obtener los índices de consistencia omega.
Gracias !
Yo para 5 factores utilizo el label: "circle 2". Y el omega aquí tienes ya el chupito hecho: ruclips.net/video/7o-rV6YqmH8/видео.html Gracias y saludos.
@@PabloVallejoMedina Muchas Gracias Genio !!!
@@leandroeidman6422 a ti campeón!!
Buenisimo man! Gracias
Un placer ;)
Hola pablo!
Mil gracias por tu video y canal entero; quedé maravillado.
Una consulta: Quiero validar una escala de medición de tendencia política ("Izquierda" y "derecha") en una escala de likert de 4 puntos y con 11 ítemes. Para esto sigo la parte de dos factores de este video? o sería más recomendable hacer antes un Exploratorio para ver la cantidad de factores que aparecen? porque los 11 ítemes no los tengo divididos como lo hacer en el de dos factores, más bien todos dan información sobre la tendencia política.
Eso. un gran abrazo
Sí haz un exploratorio, es posible que sea unifactorial con dos polos. Saludos ;)
Pablo, excelentisimo!! Eres un gran instructor!! muchas gracias por tu trabajo.
Pablo, podrias compartir la data freme ASIconf para poder hacer el ejercicio en mi computador, por favor? Gracias
He subido un ejemplo con los mismos ítems en la descripción. ;)
Hola Pablo! Me ha sido muy útil tu vídeo, muchas gracias. Te agradecería si me pudieses resolver las siguientes dos dudas:
1. En los índices de ajustes aparece el mismo indicador standard y scaled, por ejemplo: rmsea y rmsea_scalded, incluso algunas veces robust. ¿Cuál es la diferencia? ¿Cuál debemos elegir?
2. Comentas que los fit index-es que presentas son: RMSEA+ índice de confianza, CFI, NNFI. Mi problema es que el índice de confianza es el estándar (.000, .095) y el scaled (.046, .145), es decir, no cumple el requisito 90% I.C., .00, .05. En este caso qué indicadores presentarías?
Saludos
Hola Ana,
1. tendías que elegir el RMSEA que está sobre la columna robusta. Seguramente te salgan muy parecidos porque tu tamaño muestral sea muy pequeño.
2. el IC te da una horquilla muy amplia, seguramente por el bajo tamaño muestral. De todas formas, el requisito no es de 0.00 - 0,05 sino que el IC superior no supere 0,08.
Hola @@PabloVallejoMedina,
Gracias por tu rápida respuesta. Mi tamaño muestral es de 268 personas y obtengo RMSEA_standar= .031 y RMSEA_robusta=.094 y el intervalo de confianza robusto (.046, .145). El resto de coeficientes cumplen los requisitos. Es imprescindible que el RMSEA cumpla los requisitos o me podría guiar por otros índices?
Gracias de antemano,
Ane
@@aneizagirre9853 No sé nada sobre la escala ni la sintaxis. Puedo indagar cosas sobre los resultados. Efectivamente es un tamaño muestral pequeñito para un SEM.Imagino que la escala de respuesta es larga (más de 5 alternativas)? estoy en lo cierto?
@@PabloVallejoMedina Sí es una escala tipo likert.
@@aneizagirre9853 De más de 5 categorías?
Hola, excelente vídeo, sólo me queda una duda, en la parte de la prueba chi cuadrada tengo entendido que se busca un valor-p mayor a 0.05 lo cual equivale a no rechazar o aceptar la hipotesis nula de la prueba, pero más detalladamente, cuál es esta hipotesis? Según lo que he visto esta sería suponer que existe una relación entre los items con los factores, así estaría bien plantearla?
Hola si hay diferencias entre tu modelo y tus datos (p0.05) "bueno". Pero digamos que una de las ventajas de SEM es transcender el pvalue, por lo que casi nadie lo utiliza para tomar decisiones (sobre todo porque a tamaños muestrales grandes -prerequsisito para el SEM- siempre te va a dar significativo)
Hola, excelente vídeo!!
Quería preguntarte la diferencia de usar la función " cfa "y "sem" del paquete lavaan.
CFA está preparada para hacer análisis confirmatorios y sem para hacer otro tipo de modelos con ecuaciones estructurales, CFA incluido ;)
Hola Pablo. Una vez más muchas gracias por tus videos, son de mucha ayuda. Aprovecho para preguntarte una duda rápida, si tienes un cuestionario con 5 opciones de respuesta de 10 ítems cuya asimetría y curtosis univariante está entre -1 y +1 para todos los casos pero que no cumple la normalidad multivariada (como casi siempre en psicología), ni asimetría ni curtosis multivariada por separado. ¿Que matriz y método de extracción recomendarías tú?
Muchas gracias de nuevo.
Un saludo!
Hola Diego, no sé. Son decisiones que requieren mucha información
Hola: Deberías emplear Minimos Cuadrados No ponderados (Estimador). redined.educacion.gob.es/xmlui/bitstream/handle/11162/217964/7-17.pdf?sequence=1&isAllowed=y Aquí te lo explican mejor. Abrazo
Hola una pregunta ¿Cuál sería el código para pedir índices de modificación el AFC? muchas gracias
Muchas gracias. Cuando ya se tienen los pesos, solo hay que sacar la suma del producto de los pesos con las variables correspondientes para cada factor y esos serían los resultados de cada factor?
O qué sigue despues de que se encuentran y se validan los pesos?
Yo simplemente sumaría ítems por factor.
Muy buenos tus videos! Quería preguntarte cuál sería la sintaxis para agregar más factores en el análisis confirmatorio?
cada factor está formado por:
Factor 1 =~ x1 + x2 + x3
Factor 2 =~ x4 + x5 + x6
Factor 3 =~ x7 + x8 + x9
Así pero con tus variables y datos.
Para variables dicotómicas, ¿cómo puedo hacer para que utilice una matriz de correlaciones tetracórica? ¿es adecuado utilizar ordered para que use correlaciones policóricas?
Muy buen videotutorial.
Como sugerencia, podría, si lo hay, explicar con algun paquete de R si se puede crear el gráfico (de Paths) para luego confirmarlo. Existe esta posiblidad como en AMOS?
mhh Onix?
@@PabloVallejoMedina Gracias, ya estoy explorándolo.
Por cierto, he encontrado este libro que puede ser de interés si no lo había consultado: Structural Equation Modeling with lavaan
Kamel Gana y Guillaume Broc
Hola Pablo, tengo otra duda en particular con el grafo del final. No sé qué significa la linea punteada que aparecen en dos ítemes, el valor que aparece en color gris oscuro y algunas flechas asociadas que no se ven bien. también tengo dudas de las líneas verticales y horizontales que aparece en cada ítem.
Y finalmente: probé cambiando el layout "circles 2" a "tree2" y vi que habían diferencias de valores. qué es exactamente el alyour entonces? No me quedó muy claro leyendo sobre el paquete lavaan.
un abrazo y gracias.
Hola el layout circles 2 no pertenece al paquete lavaan sino a SemPlot. y las flechas valores son los de siempre. Errores estandarizados, pesos estandarizados, covarianzas...
Excelente Pablo. Como soy nuevo en el tema, quisiera consultarte por lo que has comentado de realizar el AF confirmatorio en una muestra independiente. Cuando creamos una escala por ejemplo y la probamos en una muestra piloto de unos 30 individuos ¿Podemos realizar el AF exploratorio en esta y el confirmatorio en otra muestra más representativa (cuando se valúan las propiedades psicométricas)? ¡Gracias!
Si es un piloto no hay lio. Pero nunca haría un AFE o AFC con solo 30.
Respecto a lo de las dos muestras independientes, lo digo por que lo que se ha explorado en una matriz va a confirmarse en esa misma matriz.
@@PabloVallejoMedina ok perfecto, gracias por tu respuesta !
Hola, una pregunta, cuando realizo el análisis me aparece la siguiente advertencia:
Warning messages:
1: In lav_model_vcov(lavmodel = lavmodel, lavsamplestats = lavsamplestats, :
lavaan WARNING:
The variance-covariance matrix of the estimated parameters (vcov)
does not appear to be positive definite! The smallest eigenvalue
(= -2.460775e-17) is smaller than zero. This may be a symptom that
the model is not identified.
2: In lav_object_post_check(object) :
lavaan WARNING: covariance matrix of latent variables
is not positive definite;
use lavInspect(fit, "cov.lv") to investigate.
¿Qué puedo hacer? muchas gracias
Hola, tienes mal identificado el modelo. No es un problema de R, es un problema de comprensión de SEM.
Hola Pablo, no entendí muy bien cómo sería el comando si quiero usar la matriz de correlaciones Tetracórica para ítems con respuesta dicotómica.
Pablo, excelente tus videos. Que bibliografía me recomendarías para AF?
Con total honestidad... ni idea. Yo me he ido formando más con artículos que con libros. Así que no te puedo recomendar nada ;)
Hola Pablo! Cómo estás? Muchas gracias por tu video! Quería consultarte porque los indicadores que dicen "Robust" aparecen como N/A tanto en el summary como en el fitmeasures. Gracias!
En mi video creo que si salen valores, o no te estoy entendiendo bien.
Hola! Muchas gracias por tu video. ¿Qué diferencias o ventajas hay entre usar la función ipak vs usar pacman?
Hola, perdón no vi tu comentario. Creo que la función ipak fue el inicio de pacman. Ninguna ventaja. Yo me acostumbré a hacerlo así. ;)
Excelente gracias por compartir el conocimiento, qué material teòrico (autor, paper, libro, etc) recomiendas leer antes para comprender esta tècnica para no matemàticos?
Yo empezaría con: Structural Equation Modeling with R. de Byrne ;)
Hola excelente día, me surgió una duda ojalá puedas ayudarme, al meter la sintaxis especificando como estimador el WLSMV los resultados me los da con DWLS, nosé qué deba hacerse para que me de los resultados del estimador solicitado, gracias!
Hola pablo que tal, tengo una pregunta, en AMOS utilizando el método estimación Minimos cuadrados no ponderados(ULS) no arroja RMSEA, CFI y TLI, sin embargo en R sí, si hice mi análisis con R es correcto reportarlos?
Hola Aquiles, ni idea. Hace literalmente 12 años que dejé de trabajar con AMOS, luego pasé a EQS y luego a R. La respuesta más probable es que AMOS es peor y los algoritmos no se implementan de la misma forma que en R.
@@PabloVallejoMedina Muchas gracias por responder, concuerdo, en conclusión aunque se suele usar mucho amos es bastante limitado en comparación a R studio.
Hola Pablo! Ayúdame con una duda! Qué pasa si al generar el modelo tengo una línea punteada o roja? Quiere decir que tiene alguna covarianza negativa?
Hola, no lo sé. A ver matemáticamente las covarianzas no pueden ser negativas, pero podría ser una correlación, pero depende de cómo estés poniendo la sintaxis.
sos alto capo
Muchas gracias!!!
Hola Pablo, si, queria preguntar si trabajaras el shortform.
Hola Amalia.... esta pregunta me coge un poco desubicado. ¿Qué es shortform?
En este ejemplo tuviste un buen ajuste, pero ¿Qué pasa cuando el ajuste es pobre y tienes que hacer re especificaciones? ¿Qué criterios se usan para realizar los movimientos recomendados por modindices()?
Hola Karen, pues siempre debe haber sustento teórico, que
tenga lógica.
Hola Pablo. Quiero utilizar como matriz de estimación la matriz de correlación de Pearson en vez de la matriz policórica. En el vídeo das a entender que lo de la matriz policórica lo asignas con el argumento ordered, pero viendo la documentación de lavaan no me queda muy claro github.com/yrosseel/lavaan/blob/master/man/cfa.Rd#L23 si tendría que seguir utilizando el argumento para pearson o no. Para utilizarla le he añadido el siguiente argumento a la función cfa: WLS.V=cor(data). El modelo se calcula pero me salen más de 50 warnings (para 141 filas de datos) del tipo 48: In lavsamplestats@WLS.VD[[g]] * diff :
longer object length is not a multiple of shorter object length
49: In diff * diff * WLS.VD :
longer object length is not a multiple of shorter object length
50: In diff * diff * WLS.VD :
longer object length is not a multiple of shorter object length
Por todo esto estoy bastante confuso. Me podrías ayudar a confirmar si es correcto lo que estoy haciendo por favor?
Además, el tipo de rotación tiene que ser Direct Oblimin, pero no veo por ningún lado si esta es por defecto o si se puede cambiar. Me podrías ayudar con eso por favor?
Muchísimas gracias de antemano!
Sí, creo que está bien. También puedes subir la matriz cor como data.
Muchas gracias por el video, es demasiado útil. Tengo un par de dudas. ¿Cómo calculas la fiabilidad del los datos? Alfa ordinal? cómo lo incorporas en la sintaxis? y la otra duda, cómo sería una sintaxis para un modelo de segundo orden.
Saludos
Para un factor de segundo orden es muy fácil:
Simplemente añades una última línea en la especificación de los modelos con la suma de los factores primarios así:
Second =~ Host + Benev'
De tal forma que te queda así:
Twofactorsecondorder
Por cierto, acaba de salir cómo calcular el alfa ordinal ;)
@@PabloVallejoMedina Muchas gracias! Estoy revisando todos los videos previos para llegar a ese. Saludos
@@PabloVallejoMedina gracias por tus videos, son geniales. Tengo una duda con datos provenientes de escala Likert de 1 a 5,
El siguiente modelo funciona perfectamente
Model
@@firstalk Hola, tienes que constreñir más el modelo. Tienes más variables a estimar que las proporcionadas. Te toca ver que varianzas pones en 1 o que pesos fijas en qué valor ;)
Hola Pablo!
Me saltó este error:
Warning message:
In lav_model_vcov(lavmodel = lavmodel, lavsamplestats = lavsamplestats, :
lavaan WARNING:
The variance-covariance matrix of the estimated parameters (vcov)
does not appear to be positive definite! The smallest eigenvalue
(= -1.946701e-17) is smaller than zero. This may be a symptom that
the model is not identified.
Este es mi modelo:
GESAFC
Hola, tienes el modelo mal especificado. Es una cuestión teórico/matemática no de r. Prueba restringiendo un poco más ;)
@@PabloVallejoMedina gracias por tu respuesta! En mi modelo como podría realizar esa restricción?
@@guadapupeok Hola, no sé tendría que conocer bien la teoría y los datos. No puedo ayudarte con eso.
Muy bueno tu video, deja muy sencillo la explicación, solo una duda. Si quisiera probar un modelo de un factor general y 2 subfactores como sería la sintaxis?
m5a
@@PabloVallejoMedina Una pregunta sobre esta opción bifactorial: no faltaría en esta sintaxis el factor general incluyendo todos los ítems? Es decir,
m5a
@@mavicerezog Hola, lo que yo propongo arriba no es un bifactor. Sino un factor de segundo orden. Para mi no tiene mucho sentido un bifactor en SEM. Al final todo satura con todo y los ajustes salen casi perfecto (como es tu caso). El modelo hiper saturado es el perfecto. Si vas a hacer un bifactor hazlo desde un paradigma ESEM. Tampoco tiene sentido covariar los dos factores cuando los efectos de estos se unifican sobre un nuevo factor latente de segundo grado. Nuevamente sería saturar artificialmente el modelo.
Muy bueno el video y bastante útil. ¿Tu crees que puedas recomendarnos literatura fiable para entender mejor el uso?
Hola, para entender el uso de Lavaan o de AFC en general? ;)
@@PabloVallejoMedina AFC en general, gracias.
@@CarlosMestanzaNovoa Yo creo que para empezar empezar lo suyo es AMOS. Enseguida se queda pequeño, pero ayuda a entender algunos conceptos. Para ello Structural Equation Modeling With R: Basic Concepts, Applications, and ... de Byrne.
Hola. Gracias por este gran video. Cómo hago para ejecutarlo con la matriz tretacórica? Yo tengo 5 factores y datos binarios
Hola, matemática y computacionalmente la matriz policórica y la tetracótica son iguales. Es decir es más bien una diferenciación topográfica pero no práctica. Así que lo puedes hacer como lo hago yo ;). Un saludo.
Excelente video! solo una pregunta ¿Dónde veo las cargas factoriales estandarizadas en el output?
Saludos!
Hola, ponle standardized=TRUE al argumento summary y te salen en Std.all.
Sino en el pathdiagram ;)
@@PabloVallejoMedina Gracias!
@@eloyolivavasquez6870 De nada
Hola Pablo!! Muchísimas gracias por tu video!! :) Te quería hacer una pregunta para mi tfm. En el video comentas que no se debe usar la misma muestra en el análisis exploratorio y en el confirmatorio. Es cierto?
He creado una escala de 26 items basada en 13 dimensiones con dos items por dimensión (muy similares) con el objetivo de dejar solo un item por dimension y hacerla unidimensional. La he adiministrado a 300 personas para hacer el análisis exploratorio con esos 26 items.
Ahora la he reducido a 12 items, aunque me ha bajado el alpha de cronbach. Creo que estoy haciendo algo mal...
Disculpa el párrafo,
He buscado información y no he encontrado nada al respecto,
Muchaas gracias de antemano!!
Hola Rebeca, sí la verdad, todo suena incorrecto para mi. Si no partes de una definición semántica y sintáctica clara de tu constructo empiezas mal. De cualquier forma crear un test suele ser un proceso de entre 3 a 4 años. Así que tampoco me parece una buena idea para un TFM. Y sí, lógicamente lo que has explorado en una matriz te va a confirmar en esa misma matriz.
@@PabloVallejoMedina Muchas gracias Pablo! Aquí tienes una suscriptora más!:))
Tenía unos 15 items por dimension (13, basadas en en literatura, en un focus group y en una necesidad de un proyecto) lo que resultaba en una escala sin sentido con unos 190 items... Me recomendaron hacerla unidimensional. Deje dos items similares (Es útil/ Me parece útil). Utilizo los datos obtenidos de las 300 personas para que me digan con cual es mejor que me quede, aparte de la valoración de un panel de expertos. Está mal esta forma de crear una escala unidimensional?
Valoro mucho tu opinión porque es la primera vez que creo un test y al leer veo que no hay una regla estandar, pero yo lo quiero hacer lo mejor posible. Estoy en el proceso de prevalidación. Gracias de nuevo
@@rebecaolivan9309 Hola rebeca, yo nunca he creado un test. Me parece tremendamente complejo y además casi siempre ha habido un americano que ya lo ha hecho -y mejor de lo que yo podría hacerlo- así que prefiero adaptar. Además, sino hacemos la psicología prácticamente irreplicable. Si quieres te recomiendo estos artículos:
www.redalyc.org/pdf/337/33705307.pdf
y
aepc.es/ijchp/NDREI07_es.pdf
Seguro que te orientan.
@@PabloVallejoMedina Muchas gracias Pablo!!
@@rebecaolivan9309 Un placer.
Gracias Pablo excelente video, por favor me compartes el archivo ASIconf, en Github el dataframe es diferente, gracias
No tengo la base exacta porque los resultados no están publicados aún, la que hay es una muestra de la grande.
Hola!la función fitMeasure también da la p de Satorra-Bentler? No consigo localizarla..
Hola, si eliges un método compatible con la Santorra, como por ejemplo lm robusta, por defecto la chi cuadrado robusta es la de Satorra
Hola!! Muchas gracias por tu video, tengo una duda..hay algun cambio en el script de R...cuando la data tiene valores dicotomicos (0,1)? Muchas gracias!
Hola Jackeline, es una muy buena pregunta. Técnicamente sí, al matizarle que las variables son ordinales el paquete trabaja con la matriz policórica, al meterle datos dicotómicos en vez de ordinales, hará la misma matriz, que en realidad es computacionalmente igual que la tetraclórica. Así que debería hacértelo de forma correcta. Eso en teoría, no estaría de más calcular aparte la matriz tetra y metérsela como los datos de imput.
Seguramente te de menos líos si trabajas directamente con la matriz.
@@PabloVallejoMedina Genial! Muchas gracias por la aclaracion! Me voy a buscar unos articulos para profundizar este tema, que esta bueno!!
No entendí muy de donde sale la data ASIconf
Pablo, muchas gracias por toda tu ayuda, me ha servido mucho. Tengo una pregunta, como seria la sintaxis para el modelo TAM? Muchas gracias de nuevo
Hola, sería un modelo SEM. Será un próximo chupito ;)
Super, tienes pensado hacerlo pronto?
@@edwinvacca3610 Pues la verdad, no. Pero el contenido del canal depende en parte de las solicitudes. Así que lo subiré en los próximos 30 días ;)
@@PabloVallejoMedina Gran maestro, Sensei, me gustaria conocer tu opinion de este script para el modelo TAM
SEM
@@PabloVallejoMedina para cuando podrias compartirnos el chupito de r para el modelo TAM? :)
Hola! Sabes como se pueden correlacionar los errores en la ilustración del modelo?
si los especificas en el modelo creo que te salen, ¿no? sino habrá que activar algún TRUE, pero no sé exactamente cuál.
Hola, una duda: En el output, cuáles serían los valores de las cargas factoriales que debemos tomar en cuenta?
No sé si se los pedí en la sintaxis. Pero son los que salen en la figura.
Pablo hola, tengo todo el proceso del AFC, pero me falta crear el grafico final de los pesos estandarizados (semPaths), SABES COMO PUEDO EJECUTARLO O QUE CODIGO UTILIZO?? siempre un exito
Hola, no te sirve la sintaxis mia?
Hay que instalar el parquete semPlot
Scaled y Robust son lo mismo? a mi solo me genera la columna "scaled".
Hola, porque no estarás pidiendo un método de estimación robusto. Pero no, no son lo mismo.
Hola Pablo!
Mil gracias por tus vídeos!
En mi caso, me da error al ejecutar la función sempaths, me dice que no puede encontrarla.
No sé si es porque tengo 5 factores o porque en Rstudio da problemas esa función.
Me sale esto:
Error in sempaths(CFAfive, intercepts = FALSE, edge.label.cex = 1.5, optimizeLatRes = TRUE, : could not find function "sempaths"
Gracias de antemano
Hola Carmen, la función no es sempaths sino semPaths Un saludo ;)
@@PabloVallejoMedina oh dios mío! Qué maravilla. Mil gracias!!! 👏😊
Hola, como puedo crear una sintaxis para hacer un modelo con errores correlacionados
# residual covariances
y1 ~~ y5
Hola Pablo te quería consultar si existe alguna forma de obtener el indice de validez de contenido lawshe. Muchas gracias !
No creo que haya nada, la formula es muy sencilla. Tu mismo la puedes programar. CVR = (Ne - N/2)/(N-1)
@@PabloVallejoMedina Excelente muchas gracias ! no sabría como programarla, me aconsejas un tutorial?
@@leandroeidman6422 si quieres échale un ojo a uno de mis últimos vídeos de cómo hacer tus propias funciones. ;)
@@PabloVallejoMedina GRACIAS GENIO COMO SIEMPRE !
Buen material. Tengo una duda. He descargado la base de referencia y he renombrado las variables ASI1:ASI12 a X1:X12, sin embargo, al momento de crear el df ASIconf algo sucede y los AFC desajustan un montón respecto de lo que muestras. Espero que alguien pueda ayudarme a comprender el por qué de esto (dejo la sintaxis que estoy usando):
ipak (mismo del video)
setwd(local)
df
Hola, no estás poniendo los ítems correctamente en su factor. EL primer factor no lo forman los ítems 1, 2, 3, 4, 5 y 6. sino otros. ;) Saludos.
@@PabloVallejoMedina ¿Podrías subir el df que has utilizado en EFA y CFA? La base que está en github (DFEFA) es la general y no sé cómo seleccionaste los ítems. Gracias
@@bladimir1020 Solo los del ASI (el AMI es otra escala).
Hola estoy trabajando con esa misma libreria pero me genera un error al llamarla tendrias idea de por que ?
es en library(semplot) ya la instale pero al cargarla me dice que no existe!
queria generar ese plot que muestras al final
semPlot con mayúscula la p ;)
Holaa puedes ayudarme tengo problemas con el script no me sale la plantilla del script en R.
No entiendo cuál es el problema ;)
Estimado Pablo: he llevado a cabo el AFC, pero lavaan me muestra los siguientes errores, me podrías guiar en este aspecto:
Warning message:
In lav_model_estimate(lavmodel = lavmodel, lavpartable = lavpartable, :
lavaan WARNING: the optimizer (NLMINB) claimed the model converged,
but not all elements of the gradient are (near) zero;
the optimizer may not have found a local solution
use check.gradient = FALSE to skip this check
Además este:
fitMeasures(CFAfour)
Error in lav_fit_measures(object = object, fit.measures = fit.measures, :
lavaan ERROR: fit measures not available if model did not converge
Ya lo he solucionado !
Buenos días. A mí también me ha salido el mismo error. Por favor, ¿me podría indicar cómo lo solucionó? Agradezco de antemano su respuesta.
@@andyricksanchezvillena8469 Hola lo primero que hice fue dividir el df en dos con una parte de ella llevé a cabo un AFE, luego de ver las cargas de los items, con la otra parte de la df hice el AFC y eso corrigió el problema. Inicialmente creo que tenia problemas con la identificación del modelo.
Sí, seguramente está mal definido el modelo. Y por eso no converge!!
Así es, me alegro que te vaya saliendo. El martes sube otro de propiedades psicométricas.
muy bueno, podrias ayudarme en ver que estoy haciendo mal... por favor
me salio este error
Error in lav_data_full(data = data, group = group, cluster = cluster, :
lavaan ERROR: missing observed variables in dataset: ..constant..
el scrip que estoy usando es este:
modeloE1
Diría que tienes datos perdidos en los datos, no?
Buenas, me da error el paquete semPlot e Mac. Alguien sabe como solucionarlo?
Hola iria, que error te da?
@@PabloVallejoMedina Perdona acabo de verlo, me pone algo así como que no he cargado un paquete gtools. Error: “package or namesplace load failed”
@@iriadelaosa7334 hello, pues seguramente te falte cargar ese paquete. Cárgalo y a ver si hay suerte.
Perdón la molestia pero me podrías enseñar otros diseños o comandos que tengan otros diseños? gracias !!
no sé muy bien a qué te refieres. En lavaan.ugent.be/ tienes diferentes ejemplos
Pablo Vallejo Medina gracias pablo por tu respuesta siempre! Me refiero si no existen otros diseños de los gráficos que salen, es decir otra forma de que se presenten las dimensiones y los pesos de regresión de los reactivos que no sea el diseño de circle. Por otro lado, me podrías facilitar alguna dirección para leer algún artículo que hayas escrito o algún tutorial para informar los resultados en papers ? Nuevamente gracias !
@@leandroeidman6422 Ahh, no te creas que hay muchas, échale un ojo al paquete original, pero vaya.:
tree The integrated tree-like layout. Places exogenous variables at the top and
endogenous variables at the bottom. See ’details’ for more details.
circle The same layout as "tree", except that afterwards the horizontal levels
of the layout are placed in circles. Especially useful for models with a
large number of manifest variables and a relatively small number of latent
variables.
spring Calls the "spring" layout in qgraph, which uses the Fruchterman-reingold
algorithm (Fruchterman & Reingold, 1991).
tree2 Calls the layout.reingold.tilford function from the igraph package
(Csardi & Nepusz, 2006), which uses the Reingold-Tilford algorithm (Rein-
gold & Tilford, 1981). Before calling the algorithm roots are chosen and a
slightly modified version of the graph is used to produce consistent results.
See ’details’.
circle2 The same layout as "tree2", except that afterwards the horizontal levels
of the layout are placed in circles.
Other options If the assigned value is not in this list it is sent to qgraph. This
allows for manual specification of the layout as well as using functions
found in the ’igraph; library.
Pablo Vallejo Medina excelente !!!!!! Muchas gracias ! Cuando puedas me facilitarías alguna dirección para leer artículos donde pueda ver la forma de informar los resultados ? Sos un genio !!!
@@leandroeidman6422 Este está en abierto: www.mdpi.com/1660-4601/17/11/3762/htm
Ilumíname con tu conocimiento, cuando hago el cfa con un factor todo bien, pero, cuando lo ejecuto con los dos factores del test me sales
Warning messages:
1: In lav_model_estimate(lavmodel = lavmodel, lavpartable = lavpartable, :
lavaan WARNING: the optimizer (NLMINB) claimed the model converged,
but not all elements of the gradient are (near) zero;
the optimizer may not have found a local solution
use check.gradient = FALSE to skip this check.
2: In lav_model_estimate(lavmodel = lavmodel, lavpartable = lavpartable, :
lavaan WARNING: the optimizer (NLMINB) claimed the model converged,
but not all elements of the gradient are (near) zero;
the optimizer may not have found a local solution
use check.gradient = FALSE to skip this check.
3: In lav_model_estimate(lavmodel = lavmodel, lavpartable = lavpartable, :
lavaan WARNING: the optimizer warns that a solution has NOT been found!
4: In lav_model_estimate(lavmodel = lavmodel, lavpartable = lavpartable, :
lavaan WARNING: the optimizer warns that a solution has NOT been found!
Warning message:
In .local(object, ...) :
lavaan WARNING: fit measures not available if model did not converge
Ya no sé que hacer :c
Hola Serio, tu modelo no itera bien. Hay entre 11 a 15 posibles soluciones. Te toca leer al respecto.
@@PabloVallejoMedina ¿algo que me recomiendes para iniciar?
@@gereror Principles and Practice of Structural Equation Modeling, Fourth Edition por ahí puedes empezar.
@@PabloVallejoMedina Gracias, eres mi gurú
@@gereror Cuando me veas por la calle algún día me invitas a una cerveza ;)
Mucho hablas crack
Muchas gracias!!!