Mehrere Variablen zu Subskala zusammenfassen

Wie rufe ich R-Funktionen auf, wie selektiere ich Daten, ich weiß nicht genau ....

Moderatoren: EDi, jogo

Antworten
Drako
Beiträge: 11
Registriert: Do Dez 27, 2018 4:39 pm

Mehrere Variablen zu Subskala zusammenfassen

Beitrag von Drako »

Hallo zusammen,

ich erfasse mit einem Fragebogen 6 Subskalen. Die Hypothese ist, dass sich die Ausprägungen der Subskalen je nach Gruppenzugehörigkeit einer Gruppierungsvariablen unterscheiden. Ich möchte dies anhand eines T-Tests für jede Subskala zeigen. Hierzu würde ich gerne für jede Subskala eine neue Variable zur Datenmatrix hinzufügen, welche den Mittelwert der zugehörigen Items darstellt.

Mein Versuch:

Code: Alles auswählen

AGA$Praefix. <- with(AGA, mean(cov(AGA[,c("IA1","IA2","IA3","IA4","IA5","IA6","IA7")])))
lieferte zwar keine Fehlermeldung, gibt aber in der neuen Variablen "Praefix" nur NA zurück.

Daher meine Fragen:
1. Ist die Vorgehensweise überhaupt richtig, dass ich erst Mittelwerte bilde und dann den T-Test rechne?
2. Wenn ja, wie bekomme ich den Mittelwert der Subskalen für jede VPn in eine neue Variable gezimmert?

Tausend Dank im Voraus!
Drako
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: Mehrere Variablen zu Subskala zusammenfassen

Beitrag von bigben »

Warum steht in Deinem Code die Funktion cov, mit der man Kovarianzen berechnet?
Ich glaube, Du suchst vielleicht die Funktion colMeans().

LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Drako
Beiträge: 11
Registriert: Do Dez 27, 2018 4:39 pm

Re: Mehrere Variablen zu Subskala zusammenfassen

Beitrag von Drako »

Stimmt, cov war Quatsch.

colMeans kriege ich leider auch nicht hin.

Code: Alles auswählen

x <- cbind(AGA$IA1, AGA$IA2, AGA$IA3, AGA$IA4, AGA$IA5, AGA$IA6)
colMeans(x, na.rm = TRUE)
Ergebnis:

Code: Alles auswählen

> x <- cbind(AGA$IA1, AGA$IA2, AGA$IA3, AGA$IA4, AGA$IA5, AGA$IA6)

> colMeans(x, na.rm = TRUE)
[1] 5.295238 5.723810 5.809524 5.685714 5.342857 5.619048
Habe dann jetzt doch einfach vorher in Excel eine neue Zeile hinzugefügt, dauert dort nur 30 Sekunden...

Trotzdem Danke für deine Hilfe.
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: Mehrere Variablen zu Subskala zusammenfassen

Beitrag von jogo »

Hallo Drako,
Drako hat geschrieben: Do Jan 10, 2019 12:24 pm Stimmt, cov war Quatsch.

colMeans kriege ich leider auch nicht hin.

Code: Alles auswählen

x <- cbind(AGA$IA1, AGA$IA2, AGA$IA3, AGA$IA4, AGA$IA5, AGA$IA6)
colMeans(x, na.rm = TRUE)

Code: Alles auswählen

x <- AGA[, c("IA1", "IA2", "IA3", "IA4", "IA5", "IA6")]  ## oder
x <- AGA[, paste0("IA", 1:6)]
Gruß, Jörg
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: Mehrere Variablen zu Subskala zusammenfassen

Beitrag von bigben »

Drako hat geschrieben: Do Jan 10, 2019 12:24 pmcolMeans kriege ich leider auch nicht hin.
[...]
Ergebnis:

Code: Alles auswählen

> x <- cbind(AGA$IA1, AGA$IA2, AGA$IA3, AGA$IA4, AGA$IA5, AGA$IA6)

> colMeans(x, na.rm = TRUE)
[1] 5.295238 5.723810 5.809524 5.685714 5.342857 5.619048
Und was passt Dir an diesem Ergebnis nicht? Vielleicht hast Du rowMeans statt colMeans gesucht?
in Excel eine neue Zeile hinzugefügt, dauert dort nur 30 Sekunden
Wir lernen: Je besser man ein Programm kennt, umso schneller kann man darin Probleme lösen. Excel fühlt sich leicht an, hat aber gravierende Probleme, die man vor lauter "fühlt sich leicht an" dann nicht unbedingt mitbekommt. Einer Doktorandin hier habe ich eindrücklich erklärt, dass bei mir nichts in Excel gerechnet wird. Dann dachte sie, für ein paar Itemsummen könne sie Excel ruhig nehmen. Pustekuchen, die Ergebnisse waren falsch, weil sie ein paar missings hatte und Excel beim Summieren einfach jedes Missing als 0 gedeutet hat.
Hier noch zwei lesenswerte Hinweise zu Excel als Dateneingabetool und zu Excel als Recheninstrument:
https://bmcbioinformatics.biomedcentral ... -2105-5-80
http://citeseerx.ist.psu.edu/viewdoc/do ... 1&type=pdf

LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Drako
Beiträge: 11
Registriert: Do Dez 27, 2018 4:39 pm

Re: Mehrere Variablen zu Subskala zusammenfassen

Beitrag von Drako »

