Verknüpfung von Bedingungen beim Umkodieren

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

Moderatoren: EDi, jogo

Antworten
Clueless
Beiträge: 2
Registriert: Mo Mär 08, 2021 10:32 am

Verknüpfung von Bedingungen beim Umkodieren

Beitrag von Clueless »

Hallo,

Ich arbeite noch nicht so lange mit R und komme leider bei einer Sache nicht weiter:

Ich habe 2 Variablen A (Bedingung) und B (Antwort auf Frage), beide können jeweils die Werte 1 und 2 (beide Nominalskalenniveau und als Faktor gespeichert) annehmen. In der Bedingung 1 (also Variable A = 1) ist die richtige Antwort zu B = 1 und in der Bedingung 2 (also Variable A =2) ist die richtige Antwort auf B = 2.

Ich möchte gerne eine neue Variable C erstellen, die angibt, on die Frage B richtig (1) oder falsch (2) beantwortet wurde. Alternativ könnte auch einfach Variable B (bzw. eine Kopie davon) umkodiert werden, wenn das einfacher ist.

Ich habe es u.a. mit folgendem Befehl (Umkodierung von B) versucht, leider führt er zu falschen Ergebnissen:

Code: Alles auswählen

data$B<-ifelse (Data$A == 1 & Data$B==1,1,2)

data$B<-ifelse (Data$a == 2 & Data$B==2,1,2)
.

Wahrscheinlich ist die Lösung ganz simpel, aber ich komme nicht drauf. Kann mir jemand helfen? Vielen Dank vorab!
Zuletzt geändert von jogo am Mo Mär 08, 2021 11:25 am, insgesamt 1-mal geändert.
Grund: Formatierung verbessert, siehe http://forum.r-statistik.de/viewtopic.php?f=20&t=29
jogo
Beiträge: 2086
Registriert: Fr Okt 07, 2016 8:25 am

Re: Verknüpfung von Bedingungen beim Umkodieren

Beitrag von jogo »

Hallo Clueless,

willkommen im Forum!
Bitte zeige uns den Output von

Code: Alles auswählen

str(Data)
Ich vermute, die Faktoren haben wieder gnadenlos zugeschlagen ;)

Gruß, Jörg
p.s.:
R unterscheidet Groß- und Kleinschreibung
bigben
Beiträge: 2780
Registriert: Mi Okt 12, 2016 9:09 am

Re: Verknüpfung von Bedingungen beim Umkodieren

Beitrag von bigben »

Ich bin mir nicht so sicher, dass es um Faktoren versus Zahlen geht. Vielleicht liegt das Problem auch darin, dass hier zweimal hintereinander Data$B auf der Basis von Data$B verändert wird. Wir haben kein funktionierendes Beispiel und wissen aufgrund der allgemeinen PRoblembeschreibung nicht, was Clueless mit "falschen Ergebnissen" meint, aber solche Konstruktionen sind gefährlich und zu vermeiden.
In der Bedingung 1 (also Variable A = 1) ist die richtige Antwort zu B = 1 und in der Bedingung 2 (also Variable A =2) ist die richtige Antwort auf B = 2.
Also ist die Antwort richtig, wenn A == B?

Code: Alles auswählen

Data <- data.frame(A = c(1, 0, 1, 0, 1), B = c(1, 1, 0, 0, NA))
print(Data)
Data$richtig <- ifelse(Data$A == Data$B, yes = TRUE, no = FALSE)
print(Data)
LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Clueless
Beiträge: 2
Registriert: Mo Mär 08, 2021 10:32 am

Re: Verknüpfung von Bedingungen beim Umkodieren

Beitrag von Clueless »

Hallo,

vielen Dank für die Antworten. Mit falschen Ergebnissen meinte ich, dass die Kodierung dann nicht so erfolgt, wie es von mir intendiert war.

Die Variablen A und B sind Faktoren. Falls es nicht ganz klar geworden ist: Für Personen die in der Versuchsbedingung (Variable A) auf 1 gelandet waren, war die richtige Antwort zu Frage B gleich 1 und für Personen, die in der Versuchsbedingung (Variable A) zu 2 zugewiesen wurden, war die richtige Antwort auf die Frage B gleich 2.

Zwischenzeitig hat mir aber jemand geholfen und die Lösung liegt vor (falls nochmal jemand ein ähnliches Problem hat):

Code: Alles auswählen

data$C <- ifelse(data$A ==1 & data$B ==1,1,
                         ifelse (data$A==2 & data$B ==2,1,0))

Die Variable C gibt jetzt (unabhängig von der Bedingung/Variable A) an, ob die Frage B richtig (1) oder falsch (0) beantwortet wurde.

VG, Clueless
Zuletzt geändert von jogo am Mo Mär 08, 2021 4:16 pm, insgesamt 1-mal geändert.
Grund: Formatierung verbessert, siehe http://forum.r-statistik.de/viewtopic.php?f=20&t=29
Antworten