2016-05-31 16 views
-2

Ich weiß, mit der lubridate Paket, ich kann den jeweiligen Wochentag für jedes Datum der Eingabe generieren. Ich habe es jetzt mit einem großen Datensatz zu tun, der viele Datumseinträge enthält, und ich möchte für jede Datumseingabe Wochentage extrahieren. Ich denke, es ist ziemlich unmöglich, nach jedem Datum zu suchen und Wochentage zu finden. Ich werde eine Funktion haben, die mir erlaubt, meine Datumsspalte aus meinem Datenrahmen einzufügen und Tage zu erzeugen, die jedem Datum des Rahmens entsprechen.extrahieren Wochentage von einer Reihe von Daten in R

mein Rahmen ist wie

uinq_id Product_ID Date_of_order count 
1 Aarkios04_2014-09-09 Aarkios04 2014-09-09 10 
2 ABEE01_2014-08-18  ABEE01 2014-08-18  1 
3 ABEE01_2014-08-19  ABEE01 2014-08-19  0 
4 ABEE01_2014-08-20  ABEE01 2014-08-20  0 
5 ABEE01_2014-08-21  ABEE01 2014-08-21  0 
6 ABEE01_2014-08-22  ABEE01 2014-08-22  0 

i

uinq_id Product_ID Date_of_order count      weekday 
1 Aarkios04_2014-09-09 Aarkios04 2014-09-09 10  Tues 
2 ABEE01_2014-08-18  ABEE01 2014-08-18  1  Mon 
3 ABEE01_2014-08-19  ABEE01 2014-08-19  0  Tues 
4 ABEE01_2014-08-20  ABEE01 2014-08-20  0  Wed 
5 ABEE01_2014-08-21  ABEE01 2014-08-21  0  Thurs 
6 ABEE01_2014-08-22  ABEE01 2014-08-22  0  Fri 

Jede Hilfe wird sehr vorteilhaft zu erzeugen versuchen. danke.

Antwort

1

Wir format verwenden, um den Ausgang

df1$weekday <- format(as.Date(df1$Date_of_order), "%a") 
df1$weekday 
#[1] "Tue" "Mon" "Tue" "Wed" "Thu" "Fri" 

Nach ?strptime

% zu erhalten ein - Abgekürzter Wochentag in der aktuellen Locale auf dieser Plattform. (entspricht auch vollständigen Namen bei der Eingabe: in einigen Orten gibt es keine Abkürzungen von Namen.)

+0

es hat gut funktioniert. Ich bin frischer in R. Kannst du mir bitte sagen was bedeutet "% a"? –

+1

@HindolGanguly Nach '? Strptime''% a - Kurzwahlname im aktuellen Gebietsschema auf dieser Plattform. (Stimmt auch mit dem vollständigen Namen bei der Eingabe überein: In einigen Gebietsschemata gibt es keine Abkürzungen von Namen.) ' – akrun

+0

ok, das ist großartig. Kann ich auch Wochennummer und Monatsnamen mit dem gleichen Paket finden? was soll ich dann anstelle von "% a" verwenden? –

4

weekdays von der Basis R Verwenden Sie können diese alle auf einmal für einen Vektor tun:

temp = data.frame(timestamp = Sys.Date() + 1:20) 
> head(temp) 
    timestamp 
1 2016-06-01 
2 2016-06-02 
3 2016-06-03 
4 2016-06-04 
5 2016-06-05 
6 2016-06-06 
temp$weekday = weekdays(temp$timestamp) 
> head(temp) 
    timestamp weekday 
1 2016-06-01 Wednesday 
2 2016-06-02 Thursday 
3 2016-06-03 Friday 
4 2016-06-04 Saturday 
5 2016-06-05 Sunday 
6 2016-06-06 Monday 
Verwandte Themen