Fehlermeldung "Indices in Blocks outside..." PLSPM

Varianzanalyse, Diskriminanzanalyse, Kontingenzanalyse, Faktorenanalyse, Clusteranalyse, MDS, ....

Moderator: EDi

Antworten
alicag
Beiträge: 2
Registriert: Sa Jan 11, 2020 10:23 pm

Fehlermeldung "Indices in Blocks outside..." PLSPM

Beitrag von alicag »

Hallo zusammen,

ich verzweifle leider seit mehreren Stunden an einer Fehlermeldung im PLSPM-Modul. Ich habe eine Untersuchung zur Untersuchung der Auswirkungen des Führungsverhaltens auf die Arbeitszufriedenheit durchgeführt und seitens meines Professors besteht die Vorgabe, die Analyse der Wirkungen mit PLSPM vorzunehmen.

Ich habe folgenden Code benutzt:

Code: Alles auswählen

library(plspm)
 
# Teilmenge bilden
# Hier wird auf die für die Modellierung relevanten Variablen eingeschränkt.
# Zuerst kommen die Kontrollvariablen, dann die unabhängigen Variablen,
# dann den Mediator, und zum Schluss die Zielgröße. Bitte auf die Reihenfolge achten!
pls <- Daten[,c("DD02" , "DD04", "DD06", "DE01", "DE02_01",  #  Kontrollvariablen: Berufstätigkeit
                "EF02_01", "EF02_02", "EF02_03", "EF02_04","EF02_05", # unabhängige Variable: EF
                "EF02_06","EF02_07","EF02_08","EF02_09","EF02_10",
                "V001_01", "V001_02", "V001_03", "V001_04", # Mediator
                "AZ02_01" , "AZ02_02" , "AZ02_03" , "AZ02_04", "AZ02_05")] # Zielgröße: Arbeitszufriedenheit)] # Zielgröße: normatives Commitment                )]
dim(pls)
 
#################################################################
# Definition des inneren Strukturmodells
#################################################################
# Zeilen der Matrix
# Kontrollvariablen
Berufstätigkeit = c(0,0,0,0,0,0,0,1) # DD02 Kontrollvariablen: Berufstätigkeit, ...
Führung = c(0,0,0,0,0,0,0,1) # DD04 Führungsverantwortung
Geschlecht_FK = c(0,0,0,0,0,0,0,1) # "DD06" Geschlecht der Führungskraft
Geschlecht = c(0,0,0,0,0,0,0,1) # "DE01" Geschlecht
Alter = c(0,0,0,0,0,0,0,1) # "DE02_01" Alter
 
# Unabhängige Variable
EthischeFuehrung = c(0,0,0,0,0,0,1,1) # EF02_01-EF02_10
 
# Mediator
Vertrauen = c(0,0,0,0,0,0,0,1) # V001_01-V001_04
 
# Zielgröße
Arbeitszufriedenheit = c(0,0,0,0,0,0,0,0,0,0,0,0) # AZ02_02-AZ02_05
 
# Gesamtmodell
pfad <- cbind(Berufstätigkeit, Führung, Geschlecht_FK, Geschlecht, Alter,
              EthischeFuehrung,Vertrauen,Arbeitszufriedenheit)
innerplot(pfad, box.size = 0.12)
 
 
#############################################################################
# Definition des äußeren Modells (Messmodell)
#############################################################################
# Zuordnung der Indikatoren zu den latenten Konstrukten (äußeres Modell)
colnames(pls)
pfad_blocks = list(3, 5, 7, 48, 49, # Kontrollvariablen: Berufstätigkeit, Führung, Geschlecht FK, Geschlecht, Alter
                   9:18, # unabhängige Variable: ethische Führung
                   19:22, # Mediator: Vertrauen
                   33:37) # Zielgröße: Arbeitszufriedenheit
 
pfad_blocks
 
#############################################################################
# Reflexives oder formatives Messmodell.
# Für jede Variable im inneren Strukturmodell ist anzugeben, ob sie reflexiv oder
# formativ gemessen wird. Dabei werden Variablen, die mit einem Indikator gemessen
# werden, als formativ angegeben.
# (A - reflexiv, B - formativ)
pfad_modes = c("B","B","B","B","B","A","A","A")
pfad_modes
 
