Korrelationsmatrix der Residuen (CFA)

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

Moderator: EDi

Antworten
Oemi1991
Beiträge: 3
Registriert: Do Mär 12, 2020 10:02 am

Korrelationsmatrix der Residuen (CFA)

Beitrag von Oemi1991 »

Hey,

ich hoffe mir kann jemand mit folgendem Problem helfen:

Für meine Masterarbeit muss ich eine konfirmatorische Faktorenanalyse durchführen und im Rahmen dieser CFA wollte ich mir gerne die Korrelationsmatrix der Residuen ausgeben lassen.

Mein Script schaut folgendermaßen aus:

Code: Alles auswählen

##Load packages
library(lavaan)
library(semPlot)

##Import data
ESE_35_CSV <- read.csv2("220220_ESE_35.csv")

##Create the models (2Factors)
two.factor.model = '
AE =~ ese_3 + ese_7r + ese_9 + ese_13 + ese_15r + ese_19 + ese_20r + ese_25r + ese_28 + ese_34r
CE =~ ese_4r + ese_6 + ese_8 + ese_10 + ese_12 + ese_14 + ese_16r + ese_18r + ese_24 + ese_26 + ese_29 + ese_31r + ese_33 + ese_35
'

##Run the models
two.fit = cfa(two.factor.model, data = ESE_35_CSV)

##Summaries
summary(two.fit, standardized=TRUE, rsquare=TRUE)

##Fit Indices
fitMeasures(two.fit)

##modification indices
modindices(two.fit, sort. = TRUE)

##Residual correlations
correl = residuals(two.fit, type='cor')
View(correl$cor)

So...alles funktioniert. Bis auf die Korrelationsmatrix.

R erstellt mir die Korrelationsmatrix 'correl' ohne zu meckern, aber wenn ich sie mir über view() ansehen will, dann habe ich nach dem Dollarzeichen nur die Option 'cov' zu wählen und selbst wenn ich das ignoriere und 'cor' eingebe, passiert nichts. Also, mir wird eine leere Tabelle angezeigt. Wähle ich stattdessen view(correl$cov), wird mir die Kovarianzmatrix angezeigt.

Was könnte das Problem sein?

Ich verwende die Version R 3.6.2 und bin relativ neu im Umgang mit R!

Liebe Grüße
Oemi
schubbiaschwilli
Beiträge: 253
Registriert: Di Jun 27, 2017 12:09 pm

Re: Korrelationsmatrix der Residuen (CFA)

Beitrag von schubbiaschwilli »

Gude!

Kannst du mal die Ausgabe genauer posten?

Ich kenne residuals nur so, dass es die Residuen ausgibt - Für eine Korrelation benötigst du aber 2 Datensätze, die du miteinander vergleichst (in deinem Fall als die beobachteten Werte und die Residuen).

Ansonsten probier mal

Code: Alles auswählen

cor(iris[,1:4])
Für eine (einfache) graphische Analyse gibt es pairs (und unzählige Erweiterungen), also

Code: Alles auswählen

pairs(iris[,1:4])
Dank&Gruß
schubbiaschwilli
Zuletzt geändert von jogo am Do Mär 12, 2020 2:11 pm, insgesamt 1-mal geändert.
Grund: Formatierung verbessert. http://forum.r-statistik.de/viewtopic.php?f=20&t=29
Oemi1991
Beiträge: 3
Registriert: Do Mär 12, 2020 10:02 am

Re: Korrelationsmatrix der Residuen (CFA)

Beitrag von Oemi1991 »

Hallöchen!

Und danke schonmal für die Antwort!

Was genau meinst du denn? Soll ich den ganzen Output hier rein kopieren?

Ich möchte gerne das machen, was diese Person in Minute 22 tut. Bei ihr klappt es, bei mir leider nicht.

https://www.youtube.com/watch?v=TOsleQgu8RU&t=1460s

Danke für die alternativen Befehle! Da ich aber wirklich eine absolute R-Anfängerin bin muss ich leider fragen:
cor(iris[,1:4])
Was ist iris? Und wofür steht 1:4? Würde ich den Code genau so übernehmen...?

LG
Oemi
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: Korrelationsmatrix der Residuen (CFA)

Beitrag von jogo »

Hallo Oemi,
Oemi1991 hat geschrieben: Fr Mär 13, 2020 11:04 am Was genau meinst du denn? Soll ich den ganzen Output hier rein kopieren?
da Du bisher keine Daten geliefert hast im Sinne von
viewtopic.php?f=20&t=11
ist es schwer, die Frage konkret zu beantworten.

Danke für die alternativen Befehle! Da ich aber wirklich eine absolute R-Anfängerin bin muss ich leider fragen:

Code: Alles auswählen

cor(iris[,1:4])
Was ist iris? Und wofür steht 1:4? Würde ich den Code genau so übernehmen...?
iris ist ein in R standardmäßig vorhandener Dataframe, siehe

Code: Alles auswählen

help(iris)
Die Spalten 1 bis 4 enthalten numerische Daten, die Spalte 5 enthält die Werte für das Merkmal Species
Du kannst den Code einfach so nehmen und vom R-Interpreter abarbeiten lassen.
Vielleicht macht der Code auf dem Dataframe iris genau das, was Du mit Deinen Daten anstellen möchtest.
... so, ich habe mir das Video angeschaut. Es ist dann doch nicht mit cor(iris[,1:4]) getan.

Kannst Du bitte den Output von

Code: Alles auswählen

str(correl)
liefern?
Bitte lies auch im Hilfetext zu der Funktion residuals() im Abschnitt Value, wie das Ergebnisobjekt der Funktion aufgebaut ist.
Notfalls kann man eine Kovarianzmatrix auch in eine Korrelationsmatrix umrechnen.
https://de.wikipedia.org/wiki/Korrelationsmatrix

Das Video ist schon ein paar Jahre alt. Vielleicht hat der Autor das Ergebnisobjekt der Funktion inzwischen verändert.
Bei lavaan war es damals die Version 0.5-18 (aktuell ist 0.6-5)

Gruß, Jörg
Antworten