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

Комментарии • 208

  • @rudymanuelbarriosmontealeg975
    @rudymanuelbarriosmontealeg975 10 месяцев назад +1

    16:47 : orthogonal=FALSE, para relacionar variables latentes

  • @miguelangelbasauridelgado7575
    @miguelangelbasauridelgado7575 3 года назад

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

    • @PabloVallejoMedina
      @PabloVallejoMedina  3 года назад +1

      A ver cuánto duran las energías, de momento este 2021 ya he retornado.

  • @RJRO104
    @RJRO104 6 месяцев назад

    Excelente! Muchas gracias! Bien explicado y el ejemplo muy práctico.

  • @josearethestevezceballos2290
    @josearethestevezceballos2290 4 года назад

    Excelente video Pablo. Quiero trabajar psicometría en r, y tu video ha sido muy valioso. Gracias

  • @dianaalcantara7180
    @dianaalcantara7180 4 года назад

    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!

    • @PabloVallejoMedina
      @PabloVallejoMedina  4 года назад

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

  • @sebastiansolartegomez9093
    @sebastiansolartegomez9093 Год назад

    Buenos audífonos Pablo, sigue así.

  • @andresalvarez2183
    @andresalvarez2183 2 года назад +1

    Hola Pablo muchas gracias por tus videos, están muy bien. ¿Ya no haces más contenido? Saludos y gracias de nuevo

  • @samirricardoneme-chaves9086
    @samirricardoneme-chaves9086 4 года назад

    Gracias sin duda lo voy a usar, en un articulo que es la continuación del que te comenté alguna vez

  • @MrFitomania
    @MrFitomania 2 года назад

    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.

  • @mlurios
    @mlurios 4 года назад

    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)

    • @PabloVallejoMedina
      @PabloVallejoMedina  4 года назад

      Te refieres a cómo se relaciona tu escala con otras similares?

    • @mlurios
      @mlurios 4 года назад

      @@PabloVallejoMedina me refería al AVE entre los factores dentro de la misma escala, en tu ejemplo el AVE entre hostil y benevolente.

    • @PabloVallejoMedina
      @PabloVallejoMedina  4 года назад

      @@mlurios Como una covarianza o correlación entre ellos?

    • @mlurios
      @mlurios 4 года назад

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

  • @karlaedithgonzalez5073
    @karlaedithgonzalez5073 3 года назад

    Gracias por compartir!

  • @mike128677
    @mike128677 4 года назад +1

    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

  • @Elvuevaso
    @Elvuevaso 3 года назад

    Muchas gracias!

  • @edwinvacca3610
    @edwinvacca3610 3 года назад

    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!

    • @PabloVallejoMedina
      @PabloVallejoMedina  3 года назад

      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.

  • @mavicerezog
    @mavicerezog 3 года назад

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

    • @PabloVallejoMedina
      @PabloVallejoMedina  3 года назад

      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.

    • @mavicerezog
      @mavicerezog 3 года назад

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

    • @mavicerezog
      @mavicerezog 3 года назад

      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.

    • @PabloVallejoMedina
      @PabloVallejoMedina  3 года назад

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

    • @PabloVallejoMedina
      @PabloVallejoMedina  3 года назад +1

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

  • @leandroeidman6422
    @leandroeidman6422 4 года назад +1

    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 !

    • @PabloVallejoMedina
      @PabloVallejoMedina  4 года назад

      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.

    • @leandroeidman6422
      @leandroeidman6422 4 года назад +1

      @@PabloVallejoMedina Muchas Gracias Genio !!!

    • @PabloVallejoMedina
      @PabloVallejoMedina  4 года назад

      @@leandroeidman6422 a ti campeón!!

  • @CEDESSMX
    @CEDESSMX 3 года назад

    Buenisimo man! Gracias

  • @Fvr242
    @Fvr242 3 года назад

    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

    • @PabloVallejoMedina
      @PabloVallejoMedina  3 года назад +1

      Sí haz un exploratorio, es posible que sea unifactorial con dos polos. Saludos ;)

  • @edwinvacca5555
    @edwinvacca5555 3 года назад

    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

    • @PabloVallejoMedina
      @PabloVallejoMedina  3 года назад +1

      He subido un ejemplo con los mismos ítems en la descripción. ;)

  • @aneizagirre9853
    @aneizagirre9853 3 года назад

    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

    • @PabloVallejoMedina
      @PabloVallejoMedina  3 года назад

      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.

    • @aneizagirre9853
      @aneizagirre9853 3 года назад

      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

    • @PabloVallejoMedina
      @PabloVallejoMedina  3 года назад

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

    • @aneizagirre9853
      @aneizagirre9853 3 года назад

      @@PabloVallejoMedina Sí es una escala tipo likert.

    • @PabloVallejoMedina
      @PabloVallejoMedina  3 года назад

      @@aneizagirre9853 De más de 5 categorías?

  • @Alejandro-pu9fp
    @Alejandro-pu9fp 2 года назад

    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?

    • @PabloVallejoMedina
      @PabloVallejoMedina  2 года назад +1

      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)

  • @sebastianbustamantemanriqu7386
    @sebastianbustamantemanriqu7386 4 года назад +1

    Hola, excelente vídeo!!
    Quería preguntarte la diferencia de usar la función " cfa "y "sem" del paquete lavaan.

    • @PabloVallejoMedina
      @PabloVallejoMedina  4 года назад +1

      CFA está preparada para hacer análisis confirmatorios y sem para hacer otro tipo de modelos con ecuaciones estructurales, CFA incluido ;)

  • @diegodiazmilanes3732
    @diegodiazmilanes3732 2 года назад

    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!

    • @PabloVallejoMedina
      @PabloVallejoMedina  Год назад

      Hola Diego, no sé. Son decisiones que requieren mucha información

    • @nicolasalvarezmerlano2340
      @nicolasalvarezmerlano2340 Год назад

      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

  • @mariaenriquetasanchezherna3378
    @mariaenriquetasanchezherna3378 2 месяца назад

    Hola una pregunta ¿Cuál sería el código para pedir índices de modificación el AFC? muchas gracias

  •  2 года назад

    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?

  • @laurasofia7654
    @laurasofia7654 3 года назад

    Muy buenos tus videos! Quería preguntarte cuál sería la sintaxis para agregar más factores en el análisis confirmatorio?

    • @PabloVallejoMedina
      @PabloVallejoMedina  3 года назад +1

      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.

  • @silvianicte
    @silvianicte Год назад

    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?

  • @RaidellAvello
    @RaidellAvello 4 года назад

    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?

    • @PabloVallejoMedina
      @PabloVallejoMedina  4 года назад +1

      mhh Onix?

    • @RaidellAvello
      @RaidellAvello 4 года назад +2

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

  • @Fvr242
    @Fvr242 3 года назад

    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.

    • @PabloVallejoMedina
      @PabloVallejoMedina  3 года назад

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

  • @oscargabrielcastanojoaqui1524
    @oscargabrielcastanojoaqui1524 3 года назад

    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!

    • @PabloVallejoMedina
      @PabloVallejoMedina  3 года назад +1

      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.

    • @oscargabrielcastanojoaqui1524
      @oscargabrielcastanojoaqui1524 3 года назад

      @@PabloVallejoMedina ok perfecto, gracias por tu respuesta !

  • @mariaenriquetasanchezherna3378
    @mariaenriquetasanchezherna3378 2 месяца назад

    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

    • @PabloVallejoMedina
      @PabloVallejoMedina  2 месяца назад

      Hola, tienes mal identificado el modelo. No es un problema de R, es un problema de comprensión de SEM.

  • @salvadorestadistic
    @salvadorestadistic Год назад

    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.

  • @anitahaique
    @anitahaique 3 года назад

    Pablo, excelente tus videos. Que bibliografía me recomendarías para AF?

    • @PabloVallejoMedina
      @PabloVallejoMedina  3 года назад

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

  • @guadapupeok
    @guadapupeok 3 года назад

    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!

    • @PabloVallejoMedina
      @PabloVallejoMedina  3 года назад

      En mi video creo que si salen valores, o no te estoy entendiendo bien.

  • @adriansoto2107
    @adriansoto2107 3 года назад

    Hola! Muchas gracias por tu video. ¿Qué diferencias o ventajas hay entre usar la función ipak vs usar pacman?

    • @PabloVallejoMedina
      @PabloVallejoMedina  3 года назад +1

      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í. ;)

  • @alejandromontenegro9135
    @alejandromontenegro9135 4 года назад

    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?

    • @PabloVallejoMedina
      @PabloVallejoMedina  4 года назад +2

      Yo empezaría con: Structural Equation Modeling with R. de Byrne ;)

  • @user-tu2zw8no4f
    @user-tu2zw8no4f Год назад

    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!

  • @aquiles5976
    @aquiles5976 2 года назад

    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?

    • @PabloVallejoMedina
      @PabloVallejoMedina  2 года назад

      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.

    • @aquiles5976
      @aquiles5976 2 года назад

      @@PabloVallejoMedina Muchas gracias por responder, concuerdo, en conclusión aunque se suele usar mucho amos es bastante limitado en comparación a R studio.

  • @robertomejia1386
    @robertomejia1386 Год назад

    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?

    • @PabloVallejoMedina
      @PabloVallejoMedina  Год назад

      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.

  • @sebastianele2344
    @sebastianele2344 3 года назад

    sos alto capo

  • @amaliaraquelpereznebra5172
    @amaliaraquelpereznebra5172 Год назад

    Hola Pablo, si, queria preguntar si trabajaras el shortform.

    • @PabloVallejoMedina
      @PabloVallejoMedina  Год назад

      Hola Amalia.... esta pregunta me coge un poco desubicado. ¿Qué es shortform?

  • @karensanchez4901
    @karensanchez4901 2 года назад

    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()?

    • @PabloVallejoMedina
      @PabloVallejoMedina  2 года назад

      Hola Karen, pues siempre debe haber sustento teórico, que
      tenga lógica.

  • @JavierLopez-zx8ch
    @JavierLopez-zx8ch 3 года назад

    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!

    • @PabloVallejoMedina
      @PabloVallejoMedina  3 года назад

      Sí, creo que está bien. También puedes subir la matriz cor como data.

  • @mike128677
    @mike128677 4 года назад

    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

    • @PabloVallejoMedina
      @PabloVallejoMedina  4 года назад +1

      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

    • @PabloVallejoMedina
      @PabloVallejoMedina  4 года назад +1

      Por cierto, acaba de salir cómo calcular el alfa ordinal ;)

    • @mike128677
      @mike128677 4 года назад

      @@PabloVallejoMedina Muchas gracias! Estoy revisando todos los videos previos para llegar a ese. Saludos

    • @firstalk
      @firstalk 3 года назад

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

    • @PabloVallejoMedina
      @PabloVallejoMedina  3 года назад

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

  • @guadapupeok
    @guadapupeok 2 года назад

    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

    • @PabloVallejoMedina
      @PabloVallejoMedina  2 года назад

      Hola, tienes el modelo mal especificado. Es una cuestión teórico/matemática no de r. Prueba restringiendo un poco más ;)

    • @guadapupeok
      @guadapupeok 2 года назад

      @@PabloVallejoMedina gracias por tu respuesta! En mi modelo como podría realizar esa restricción?

    • @PabloVallejoMedina
      @PabloVallejoMedina  2 года назад

      @@guadapupeok Hola, no sé tendría que conocer bien la teoría y los datos. No puedo ayudarte con eso.

  • @juliomorin1899
    @juliomorin1899 3 года назад

    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?

    • @PabloVallejoMedina
      @PabloVallejoMedina  3 года назад +1

      m5a

    • @mavicerezog
      @mavicerezog 3 года назад

      @@PabloVallejoMedina Una pregunta sobre esta opción bifactorial: no faltaría en esta sintaxis el factor general incluyendo todos los ítems? Es decir,
      m5a

    • @PabloVallejoMedina
      @PabloVallejoMedina  3 года назад

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

  • @CarlosMestanzaNovoa
    @CarlosMestanzaNovoa 4 года назад

    Muy bueno el video y bastante útil. ¿Tu crees que puedas recomendarnos literatura fiable para entender mejor el uso?

    • @PabloVallejoMedina
      @PabloVallejoMedina  4 года назад +1

      Hola, para entender el uso de Lavaan o de AFC en general? ;)

    • @CarlosMestanzaNovoa
      @CarlosMestanzaNovoa 4 года назад

      @@PabloVallejoMedina AFC en general, gracias.

    • @PabloVallejoMedina
      @PabloVallejoMedina  4 года назад +2

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

  • @felvirrivas3872
    @felvirrivas3872 3 года назад

    Hola. Gracias por este gran video. Cómo hago para ejecutarlo con la matriz tretacórica? Yo tengo 5 factores y datos binarios

    • @PabloVallejoMedina
      @PabloVallejoMedina  3 года назад

      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.

  • @eloyolivavasquez6870
    @eloyolivavasquez6870 3 года назад

    Excelente video! solo una pregunta ¿Dónde veo las cargas factoriales estandarizadas en el output?
    Saludos!

  • @rebecaolivan9309
    @rebecaolivan9309 3 года назад

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

    • @PabloVallejoMedina
      @PabloVallejoMedina  3 года назад

      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.

    • @rebecaolivan9309
      @rebecaolivan9309 3 года назад

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

    • @PabloVallejoMedina
      @PabloVallejoMedina  3 года назад

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

    • @rebecaolivan9309
      @rebecaolivan9309 3 года назад +1

      @@PabloVallejoMedina Muchas gracias Pablo!!

    • @PabloVallejoMedina
      @PabloVallejoMedina  3 года назад

      @@rebecaolivan9309 Un placer.

  • @astridherrera7783
    @astridherrera7783 3 года назад

    Gracias Pablo excelente video, por favor me compartes el archivo ASIconf, en Github el dataframe es diferente, gracias

    • @PabloVallejoMedina
      @PabloVallejoMedina  3 года назад

      No tengo la base exacta porque los resultados no están publicados aún, la que hay es una muestra de la grande.

  • @aneizagirre9853
    @aneizagirre9853 3 года назад

    Hola!la función fitMeasure también da la p de Satorra-Bentler? No consigo localizarla..

    • @PabloVallejoMedina
      @PabloVallejoMedina  3 года назад +1

      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

  • @jackeline5061
    @jackeline5061 4 года назад

    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!

    • @PabloVallejoMedina
      @PabloVallejoMedina  4 года назад +2

      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.

    • @jackeline5061
      @jackeline5061 4 года назад

      @@PabloVallejoMedina Genial! Muchas gracias por la aclaracion! Me voy a buscar unos articulos para profundizar este tema, que esta bueno!!

  • @Guin_So
    @Guin_So Год назад

    No entendí muy de donde sale la data ASIconf

  • @edwinvacca3610
    @edwinvacca3610 3 года назад

    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

    • @PabloVallejoMedina
      @PabloVallejoMedina  3 года назад

      Hola, sería un modelo SEM. Será un próximo chupito ;)

    • @edwinvacca3610
      @edwinvacca3610 3 года назад

      Super, tienes pensado hacerlo pronto?

    • @PabloVallejoMedina
      @PabloVallejoMedina  3 года назад +1

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

    • @edwinvacca5555
      @edwinvacca5555 3 года назад

      @@PabloVallejoMedina Gran maestro, Sensei, me gustaria conocer tu opinion de este script para el modelo TAM
      SEM

    • @edwinvacca3610
      @edwinvacca3610 3 года назад

      @@PabloVallejoMedina para cuando podrias compartirnos el chupito de r para el modelo TAM? :)

  • @lauravazquez9539
    @lauravazquez9539 2 года назад

    Hola! Sabes como se pueden correlacionar los errores en la ilustración del modelo?

    • @PabloVallejoMedina
      @PabloVallejoMedina  2 года назад

      si los especificas en el modelo creo que te salen, ¿no? sino habrá que activar algún TRUE, pero no sé exactamente cuál.

  • @andreavinueza7286
    @andreavinueza7286 4 года назад

    Hola, una duda: En el output, cuáles serían los valores de las cargas factoriales que debemos tomar en cuenta?

    • @PabloVallejoMedina
      @PabloVallejoMedina  4 года назад

      No sé si se los pedí en la sintaxis. Pero son los que salen en la figura.

  • @miguelangelbasauridelgado7575
    @miguelangelbasauridelgado7575 3 года назад

    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

  • @SataBlogSataray
    @SataBlogSataray Год назад

    Scaled y Robust son lo mismo? a mi solo me genera la columna "scaled".

    • @PabloVallejoMedina
      @PabloVallejoMedina  Год назад

      Hola, porque no estarás pidiendo un método de estimación robusto. Pero no, no son lo mismo.

  • @carmenff8871
    @carmenff8871 2 года назад

    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

    • @PabloVallejoMedina
      @PabloVallejoMedina  2 года назад +1

      Hola Carmen, la función no es sempaths sino semPaths Un saludo ;)

    • @carmenff8871
      @carmenff8871 2 года назад

      @@PabloVallejoMedina oh dios mío! Qué maravilla. Mil gracias!!! 👏😊

  • @thealcris25
    @thealcris25 9 месяцев назад

    Hola, como puedo crear una sintaxis para hacer un modelo con errores correlacionados

  • @leandroeidman6422
    @leandroeidman6422 4 года назад

    Hola Pablo te quería consultar si existe alguna forma de obtener el indice de validez de contenido lawshe. Muchas gracias !

    • @PabloVallejoMedina
      @PabloVallejoMedina  4 года назад

      No creo que haya nada, la formula es muy sencilla. Tu mismo la puedes programar. CVR = (Ne - N/2)/(N-1)

    • @leandroeidman6422
      @leandroeidman6422 4 года назад

      @@PabloVallejoMedina Excelente muchas gracias ! no sabría como programarla, me aconsejas un tutorial?

    • @PabloVallejoMedina
      @PabloVallejoMedina  4 года назад

      @@leandroeidman6422 si quieres échale un ojo a uno de mis últimos vídeos de cómo hacer tus propias funciones. ;)

    • @leandroeidman6422
      @leandroeidman6422 4 года назад

      @@PabloVallejoMedina GRACIAS GENIO COMO SIEMPRE !

  • @bladimir1020
    @bladimir1020 3 года назад

    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

    • @PabloVallejoMedina
      @PabloVallejoMedina  3 года назад

      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.

    • @bladimir1020
      @bladimir1020 3 года назад

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

    • @PabloVallejoMedina
      @PabloVallejoMedina  3 года назад

      @@bladimir1020 Solo los del ASI (el AMI es otra escala).

  • @henrymolina4027
    @henrymolina4027 4 года назад

    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

  • @stefanygastelusoto5902
    @stefanygastelusoto5902 4 года назад

    Holaa puedes ayudarme tengo problemas con el script no me sale la plantilla del script en R.

  • @samirricardoneme-chaves9086
    @samirricardoneme-chaves9086 4 года назад

    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

    • @samirricardoneme-chaves9086
      @samirricardoneme-chaves9086 4 года назад

      Ya lo he solucionado !

    • @andyricksanchezvillena8469
      @andyricksanchezvillena8469 4 года назад

      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.

    • @samirricardoneme-chaves9086
      @samirricardoneme-chaves9086 4 года назад +1

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

    • @PabloVallejoMedina
      @PabloVallejoMedina  4 года назад

      Sí, seguramente está mal definido el modelo. Y por eso no converge!!

    • @PabloVallejoMedina
      @PabloVallejoMedina  4 года назад

      Así es, me alegro que te vaya saliendo. El martes sube otro de propiedades psicométricas.

  • @joelpalominoccasa2826
    @joelpalominoccasa2826 2 года назад

    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

  • @iriadelaosa7334
    @iriadelaosa7334 2 года назад

    Buenas, me da error el paquete semPlot e Mac. Alguien sabe como solucionarlo?

    • @PabloVallejoMedina
      @PabloVallejoMedina  2 года назад

      Hola iria, que error te da?

    • @iriadelaosa7334
      @iriadelaosa7334 2 года назад

      @@PabloVallejoMedina Perdona acabo de verlo, me pone algo así como que no he cargado un paquete gtools. Error: “package or namesplace load failed”

    • @PabloVallejoMedina
      @PabloVallejoMedina  2 года назад

      @@iriadelaosa7334 hello, pues seguramente te falte cargar ese paquete. Cárgalo y a ver si hay suerte.

  • @leandroeidman6422
    @leandroeidman6422 4 года назад

    Perdón la molestia pero me podrías enseñar otros diseños o comandos que tengan otros diseños? gracias !!

    • @PabloVallejoMedina
      @PabloVallejoMedina  4 года назад

      no sé muy bien a qué te refieres. En lavaan.ugent.be/ tienes diferentes ejemplos

    • @leandroeidman6422
      @leandroeidman6422 4 года назад

      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 !

    • @PabloVallejoMedina
      @PabloVallejoMedina  4 года назад +1

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

    • @leandroeidman6422
      @leandroeidman6422 4 года назад

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

    • @PabloVallejoMedina
      @PabloVallejoMedina  4 года назад +1

      @@leandroeidman6422 Este está en abierto: www.mdpi.com/1660-4601/17/11/3762/htm

  • @gereror
    @gereror 3 года назад

    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

    • @PabloVallejoMedina
      @PabloVallejoMedina  3 года назад +1

      Hola Serio, tu modelo no itera bien. Hay entre 11 a 15 posibles soluciones. Te toca leer al respecto.

    • @gereror
      @gereror 3 года назад

      @@PabloVallejoMedina ¿algo que me recomiendes para iniciar?

    • @PabloVallejoMedina
      @PabloVallejoMedina  3 года назад +1

      ​@@gereror Principles and Practice of Structural Equation Modeling, Fourth Edition por ahí puedes empezar.

    • @gereror
      @gereror 3 года назад

      @@PabloVallejoMedina Gracias, eres mi gurú

    • @PabloVallejoMedina
      @PabloVallejoMedina  3 года назад +1

      @@gereror Cuando me veas por la calle algún día me invitas a una cerveza ;)

  • @luisangelvega7310
    @luisangelvega7310 2 года назад

    Mucho hablas crack