#############################################################################
# Skalenniveau
# Für jede Variable im äußeren Messmodell ist das Skalenniveau (num - nummerisch oder
# nom - nominal) anzugeben.
str(pls) # hilft bei der Festlegung der Skalenniveaus
pfad_scaling = list("num",
                    "num",
                    "num",
                    "num",
                    "num",
                    c("num", "num", "num","num","num","num",
                      "num","num","num","num"), # 1 unabh. Variable, 10 Indikatoren
                    c("num","num","num","num"), # 1 Mediator, 4 Indikatoren
                    c("num","num","num","num","num")) # Zielgröße Arbeitszufriedenheit, 5 Indikatoren
pfad_scaling
 
#############################################################################
# Pfadanalyse durchführen
pfad_pls = plspm(na.omit(pls), path=pfad, blocks=pfad_blocks, scaling=pfad_scaling, modes = pfad_modes)
summary(pfad_pls) 
Wenn ich den Code ausführe erhalte ich folgende Fehlermeldung:

Fehler in check_blocks(blocks, Data): Indices in "blocks" outside the number of columns in "Data"

Ich habe alles mehrfach geprüft, aber sehe scheinbar den Wald vor lauter Bäumen nicht..

Danke im Voraus für die Antworten!

Viele Grüße
Alica
Dateianhänge
Bildschirmfoto 2020-01-11 um 22.41.03.png
Zuletzt geändert von jogo am So Jan 12, 2020 9:45 am, insgesamt 1-mal geändert.
Grund: Formatierung verbessert, siehe http://forum.r-statistik.de/viewtopic.php?f=20&t=29
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: Fehlermeldung "Indices in Blocks outside..." PLSPM

Beitrag von jogo »

Hallo Alica,

willkommen im Forum!
Wie wäre es mit:

Code: Alles auswählen

pfad_scaling = list("num",
                    "num",
                    "num",
                    "num",
                    "num",
                    "num", "num", "num","num","num","num",
                      "num","num","num","num", # 1 unabh. Variable, 10 Indikatoren
                    "num","num","num","num", # 1 Mediator, 4 Indikatoren
                    "num","num","num","num","num") # Zielgröße Arbeitszufriedenheit, 5 Indikatoren
oder

Code: Alles auswählen

pfad_scaling = c("num",
                    "num",
                    "num",
                    "num",
                    "num",
                    "num", "num", "num","num","num","num",
                      "num","num","num","num", # 1 unabh. Variable, 10 Indikatoren
                    "num","num","num","num", # 1 Mediator, 4 Indikatoren
                    "num","num","num","num","num") # Zielgröße Arbeitszufriedenheit, 5 Indikatoren
:?:

Gruß, Jörg
alicag
Beiträge: 2
Registriert: Sa Jan 11, 2020 10:23 pm

Re: Fehlermeldung "Indices in Blocks outside..." PLSPM

Beitrag von alicag »

Hallo Jörg,

vielen Dank für deine schnelle Antwort. Der erste Code funktioniert bei mir leider nicht, weil R die Daten im Befehl pfad_scaling als Liste formatiert haben möchte. Ich habe festgestellt, dass die ursprüngliche Fehlermeldung entsteht, wenn in dem pfad_blocks Befehl die Spalten nicht durchgängig nummeriert sind, also wie in meinem Beispiel hier:

19:22, # Mediator: Vertrauen
33:37 # Zielgröße: Arbeitszufriedenheit


Ich habe nun separate Excel-Dateien erstellt, um das Problem zu umgehen und weil ich keinen Nerv mehr hatte..

Viele Grüße
Alica
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: Fehlermeldung "Indices in Blocks outside..." PLSPM

Beitrag von jogo »

Hallo Alica,

das Zusammenstellen der Spalten hätte man auch elegant in R bewerkstelligen können, z.B.

Code: Alles auswählen

Daten_neu <- Daten[c(3, 5, 7, 48, 49, # Kontrollvariablen: Berufstätigkeit, Führung, Geschlecht FK, Geschlecht, Alter
                   9:18, # unabhängige Variable: ethische Führung
                   19:22, # Mediator: Vertrauen
                   33:37) # Zielgröße: Arbeitszufriedenheit
]
Aber wenn Deine Lösung jetzt funktioniert, ist das prima.

Gruß, Jörg
Antworten