CFA mehrdimensionales Konstrukt in data.frame integrieren

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

Moderator: EDi

Antworten
sudent_natha
Beiträge: 1
Registriert: Sa Apr 18, 2020 6:11 pm

CFA mehrdimensionales Konstrukt in data.frame integrieren

Beitrag von sudent_natha »

Hallo zusammen,

ich bin gerade am Schreiben meiner Seminararbeit und stehe vor folgendem Problem: in meinem data.frame will ich 1 Variablenkonstrukt mit mehreren Items aufnehmen. Dieses habe ich mit einer CFA überprüft, das Konstrukt mit einer EFA verbessert und dabei ein zweidimensionales Konstrukt erstellt und wieder überprüft. Jetzt ist der Modellfit sehr gut.
Doch wie integriere ich dieses Modell wieder in meinen data.frame?

Ursprüngliches Variablenkonstrukt:
sustainability <- c("f614_1", "f614_2", "f614_3", "f614_4", "f614_5", "f614_6", "f614_7")
Nach der EFA:
model_1 <- "
sustainability_free =~ f614_2 + f614_1 + f614_4
sustainability_fair =~ f614_7 + f614_ 3 + f614_5 + f614_6"

Erstelle ich jetzt von beiden Items jeweils den Mittelwert für mein data.frame?

Vielen Dank für Eure Hilfe!
Benutzeravatar
student
Beiträge: 674
Registriert: Fr Okt 07, 2016 9:52 am

Re: CFA mehrdimensionales Konstrukt in data.frame integrieren

Beitrag von student »

Hallo,

ein data.frame ist eine Datenstruktur und Du kannst in dieser Struktur kein Modell ablegen, sondern nur die z. B. abhängige Variable Deines Modells...
Viele Grüße,
Student
-----------------------------------------------------------------------------------------------------------------------
faes.de, Datenanalyse mit R & das Ad-Oculos-Projekt
Das Ad-Oculos-Projekt auf YouTube

Habe Mut, dich deines eigenen Verstandes zu bedienen! (Kant)
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: CFA mehrdimensionales Konstrukt in data.frame integrieren

Beitrag von bigben »

Hallo,

wenn ich die Frage richtig verstehe, dann geht es darum, im Dataframe mit den Antworten auf die einzelnen Items die Skalen durch Itemmittelwerte zu bilden. Wenn das die Frage ist, hilft folgendes Beispiel:

Code: Alles auswählen

#Gegeben seien folgende Fragenbogenergebnisse

bsp <- data.frame(ID = 1:20,
                  Item1 = sample(1:5,size = 20, replace=TRUE, prob = c(.1,.1,.1,.1,.6)),
                  Item2 = sample(1:5,size = 20, replace=TRUE, prob = c(.1,.2,.2,.1,.4)),
                  Item3 = sample(1:5,size = 20, replace=TRUE, prob = c(.1,.1,.1,.3,.3)),
                  Item4 = sample(1:5,size = 20, replace=TRUE, prob = c(.5,.2,.1,.1,.1)),
                  Item5 = sample(1:5,size = 20, replace=TRUE, prob = c(.4,.4,.1,.1,0)),
                  Item6 = sample(1:5,size = 20, replace=TRUE, prob = c(.7,.05,.05,.1,.1)),
                  Item7 = sample(1:5,size = 20, replace=TRUE, prob = c(.1,.1,.1,.1,.6)))
head(bsp, 10)

# Skala 1 sei der Itemmittelwert der Items 1 bis 3 und 7
bsp$skala1 <- rowMeans(bsp[,c("Item1", "Item2", "Item3", "Item7")], na.rm = FALSE)

# Skala 2 sei der Itemmittelwert der ITems 4 bis 6
bsp$skala2 <- rowMeans(bsp[,c("Item4", "Item4", "Item6")], na.rm = FALSE)

# Ergebnis:
head(bsp)
cor.test(bsp$skala1, bsp$skala2)
plot(bsp$skala1, bsp$skala2, pch=".", xlab="Skala 1", ylab="Skala 2", xlim=c(1,5), ylim=c(1,5))
text(bsp$skala1+.2, bsp$skala2, labels=bsp$ID)

# Schönere Grafik mit Zusatzpaketen
library(ggplot2)
library(ggrepel)
ggplot(bsp, aes(x=skala1, y=skala2, label=ID)) +
  geom_point() +
  geom_label_repel() +
  xlab("Skala 1") + ylab("Skala 2") + 
  ggtitle("Skalenverteilung Teilnehmer") +
  coord_fixed(xlim = c(1,5), ylim = c(1,5)) 
Wenn man das sehr oft macht, lohnt es sich vielleicht die Funktion score.items im Paket psych. Bei mir kommt das zu selten vor, um mir die Syntax zu merken aber sonst erscheint mir das sehr komfortabel: https://personality-project.org/r/psych ... oring.html

LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Antworten