Sorry für's Ausgraben, habe die Antworten damals nicht mehr gesehen. Ich wüsste aber heute immer noch nicht, wie man es macht. Die genannten Lösungen bringen leider nicht das gewünschte Ergebnis, oder ich kann mit dem Ergebnis nicht umgehen, daher erkläre ich es nochmal:

Die Skala AGA besteht aus mehreren Subskalen. Eine davon ist die Subskala IA. Jeder Teilnehmer erreicht auf der Subskala IA dementsprechend einen bestimmten Wert. Dieser Wert spiegelt die Ausprägen für IA bei jedem Teilnehmer wieder und er wird gebildet aus dem Mittelwert der sechs IA-Iteams (IA 1 bis 6). So weit klar, oder?
Jetzt muss ich diesen Wert IA ja irgendwie in meine Tabelle bekommen, damit ich damit rechnen kann. Es soll also im Dataframe AGA eine neue Spalte entstehen, in welcher für jeden der 105 Teilnehmer (=105 Zeilen) der Mittelwert seiner sechs IA-Items steht. Anschließend will ich davon beispielsweise ein Histogramm anfertigen.
bigben hat geschrieben: Do Jan 10, 2019 2:58 pm
in Excel eine neue Zeile hinzugefügt, dauert dort nur 30 Sekunden
Wir lernen: Je besser man ein Programm kennt, umso schneller kann man darin Probleme lösen. Excel fühlt sich leicht an, hat aber gravierende Probleme, die man vor lauter "fühlt sich leicht an" dann nicht unbedingt mitbekommt. Einer Doktorandin hier habe ich eindrücklich erklärt, dass bei mir nichts in Excel gerechnet wird. Dann dachte sie, für ein paar Itemsummen könne sie Excel ruhig nehmen. Pustekuchen, die Ergebnisse waren falsch, weil sie ein paar missings hatte und Excel beim Summieren einfach jedes Missing als 0 gedeutet hat.
Hier noch zwei lesenswerte Hinweise zu Excel als Dateneingabetool und zu Excel als Recheninstrument:
https://bmcbioinformatics.biomedcentral ... -2105-5-80
http://citeseerx.ist.psu.edu/viewdoc/do ... 1&type=pdf
Und genau aus diesem Grund habe ich ja versucht, es in R zu machen, aber das ist einfach nur frustrierend. Richtig, je besser man ein Programm kennt, desto schneller kann man darin Probleme lösen. Das Problem an R ist, dass man für jede kleinste Tätigkeit haargenau den richtigen Befehl kennen muss. Und noch schlimmer: Wenn man den nicht kennt, ist es jedes Mal ein riiiiiiiiiiiesiger Aufwand diesen einen, kleinen Befehl herauszufinden. Die Tatsache, dass der Name des Programms nur aus dem Buchstaben R besteht, macht das Googlen auch nicht einfacher.
Wie gesagt, ich möchte es ja richtig machen. Aber ich habe bisher 4 Stunden Zeit investiert, für eine Aufgabe, die jeder mittelmäßig begabte Excel-User in 30 Sekunden erledigt. Und so trivial scheint es ja nicht zu sein, denn hier konnte man mir auch keine Lösung nennen.
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: Mehrere Variablen zu Subskala zusammenfassen

Beitrag von jogo »

Hallo Drako,

deswegen ist es ja auch so wertvoll, wenn man nach einem ersten Kennenlernen der Funktionsweise von R, erstmal einen Überblick bekommen über "was gibt es alles?". Ich kenne das Problem aus etlichen Programmiersprachen.
Schau mal hier:
viewtopic.php?f=20&t=27

Gruß, Jörg
Drako
Beiträge: 11
Registriert: Do Dez 27, 2018 4:39 pm

Re: Mehrere Variablen zu Subskala zusammenfassen

Beitrag von Drako »

jogo hat geschrieben: Sa Mai 23, 2020 3:32 pm deswegen ist es ja auch so wertvoll, wenn man nach einem ersten Kennenlernen der Funktionsweise von R, erstmal einen Überblick bekommen über "was gibt es alles?". Ich kenne das Problem aus etlichen Programmiersprachen.
Schau mal hier:
viewtopic.php?f=20&t=27
Hallo Jörg,
vielen Dank für deinen Hinweis. Deine Reference Card ist sicherlich sehr nützlich. In der Tat hatten wir diese sogar schon in der Uni von unserem Statistik-Prof erhalten. Du kannst dich also geehrt fühlen. :-)

Im Grunde war bigben mit rowMeans schon richtig unterwegs. Nur nach dem gescheiterten colMeans-Versuch hatte mich damals dann irgendwann die Lust verlassen. Heute habe ich aber mit frischem Kopf und anderem Blickwinkel nochmal drauf geschaut und schlussendlich die Lösung gefunden, welche ich hier dokumentieren möchte für alle, die eventuell einmal vor der gleichen Aufgabe stehen:

Code: Alles auswählen

x <- cbind(AGA$IA1, AGA$IA2, AGA$IA3, AGA$IA4, AGA$IA5, AGA$IA6)
AGA$IA <- rowMeans(x)
Gar nicht so schwierig, wenn man weiß, wie's geht. Wie immer mit R... ;-)
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: Mehrere Variablen zu Subskala zusammenfassen

Beitrag von jogo »

Hallo Drako,

da geht noch was:

Code: Alles auswählen

AGA$IA <- rowMeans(AGA[, paste0("IA", 1:6)])
Gruß, Jörg
Antworten