2016-06-29 3 views
-2

Ich habe folgenden Datenrahmen:Wie wird die Jahres- und Wochennummer mit der Basis R extrahiert?

id created_at     year_weak 
1  2016-01-01T12:11:03.383Z 2016-01 
2  2016-01-04T12:11:03.383Z 2016-01 
3  2016-01-06T12:11:03.383Z 2016-01 
4  2016-01-11T12:11:03.383Z 2016-02 
5  2016-01-12T12:11:03.383Z 2016-02 

Zur Zeit habe ich Paket folgenden Code verwendet lubridate: in Basis

paste(year(as.Date(df$created_at)),week(as.Date(df$created_at)),sep = "-") 

ich die gleiche Sache mit Base R tun will, wie kann ich es tun R?

+1

ist der Datentyp "created_at" einen String oder bereits ein 'Date' oder' POSIXct'? –

+0

Eigentlich ist es ein Faktor, ich habe den Typ nicht geändert. – sanaz

Antwort

3

Diese folgenden Arbeiten mit Basis R Befehle:

year <- format(as.Date(df$created_at)+2, "%Y") 
week <- format(as.Date(df$created_at)+2, "%U") 

paste(year,week,sep = "-") 

Hinweis: Sie haben 2 Tage hinzufügen, weil der 1. Januar 2016 ein Freitag war und dieser würde Ihnen eine Woche von 0. In format() geben Die Woche beginnt mit Sonntag.

Grüße,
J_F

+0

danke was, wenn ich es auf verschiedene Jahre mit unterschiedlichem beginnendem Tag anwenden möchte? – sanaz

+0

funktioniert dieser Code in all den Jahren? – sanaz

+1

lesen Sie das Handbuch: "% U Woche des Jahres als Dezimalzahl (00-53) mit Sonntag als erster Tag 1 der Woche (und in der Regel mit dem ersten Sonntag des Jahres als Tag 1 der Woche 1). Die US-Konvention. " –

Verwandte Themen