Sie möchten eine Spalte basierend auf den Werten von zwei Spalten, aber über mehr als eine Zeile hinzufügen. Dataset-CodeIfelse-Anweisung für mehrere Zeilen
Beispiel:
A = c(1,1,1,2,2,2,3,3,3,4,4)
B = c(1,2,3,1,2,3,1,2,3,1,2)
C = c(0,0,0,1,0,0,1,1,1,0,1)
data <- data.frame(A,B,C)
Datensatz:
A B C
1 1 1 0
2 1 2 0
3 1 3 0
4 2 1 1
5 2 2 0
6 2 3 0
7 3 1 1
8 3 2 1
9 3 3 1
10 4 1 0
11 4 2 1
IfElse Aussagen:
Was ich versuche, ist „Create Säule zu erreichen D
.Wenn Spalte C
== 1 in jede Zeile wo Spalte A
== x, Spalte D
= 1 Else Spalte D
== 0"
gewünschte Ausgabe:
A B C D
1 1 1 0 0
2 1 2 0 0
3 1 3 0 0
4 2 1 1 1
5 2 2 0 1
6 2 3 0 1
7 3 1 1 1
8 3 2 1 1
9 3 3 1 1
10 4 1 0 1
11 4 2 1 1
Was ich getan habe, :
Ich habe heute darüber nachgedacht, aber kann keine logische Antwort finden, ich habe versucht, die Daten in langen und breiten Formaten zu betrachten, aber nichts sprang heraus.
Hinweis: In der tatsächlichen Anwendung die Anzahl der x in der Spalte erscheint C
nicht gleich ist (einige eine Wiederholung in dem Datensatz enthalten, andere enthalten 20).
Wenn Spalte C == 1 in jeder Zeile, in der Spalte A verwenden == x ???? , Spalte BBBB = 1. Sonst Spalte D == 0 " A = x? und D = 1 ?? sollte es A =" eine Nummer "und" B "= 1 ?? Brauchen Sie sogar Spalte B? – Mandar
Spalte A hat kein "x" irgendwo. – Mandar
@Mandar - Ich denke, sie bedeuten für jeden eindeutigen Wert in Spalte "A". Es ist * wirklich * unklar, obwohl. – thelatemail