Autor des Abschnitts: Danielle J. Navarro and David R. Foxcroft
Transformieren und Umkodieren einer Variablen
Bei der Datenanalyse in der Praxis kommt es oft vor, dass eine Ihrer Variablen nicht mit der Variable, die Sie eigentlich haben wollen, gleichwertig ist. Zum Beispiel ist es oft praktisch, eine kontinuierliche Variable (z. B. das Alter) in eine kleinere Anzahl von Kategorien (z. B. jünger, mittel, älter) aufzuteilen. In anderen Fällen kann es erforderlich sein, eine numerische Variable in eine andere numerische Variable umzuwandeln (z. B. wenn Sie den absoluten Wert der ursprünglichen Variable analysieren möchten). In diesem Abschnitt beschreibe ich einige Möglichkeiten, wie Sie diese Dinge in jamovi tun können.
Erstellen einer transformierten Variablen
Der erste Trick, den wir besprechen wollen, ist die Idee der Transformation einer Variablen. Streng genommen ist alles, was Sie mit einer Variablen machen, eine Transformation, aber in der Praxis bedeutet es meistens, dass Sie eine relativ einfache mathematische Funktion auf die ursprüngliche Variable anwenden, um eine neue Variable zu erzeugen, die entweder (a) die Sache, an der Sie eigentlich interessiert sind, besser beschreibt oder (b) besser mit den Annahmen der statistischen Tests übereinstimmt, die Sie durchführen wollen. Da ich in diesem Stadium noch nicht über statistische Tests und ihre Annahmen gesprochen habe, zeige ich Ihnen ein Beispiel für den ersten Fall.
Angenommen, ich habe eine kurze Studie durchgeführt, in der ich 10 Personen eine einzige Frage gestellt habe:
Inwieweit stimmst du der Aussage zu, dass „Dinosaurier fantastisch sind“? Benutze eine Skala von 1 (stimme überhaupt nicht zu) bis 7 (stimme voll und ganz zu).
Lassen Sie uns nun die Daten laden und betrachten. Der Datensatz likert
enthält eine einzelne Variable, welche die rohen Antworten auf der Likert-Skala für diese 10 Personen enthält. Wenn Sie jedoch darüber nachdenken, ist dies nicht die beste Art, diese Antworten darzustellen. Aufgrund der relativ symmetrischen Art und Weise, wie wir die Antwortskala aufgebaut haben, sollte der Mittelpunkt der Skala als 0 (keine Meinung) kodiert werden, und die beiden Endpunkte sollten +3 (stimme voll und ganz zu) und -3 (stimme überhaupt nicht zu) lauten. Durch eine Umkodierung der Daten wird ein wenig besser widergespiegelt, wie wir wirklich über die Antworten denken. Die Umkodierung ist ziemlich einfach: Wir ziehen einfach 4 von den Rohwerten ab. In jamovi können Sie dies tun, indem Sie eine neue Variable berechnen: Klicken Sie auf die Schaltfläche Compute
in der Registerkarte Data
und Sie werden sehen, dass eine neue Variable zur Datentabelle hinzugefügt wurde. Nennen wir diese neue Variable likert.centred
(geben Sie das ruhig ein) und fügen Sie dann in das Formel-Feld Folgendes ein: likert.raw - 4
(wie in Abb. 36 gezeigt).
Ein Grund, warum es nützlich sein könnte, die Daten in diesem Format vorliegen zu haben, ist, dass es viele Situationen gibt, in denen man es vorzieht, die Stärke der Meinung getrennt von der Richtung der Meinung zu analysieren. Wir können zwei verschiedene Transformationen an dieser likert.centred
Variable vornehmen, um zwischen diesen beiden unterschiedlichen Konzepten zu unterscheiden. Erstens, um eine opinion.strength
Variable zu berechnen, wollen wir den absoluten Wert der zentrierten Daten berechnen (mit der ABS
-Funktion).[1] In jamovi, erstellen Sie eine weitere neue Variable mit der Compute
Schaltfläche. Nennen Sie die Variable opinion.strength
und klicken Sie dieses Mal auf die Schaltfläche fx neben dem Feld Formula
. Dies zeigt die verschiedenen Functions
und Variables
, die Sie zum Feld Formula
hinzufügen können. Doppelklicken Sie auf ABS
und dann doppelklicken Sie auf likert.centred
und Sie werden sehen, dass das Feld Formula
nun mit ABS(likert.centred)
gefüllt ist und eine neue Variable in der Tabellenansicht erstellt wurde (wie in Abb. 37 gezeigt):
Um eine Variable zu berechnen, die nur die Richtung der Meinung enthält und die Stärke ignoriert, wollen wir das „Vorzeichen“ der Variable berechnen. In jamovi können wir dazu die Funktion IF
verwenden. Erstellen Sie eine weitere neue Variable mit der Schaltfläche Compute
und nennen Sie diese opinion.sign
. Geben Sie dann Folgendes in das Funktionsfeld ein:
IF(likert.centred == 0, 0, likert.centred / opinion.strength)
Danach werden Sie sehen, dass alle negativen Zahlen aus der Variablen likert.centred
in -1 umgewandelt werden, alle positiven Zahlen in 1 und die Null bleibt als 0 erhalten, so wie hier:
-1 1 -1 0 0 0 -1 1 1 1
Lassen Sie uns aufschlüsseln, was dieser IF
Befehl tut. In jamovi gibt es drei Teile einer IF
-Anweisung, geschrieben als IF(expression, value, else)
. Der erste Teil, expression
, kann eine logische oder mathematische Anweisung sein. In unserem Beispiel haben wir likert.centred == 0
angegeben, was TRUE
für Werte ist, bei denen likert.centred
gleich Null ist. Der nächste Teil, value
, ist der neue Wert, bei dem der Ausdruck im ersten Teil TRUE
lautet. In unserem Beispiel haben wir gesagt, dass alle Werte, bei denen likert.centred
gleich Null ist, auf Null bleiben sollen. Im nächsten Teil, else
, können wir eine weitere logische oder mathematische Aussage eingeben, die verwendet wird, wenn der erste Teil FALSE
ergibt, d.h. wenn likert.centred
ungleich Null ist. In unserem Beispiel haben wir likert.centred
durch Meinungsstärke geteilt, um -1
oder +1
zu erhalten, je nach dem Vorzeichen des ursprünglichen Wertes in likert.centred
.[2]
Und schon sind wir fertig. Wir haben jetzt drei glänzende neue Variablen, die alle nützliche Transformationen der ursprünglichen likert.raw
Variable sind.
Zerlegen einer Variablen in eine geringere Anzahl diskreter Ebenen oder Kategorien
Eine Aufgabe, die sich häufig stellt, ist das Problem, eine Variable in eine geringere Anzahl von diskreten Ebenen oder Kategorien zu zerlegen. Nehmen wir zum Beispiel an, ich möchte die Altersverteilung der Teilnehmer an einer gesellschaftlichen Veranstaltung untersuchen:
60, 58, 24, 26, 34, 42, 31, 30, 33, 2, 9
In vielen Situationen ist es hilfreich, die Daten in Kategorien einzuteilen. Wir könnten die Daten zum Beispiel in drei große Kategorien einteilen: jung (0-20), erwachsen (21-40) und älter (41-60). Dies ist eine recht grobkörnige Klassifizierung, und die Bezeichnungen, die ich angebracht habe, machen nur im Kontext dieses Datensatzes Sinn (z.B. würde sich ein 42-Jähriger, allgemein betrachtet, nicht als „älter“ betrachten). Wir können diese Variable ganz einfach mit den jamovi IF’ function that we have already used. This time we have to specify nested ‘IF
Anweisungen aufteilen, was einfach bedeutet, dass IF
der erste logische Ausdruck TRUE
ist, ein erster Wert eingefügt wird, aber IF
ein zweiter logischer Ausdruck TRUE
ist, ein zweiter Wert eingefügt wird, aber IF
ein dritter logischer Ausdruck TRUE
ist, dann ein dritter Wert eingefügt wird. Dies kann geschrieben werden als:
IF(Age >= 0 and Age <= 20, 1, IF(Age >= 21 and Age <= 40, 2, IF(Age >= 41 and Age <= 60, 3 )))
Beachten Sie, dass bei der Verschachtelung drei linke Klammern verwendet werden, so dass die gesamte Anweisung mit drei rechten Klammern enden muss, sonst erhalten Sie eine Fehlermeldung. Der jamovi-Screenshot für diese Datenmanipulation ist zusammen mit einer zugehörigen Häufigkeitstabelle in Abb. 38 zu sehen:
Es ist wichtig, dass Sie sich die Zeit nehmen, um herauszufinden, ob die resultierenden Kategorien für Ihr Forschungsprojekt überhaupt einen Sinn ergeben oder nicht. Wenn sie für Sie als sinnvolle Kategorien keinen Sinn ergeben, dann wird jede Datenanalyse, die diese Kategorien verwendet, wahrscheinlich genauso sinnlos sein. Generell habe ich in der Praxis festgestellt, dass die Leute ein sehr starkes Verlangen danach haben, ihre (kontinuierlichen und unübersichtlichen) Daten in einige wenige (diskrete und einfache) Kategorien zu zerlegen und dann Analysen unter Verwendung der kategorisierten Daten anstelle der ursprünglichen Daten durchzuführen.[3] Ich würde nicht so weit gehen zu sagen, dass dies eine von Natur aus schlechte Idee ist, aber es hat zuweilen einige ziemlich schwerwiegende Nachteile, so dass ich zur Vorsicht raten würde, wenn Sie darüber nachdenken, dies zu tun.
Erstellen einer Transformation, die auf mehrere Variablen angewendet werden kann
Manchmal möchte man dieselbe Transformation auf mehrere Variablen anwenden, zum Beispiel wenn man mehrere Fragebogenelemente hat, die alle auf dieselbe Weise neu berechnet oder umkodiert werden müssen. Eine der praktischen Funktionen von jamovi ist, dass Sie mit der Schaltfläche Transform
auf der Registerkarte Data
eine Transformation erstellen können, die dann gespeichert und auf mehrere Variablen angewendet werden kann. Gehen wir zurück zum ersten Beispiel oben, mit dem Datensatz likert
, der eine einzelne Variable mit rohen Likert-Skalenantworten für 10 Personen enthält. Um eine Transformation zu erstellen, die Sie speichern und dann auf mehrere Variablen anwenden können (unter der Annahme, dass Sie mehrere solcher Variablen in Ihrer Datendatei haben), wählen Sie zunächst im Tabellenkalkulationseditor die Variable aus (d. h. Sie klicken auf die „Titelzeile“ mit dem Variablennamen), die Sie für die ursprüngliche Erstellung der Transformation verwenden möchten. In unserem Beispiel ist dies likert.raw
. Klicken Sie dann auf die Schaltfläche Transform
in der Registerkarte jamovi Data
, und Sie werden eine Bildschirmausgabe ähnlich Abb. 39 sehen.
Geben Sie Ihrer neuen Variablen einen Namen, nennen wir sie opinion.strength
und klicken Sie dann auf das Auswahlfeld Using transform
und wählen Sie Create New Transform…
. Hier werden Sie die Transformation erstellen und benennen, die auf beliebig viele Variablen angewendet werden kann. Die Transformation wird für uns automatisch als Transform 1
benannt (einfallsreich, was? Sie können dies ändern, wenn Sie möchten). Geben Sie dann den Ausdruck ABS($source - 4)
in das Textfeld der Funktion ein, wie in Abb. 40, drücken Sie Enter oder Return auf Ihrer Tastatur und schon haben Sie eine neue Transformation erstellt und auf die Variable likert.raw
angewendet! Einfach, oder? Beachten Sie, dass wir statt der Variablenbezeichnung im Ausdruck $source
verwendet haben. So können wir dieselbe Transformation auf beliebig viele verschiedene Variablen anwenden - jamovi verlangt, dass Sie $source
verwenden, um auf die Quellvariable zu verweisen, die Sie transformieren. Ihre Transformation wurde auch gespeichert und kann jederzeit wiederverwendet werden (vorausgesetzt, Sie speichern den Datensatz als .omv
Datei, sonst geht er verloren).
Sie können auch das zweite Beispiel, das wir uns angesehen haben, nämlich die Altersverteilung der Teilnehmer an einem gesellschaftlichen Treffen, umwandeln. Nur zu, Sie wissen, dass Sie das wollen! Erinnern Sie sich daran, dass wir diese Variable in drei Gruppen eingeteilt haben: Jüngere, Erwachsene und Ältere. Diesmal werden wir das Gleiche tun, aber mit der Schaltfläche jamovi Transform
→ Add condition
. Mit diesem Datensatz (gehen Sie zu ihm zurück oder erstellen Sie ihn neu, wenn Sie ihn nicht gespeichert haben) richten Sie eine neue Variablentransformation ein. Nennen Sie die transformierte Variable AgeCats
und die Transformation, die Sie erstellen werden Agegroupings
. Klicken Sie dann auf das große +
Zeichen neben dem Funktionsfeld. Dies ist die Schaltfläche Add condition
und ich habe einen großen roten Pfeil auf Abb. 41 geklebt, damit Sie genau sehen können, wo sich diese befindet. Führen Sie die in Abb. 41 gezeigte Transformation erneut durch, und Sie werden sehen, dass die neuen Werte im Tabellenfenster erscheinen. Darüber hinaus wurde die Transformation Agegroupings
gespeichert und kann jederzeit wieder angewendet werden. Ok, ich weiß, dass Sie wahrscheinlich nicht mehr als eine Age
Variable haben werden, aber Sie haben jetzt eine Vorstellung davon, wie man in jamovi Transformationen einrichtet, so dass Sie diese Idee mit anderen Arten von Variablen verfolgen können. Ein typisches Szenario ist, wenn Sie eine Fragebogenskala mit, sagen wir, 20 Items (Variablen) haben und jedes Item ursprünglich von 1 bis 6 bewertet wurde, Sie aber aus irgendeinem Grund oder einer Eigenart der Daten beschließen, alle Items als 1 bis 3 umzukodieren. Sie können dies in jamovi leicht tun, indem Sie Ihre Transformation für jede Variable, die Sie umkodieren wollen, erstellen und dann erneut anwenden.