2016-03-22 3 views
-1

Hier sind zwei Proben von Datensätzen gemessen monatlich gemessen zusammen auf dem gleichen Grundstück Grundstück:eine variable Plotten mit einem variablen Jahres in der gleichen Parzelle (R) Ich möchte

>head(df1) 
    Date     y 
1 2015-10-01  6217.734 
2 2015-09-01  6242.592 
3 2015-08-01  6772.145 
4 2015-07-01  6865.719 

und

>head(df2) 
    Year   x 
1 1980   5760 
2 1981   4765 
3 1982   2620 
4 1983   7484 

Da df2$Year und df1$Date Überlappung Datumsbereiche und df1$y und df2$x von der gleichen Größenordnung sind, wie kann ich am besten Grundstück y und x gegen die Zeit auf dem gleichen Grundstück gegeben, dass x wird nur jährlich und y monatlich gemessen?

Ich stelle mir vor, es wird zu einem beliebigen Datum (1980-01-01, 1981-01-01) konvertieren müssen. Aber abgesehen davon, dass ich meinen df2 data.frame auf zwölf Beobachtungen pro Jahr mit demselben x Wert pro Beobachtung ändere, kann ich mir dann, wenn ich die beiden data.frames kombiniere, nicht vorstellen, was ich tun soll.

Ich würde gerne ggplot2 verwenden, wenn es eine Lösung gibt.

Antwort

0

Können Sie das für mich ausprobieren?

library(dygraphs)

library(xts)

einem Ihrer Variable benennen Sie die anderen skalierten Variable

umbenennen Jahr entsprechen dem Datum des anderen übereinstimmen

dann tun

prep <- cbind(df1, df2) 

ts_object <- as.xts(prep[,2:ncol(prep)], prep$Year) 

dygraph(ts_object) 

Beachten Sie, dass Sie buchstäblich keine Daten zur Verfügung stellen, mit denen ich hier arbeiten kann. Wenn du das kannst, wäre das großartig. Versuchen Sie dput(df1) verwenden und dput(df2), und poste die Ausgabe dieser Befehle

+0

Die kleine Probe I vorgesehen gemeint war meine Situation zu veranschaulichen, ich glaube nicht, es hier wirklich angebracht war Hunderte zu setzen oder sogar Dutzende von Zeilen Daten in einer Frage. In Bezug auf Ihre Antwort bekomme ich einen Fehler beim Ausführen der ersten Zeile, da die 'data.frames' eine unterschiedliche Anzahl von Zeilen haben (im gleichen Zeitraum 1980-2015 haben die monatlichen gemessenen Daten 12x so viele Zeilen). Ich werde meine Frage bearbeiten, um zu verdeutlichen, was ich möchte. – moman822

+0

Versuchen Sie, Jahr zu einem Datum zu konvertieren und verwenden Sie dann etwas wie 'merge (df1, df2, by = Variablen, die Sie wählen)' 'oder' join (df1, df2) ' Ist eines dieser beiden kombiniert, wie Sie möchten? – InfiniteFlashChess

Verwandte Themen