assign to is.na (clinical.trial $ age)

8

Ich betrachte den Code von hier , der das hat der Anfang:

%Vor%

Ich kann diese letzte Zeile nicht verstehen.         Die LHS ist ein Vektor aller FALSE-Werte. Der RHS ist ein Vektor von 20 Zahlen, die aus dem Vektor 1: 100 ausgewählt sind. Ich verstehe diese Art von Auftrag nicht. Wie wird dieses Ergebnis in clinical.trial$age erhalten einige NA Werte? Hat diese Art von Aufgabe einen Namen? Im besten Fall würde ich sagen, dass der boolesche Vektor auf der RHS ihm Nummern zugewiesen bekommt mit Recycling.

    
matt 14.06.2017, 12:13
quelle

3 Antworten

5

is.na(x) <- value wird als 'is.na<-'(x, value) übersetzt.

Sie können sich 'is.na<-'(x, value) als 'assign NA bis x , an Position value ' vorstellen.

Eine vielleicht bessere und intuitivere Formulierung könnte assign_NA(to = x, pos = value) sein.

Bezüglich anderer ähnlicher Funktionen können wir diese im Basispaket finden:

%Vor%

Alles funktioniert in dem Sinne, dass 'fun<-'(x, val) äquivalent zu fun(x) <- val ist. Aber danach verhalten sie sich wie normale Funktionen.

R Handbücher: 3.4.4 Subset-Zuweisung

    
GGamba 14.06.2017 12:24
quelle
0

Die Hilfe sagt uns, dass:

%Vor%

Also,

%Vor%

verhält sich eher wie

%Vor%     
herbaman 14.06.2017 12:27
quelle
0

@matt, um auf Ihre Frage zu antworten, die oben in den Kommentaren gestellt wurde, hier ist ein alternativer Weg, die gleiche Aufgabe zu erledigen, die ich glaube, ist einfacher zu folgen: -)

clinical.trial$age[sample(1:100, 20)] <- NA

    
kartik_subbarao 28.10.2017 21:36
quelle

Tags und Links