2017-05-12 6 views
0

entdeckte ich das Paket nsRFA, die ich für Niederschlagsdaten analysys zu verwenden beabsichtigt, und ich fand die Funktion consistencyplot() die ich denke, ist erstaunlich.Zeitreihe: Verfügbare Daten Diagramme (ggplot)

> library(nsRFA) 
> data(hydroSIMN) 
> head(annualflows) 
    cod anno dato 
1 1 1956 1494 
2 1 1957 1309 
3 1 1958 1699 
4 1 1959 1467 
5 1 1960 1918 
6 1 1961 1469 
> y <- annualflows["anno"][,] 
> cod <- annualflows["cod"][,] 
> consistencyplot(y,cod) 

Aber ich konnte es nicht mit anderen Daten funktioniert aber das in dem Paket Beispiel Handbuch gegebene Beispiel (vignette("nsRFA_ex01", package="nsRFA")). Also habe ich versucht, die Handlung mit ggplot zu replizieren, aber leider bin ich verloren.

Ich fand es schwierig, ein aussagekräftiges Beispiel zu geben, aber kann man mit den Daten aus dem obigen Beispiel irgendeinen Vorschlag machen?

Antwort

2

Man könnte es wie folgt tun:

library(ggplot2) 
library(dplyr) 
annualflows %>% ggplot(aes(x = anno, y = cod)) + 
    geom_point(
     shape = 45, 
     size = 5, 
     col = "blue" 
    ) + 
    scale_y_reverse(
     breaks = seq(10, 50, by = 10) 
    ) + 
    scale_x_continuous(breaks = seq(1920, 1980, by = 10)) + 
    labs(
     x = "Year", 
     y = "Code" 
    ) + 
    theme(
     panel.background = element_blank(), 
     panel.border = element_rect(fill = NA), 
     text = element_text(size = 10), 
     panel.grid.major.x = element_line(color = "grey80"), 
     panel.grid.major.y = element_line(color = "grey80") 
    ) 

enter image description here

+0

Großen. Wenn der Datenrahmen für "Jahresdurchflüsse" Monate hätte, mit fehlenden Werten (einige Jahre nicht alle Monate), wie würden Sie vorgehen? PS. Ich habe ein Beispiel meiner Daten [hier] (https://drive.google.com/file/d/0B7mw858dxh5MSy1RRldYYnFtY2M/view?usp=sharing), es enthält Monatsdaten. – noriega

+0

Sie könnten die Monate und Jahre verketten und sie zu einem Datum machen, indem Sie etwas wie 'df $ date <- as.Date (einfügen (df $ ano, df $ mes, "1"), "% Y% m% d") '' und verwenden Sie dann 'df $ date' als den x-Wert anstelle von anno, wobei' df' der Name Ihres Datenrahmens ist. – Sraffa

+0

Ich probierte und bekam: 'Fehler: Diskreter Wert an kontinuierliche Skala Zusätzlich: Warnmeldungen: 1: In Ops.factor (x): '-' nicht sinnvoll für Faktoren 2: Transformation eingeführt unendliche Werte in der kontinuierlichen y-Achse 'irgendeinen Vorschlag? Ich denke, ich sollte 'sacle_x_date' ausprobieren, aber keine Ahnung, ob ich etwas anderes vermisse. – noriega