Ich kam zu R von SAS, wo numeric missing auf unendlich gesetzt ist. Also können wir einfach sagen:
%Vor%In R muss ich ausführlich sein wie:
%Vor%Ich finde diese Syntax ist schwer zu lesen. Kann ich die ifelse-Funktion irgendwie ändern, um NA als einen speziellen Wert zu betrachten, der für alle Vergleichsbedingungen immer falsch ist? Wenn nicht, wird auch NA als "Inf" funktionieren.
In ähnlicher Weise wird NA auf '' (leer) in der ifselse-Anweisung für Zeichenvariablen gesetzt.
Danke.
Diese Syntax ist einfacher zu lesen:
%Vor%(Die äußeren Klammern sind nicht notwendig, aber machen die Anweisung für fast alle anderen als die Maschine lesbarer.)
Bearbeiten :
%Vor%Schließlich können Sie das Ganze zu einer Funktion machen:
%Vor% Das Ersetzen eines NA
-Werts mit Null scheint ziemlich merkwürdiges Verhalten zu erwarten. R
berücksichtigt NA
Werte fehlen (obwohl weit hinter Szenen versteckt, wo Sie (nie) gehen müssen, sind sie sehr große Zahlen, wenn numerisch))
Alles was Sie tun müssen, ist A>0
oder as.numeric(A>0)
, wenn Sie wollen, dass 0,1 nicht TRUE, FALSE
beachte das
ifelse(A>0, 1,0)
würde auch funktionieren.
Die NA
-Werte werden "beibehalten" oder entsprechend behandelt. R
ist hier sinnvoll.
Tags und Links r conditional-statements