2016-03-22 19 views
0

ich die Daten eines bestimmten Wochentag wollen (sagen wir mal freitags) zwischen diesen beiden Daten:Daten eines bestimmten Wochentag in R

selectedMonths <- c( "201002", 
         "201103" 
        ) 

Wie kann ich speichern sie in einem data.frame, den Wunsch Ergebnisse ist:

Date 
2010-02-05 
2010-02-12 
2010-02-19 
... 
2011-03-04 
2011-03-11 
2011-03-18 
2011-03-25 

ich die Freitage des letzten Datum "201103

+1

Mögliches Duplikat [Get Daten eines bestimmten Wochentag von einem Jahr in R] (http://stackoverflow.com/questions/9166437/get-dates-of-a-certain-weekday-from-a- Jahr-in-r). Auch bezogen werden: [Datenrahmen von Freitag Termine für das Jahr erzeugen] (http://stackoverflow.com/questions/20671139/r-generate-dataframe-of-friday-dates-for-the-year) – Jota

+0

nicht genau, da ich Ich möchte die Daten eines Wochentages zwischen zwei Monaten verschiedener Jahre, nicht das ganze Jahr – LuisMoncayo

+0

Ich schaue auf die Antworten auf diese Fragen, und ich sehe, wie Sie Ihre Frage beantworten. Im ersten Link hat Kyle Brandt diese Antwort angeboten, die Sie anpassen können: 'x = seq (as.Date (" 2012/01/02 "), as.Date (" 2013/01/01 ")," 7 Tage ")". Im zweiten Link hat thelatemail die Funktion 'pick.wkday' geschrieben, die Sie verwenden können. Stellen Sie sicher, dass Sie alle Antworten durchsehen und viel Glück! – Jota

Antwort

1

Hier wird ein Ansatz mit lubridate und dplyr

01 aufnehmen möchten
library(lubridate) 
library(dplyr) 

startdates <- ymd(paste0(selectedMonths, "01")) 

df <- data.frame(dates = seq(startdates[1], startdates[2], by = "day")) 

df %>% 
    mutate(weekday = weekdays(dates)) %>% 
    filter(weekday == "Friday") 
+0

Meine Lösung basiert auf Ihrer: startdates <- ymd (paste0 (selectedMonths," 01 ")) df <- data.frame (dates = seq (Startdaten [1], Startdaten [1] + Monate (1) - Tage (1), bis = "Tag")) filterDates <- df %>% muate (Wochentag = Wochentage (Daten))%>% Filter (Wochentag == "Sonntag ") FilterDaten [, 1] – LuisMoncayo

Verwandte Themen