Warum werden die Werte von dplyr nicht durch die Bedingung gelöscht?

9

Ich verwende dplyr , um die value durch NA zu ersetzen, wenn eine Bedingung erfüllt ist, aber es setzt NA an die Stelle, wo es nicht sein sollte.

dput:

%Vor%

data.frame (Hinweis: Bedingung ist nur in Zeile 1 und 2 erfüllt)

%Vor%

dplyr

%Vor%

Beachten Sie, dass die einzigen Zeilen, die geändert werden sollten, 1 und 2 sind, aber dplyr die Zeilen 5 und 6 , obwohl die Bedingungen nicht erfüllt wurden.

    
Vedda 27.12.2015, 23:02
quelle

1 Antwort

1

Der folgende Code sollte tun, was Sie versuchen zu tun

%Vor%

Für die Frage, ob das ein Fehler ist oder nicht, glaube ich nicht. Betrachtet man nur die Daten für das ein Jahr, wobei TMIN & gt; = TMAX, haben Sie die folgenden

%Vor%

Das Konstrukt value[element == 'TMIN'] >= value[element == 'TMAX']) wird immer wahr sein, wie in der Spalte res zu sehen ist. Der Code unten bricht das ein wenig ab, um hoffentlich zu klären (hoffe ich).

%Vor%

Da es für die gesamte Gruppe einen Vergleich gibt, sehen sie immer WAHR oder immer FALSCH.

Der Code, der das richtige Ergebnis liefert, zeigt, wie der Vergleich zustande kommt.

Eine mögliche endgültige Lösung könnte sein:

%Vor%     
steveb 28.12.2015, 21:31
quelle

Tags und Links