Verwenden Sie keine dplyr-Joins für zwei Datumsspalten

8

Ich stoße auf einen Fehler, bei dem ich versuche, zwei Datenrahmen mit den dplyr-Join-Funktionen durch zwei Datumsspalten zu verbinden. Dies ist der Fehler, den ich bekomme:

%Vor%

Die Basis merge Funktion funktioniert gut und ich kann kein Beispiel dafür finden, was dies durch Googlen oder andere Stapelüberlauffragen verursachen könnte.

Das Problem ist, dass ich kein reproduzierbares Beispiel erstellen kann und die Daten, die ich verwende, nicht teilen können. Zum Beispiel funktioniert das ohne Probleme:

%Vor%

Hat jemand Erfahrung damit, dass es nicht möglich ist, sich an zwei Spalten zu beteiligen, die, was die Funktion class betrifft, vom selben Typ sind, aber immer noch diesen Fehler bekommen?

EDIT: Nur um das aus dem Weg zu bekommen, kann ich diesen Fehler umgehen, indem ich merge oder die Daten in Charaktere umwandle und dann beitreten, also bin ich wirklich nur daran interessiert, warum dplyr mir sagen würde, dass ich ' t in zwei Spalten desselben Typs zusammenführen.

    
Matt Mills 18.08.2015, 20:38
quelle

1 Antwort

4

Der Grund, warum ich nicht zusammenführen kann, ist, wie die beiden Date-Objekte gespeichert sind. Dank dieses Problems habe ich mich dazu entschlossen, die Struktur zu überprüfen, wie die beiden Objekte gespeichert sind und sicher genug, dass eine davon gespeichert wird Eine Ganzzahl und eine wird als Zahl gespeichert:

%Vor%

Es scheint, dass die Daten, die durch die dplyr SQL-Funktionen aus einem DB gezogen wurden, als numerische gespeichert werden, während die Daten aus einem CSV als eine ganze Zahl gespeichert werden. Ich weiß nicht, warum das dplyr nicht beitreten kann, während merge kann oder warum es zuerst passiert, aber ich denke, dass diese spezifische Frage beantwortet wird.

    
Matt Mills 18.08.2015, 20:59
quelle

Tags und Links