Die benutzerdefinierte Summenfunktion in dplyr gibt inkonsistente Ergebnisse zurück

8

Ich habe eine benutzerdefinierte Summenfunktion erstellt, die NA s ignoriert, sofern nicht alle NA sind. Wenn ich es in dplyr verwende, gibt es seltsame Ergebnisse zurück und ich weiß nicht warum.

%Vor%

gibt mir

%Vor%

In diesem Fall wird nur über einen Wert summiert, aber in meiner größeren Anwendung im Sommer über mehrere Werte. Wrapping meiner Funktion sum0 in as.integer() scheint es zu beheben, aber ich konnte Ihnen nicht sagen warum.

Ist das der richtige Weg, um dieses Problem zu umgehen? Gibt es etwas Offensichtliches, das ich vermisse?

%Vor%     
Tom 14.10.2014, 01:14
quelle

1 Antwort

10

Das Problem scheint darin zu liegen, dass dplyr den Spaltentyp in Bezug auf das erste zurückgegebene Ergebnis bestimmt. Wenn Sie den NA -Wert, der standardmäßig ein logischer Wert ist, als NA_real_ oder NA_integer_ erzwingen, werden Sie sortiert:

%Vor%     
thelatemail 14.10.2014, 03:03
quelle

Tags und Links