ich versuche, NA-Werte in einem Datenframe auf 0 zu setzen, wenn die ID für die Zeile in einer separaten Liste enthalten ist, aber nichts bekommen (keine Änderungen kein Fehler), oder dieser Fehler:Wie man ein wenn dann für jede Instanz einer Variablen in einem Datenrahmen in R
the condition has length > 1 and only the first element will be used
Hier ist, wie meine Daten strukturiert:
id out1 in1 bet1
1 6 0 0
10 NA NA NA
100 7 14 0
Also, wenn die ID 10 in dem separaten Vektor war, würde ich diese Werte will auf Null zurückgesetzt.
Mein Code ist unten. Jede Hilfe wird geschätzt!
if(is.na(dset_n$bet3) && dset_n$id %in% unique(net_t3[,1])) {
dset_n$bet3 <- 0
}
Lösung:
dset_n$m <- dset_n$id %in% unique(net_t2[,1])
dset_n$out2[dset_n$m & is.na(dset_n$out2)] <- 0
Bitte geben reproduzierbare Daten, anstatt nur zu zeigen, wie es aussieht. Sie können R-Code angeben, um die Daten zu erstellen, ein integriertes Dataset zu verwenden oder die Daten "auszugeben". –
'if' wird verwendet, um einen Vergleich auszuwerten, der einen einzelnen logischen Wert wie 'if (1 == 1)' nicht vergleicht Vektoren wie' if (c (1,2,3) == c (1,2,3)) ' – thelatemail
Ah habe es. Ich versuche jetzt einen booleschen Vektor zu erstellen, den ich verwenden kann, um zu wissen, wann eine Variable neu codiert werden sollte. – mysterybug