Warum ändert dplyrs mutrate () das Zeitformat?

9

Ich verwende readr , um Daten einzulesen, die eine Datumsspalte im Zeitformat enthalten. Ich kann es korrekt mit der Option col_types von readr lesen.

%Vor%

Das ist nett. Wenn ich diese Spalte jedoch mit dplyr bearbeiten möchte, verliert die Zeitspalte ihr Format.

%Vor%

Warum passiert das?

Ich weiß, dass ich dieses Problem umgehen kann, indem ich es vorher in einen Charakter verwandelte, aber es wäre bequemer, ohne hin und her zu transformieren.

%Vor%     
janosdivenyi 01.09.2015, 16:36
quelle

1 Antwort

19

Tatsächlich verursacht ifelse() dieses Problem, nicht dplyr::mutate() . Ein Beispiel für das Problem des Stripping von Attributen wird in help(ifelse) -

angezeigt
%Vor%

Also da hast du es. Es ist ein bisschen mehr Arbeit, wenn Sie ifelse() verwenden möchten. Hier sind zwei mögliche Methoden, die Sie ohne ifelse() zum gewünschten Ergebnis bringen. Der erste ist wirklich einfach und verwendet is.na<- .

%Vor%

Wenn Sie diese Route nicht auswählen und mit der Methode dplyr fortfahren möchten, können Sie replace() anstelle von ifelse() verwenden.

%Vor%

Daten:

%Vor%     
Rich Scriven 01.09.2015, 16:51
quelle

Tags und Links