gastonstat / plspm

R package plspm
62 stars 26 forks source link

Problemas con el modelamiento #19

Closed samirnemechaves closed 4 years ago

samirnemechaves commented 4 years ago

Estimado Gastón estoy tratando de hacer el siguiente modelo :

image

Ha construido la matriz de la siguiente manera:

                                   #  1  2  3  4  5  6  7  8  9  10 11
Riesgo             =              c (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
Seguridad         =            c (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
Privacidad        =             c (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
Reputación       =             c (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
Utilidad        =                  c (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
Calidad         =                 c (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
Confianza       =               c (1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0)
Satisfacción    =               c (0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0)
Actitud        =                  c (0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0)
Intencion     =                  c (0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0)
Lealtad       =                    c (0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0)

Pero al momento de llevar al correr la linea: confidence_pls = plspm(data, confidence_path, confidence_blocks, modes = confidence_modes), me aparece el siguiente error:

Error in check_path(path_matrix) : 'path_matrix' must be a lower triangular matrix

Usted me podría ilustrar que puedo tener en cuenta

Según creo no hay problemas con la diagonal.... sin embargo a estas alturas no estoy seguro

image

Anexo mi script general, por si le es de utilidad:

                                   #  1  2  3  4  5  6  7  8  9  10 11
Riesgo             =              c (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
Seguridad         =            c (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
Privacidad        =             c (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
Reputación       =             c (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
Utilidad        =                  c (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
Calidad         =                 c (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
Confianza       =               c (1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0)
Satisfacción    =               c (0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0)
Actitud        =                  c (0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0)
Intencion     =                  c (0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0)
Lealtad       =                    c (0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0)

# path matrix created by row binding
confidence_path = rbind(Riesgo, Seguridad, Privacidad, Reputación, Utilidad, Calidad, Satisfacción, Actitud, Lealtad, Confianza, Intencion)
# add column names (optional)
colnames(confidence_path) = rownames(confidence_path)
# let's see it
confidence_path
# plot the path matrix
innerplot(confidence_path)        
# define list of indicators: what variables are associated with
# what latent variables
confidence_blocks = list(1:6, 7:11, 12:16, 17:20, 21:25, 26:40, 41:45, 46:47, 48:50, 51:53, 54:60)  
# all latent variables are measured in a reflective way
confidence_modes = rep("A", 11)
#modificar los simbolos

# run plspm analysis
confidence_pls = plspm(data, confidence_path, confidence_blocks, modes = confidence_modes)
# summarized results
summary(confidence_pls)
plot(confidence_pls)
plot(confidence_pls, what = "loadings", arr.width = 0.1)
#Cronbach's alpha
confidence_pls$unidim[, 3, drop = FALSE]
# dillon-goldstein rho
confidence_pls$unidim[, 4, drop = FALSE]
# inner model summary
confidence_pls$inner_summary
# unidimensionality
confidence_pls$unidim
#Cargas y comunalidades (esto solo se mide en el modelo exterior)
confidence_pls$outer_model
# cross-loadings
confidence_pls$crossloadings

Muchas gracias, lamento las molestias

Saludos,

samirnemechaves commented 4 years ago

Ya lo he solucionado he modificado el pathmatrix de: confidence_path = rbind(Riesgo, Seguridad, Privacidad, Reputación, Utilidad, Calidad, Satisfacción, Actitud, Lealtad, Confianza, Intencion)

A

confidence_path = rbind(Riesgo, Seguridad, Privacidad, Reputacion, Utilidad, Calidad, Confianza, Satisfaccion, Actitud, Intencion, Lealtad)

Con esto he conseguido continuar con los cálculos