2016-06-08 3 views
1

This Link enthält eine CSV-Datei einer Liste von Flutbeobachtungen. Ich mag Beobachtungen von Monat sortieren, so dass ich ein Histogramm/Balkendiagramm von Hochwasserereignissen für Monat in R. Hier machen kann, was ich mit oben kommen kann:Sortieren von Beobachtungen aus der CSV-Datei nach Monat zum Plotten in R

f <- read.csv("storm_data_search_results.csv", header = TRUE, sep = ",") 
forder <- f[order(as.Date(f$BEGIN_DATE, format="%m")),] 
hist(forder$BEGIN_DATE) 

Antwort

1

Ihre Umwandlung von Datum nicht korrekt ist. Wenn man sich anschaut:

f$BEGIN_DATE[1:3] 
#[1] "01/18/1996" "01/18/1996" "01/18/1996" 

sollten Sie wählen Format %m/%d/%Y (?strptime für Format sehen). Wenn Sie Monatsinformationen extrahieren möchten, verwenden Sie strptime() anstelle von as.Date().

## date conversion 
f$BEGIN_DATE <- strptime(f$BEGIN_DATE, format = "%m/%d/%Y") 
## get month 
f$month <- f$BEGIN_DATE$mon + 1L ## 1L means integer 1 

month nimmt Werte 1, 2, ..., 12. Dann können wir f von month

forder <- f[order(f$month), ] 

Nachbestellung jedoch Ihre Frage selbst sehr unklar ist. Sie haben gesagt, Sie möchten ein Histogramm pro Monat zeichnen, aber ich habe keine verfügbaren Daten zur Erstellung eines solchen Histogramms gesehen. Ihr zur Verfügung gestellter Code:

hist(forder$BEGIN_DATE) 

scheint für mich keinen Sinn zu ergeben. Ich glaube du meinst:

hist(forder$month) 

Aber was bedeutet dieses Histogramm? Sie können ein solches Histogramm zeichnen, ohne Ihren Datenrahmen neu anzuordnen.

Wie auch immer, ich denke, Ihr Hauptproblem wurde gelöst. Jetzt gehört der Datensatz Ihnen. Sie sollten Ihren Weg finden, um das gewünschte Histogramm zu erhalten.

+0

Dank @Zheyuan, ich habe ziemlich viel versucht, ein Histogramm zu entwickeln, um die Häufigkeit von Ereignissen pro Monat zu sehen, die mich die Ereignisse nach ihrem jeweiligen Monat kategorisieren musste. Ich hatte nur ein unvollständiges Format. – muse

Verwandte Themen