2012-10-08 12 views
8

ich einen Datensatz mit der Anzahl der Wochen ab Beginn des Jahres haben (%W), die ich möchte Daten konvertieren, um sie zu plotten Datum mit auf der x-AchseConverting Wochen des Jahres zu Terminen

dat <- structure(data.frame(week = c(22, 34, 15), year = c(2009, 2009, 2010), x = c(3.4, 5.2, 1.3))) 

Ich versuche, die Wochen basierend auf earlier questions hier zu konvertieren, aber am Ende bekommen "YYYY-10-01" für jedes Datum.

as.Date(paste("01", dat$week, dat$year, sep = "-"), format = "%d-%W-%Y") 

Warum ist das und wie kann es richtig?

Antwort

10

Versuchen Sie stattdessen:

as.Date(paste("1", dat$week, dat$year, sep = "-"), format = "%w-%W-%Y") 

Eine Woche und ein Jahr nicht angeben, ein Datum, so dass Sie einen „Tag“ tun müssen, aber Sie müssen den „Tag der Woche“, oder %w, anstatt "Tag des Monats" oder %d. In diesem Fall verwendete ich Montag (d.h. 1). Auch scheinbar %w mag führende Nullen nicht.