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)
dplyr
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.
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).
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%