2014-09-30 53 views
2

У меня есть даты в столбце dataframe отформатированный в виде строки символов, какLubridate дату определенного дня в неделю получить()

Я использую lubridate для выявления недели, что мои даты принадлежат:

library(lubridate) 
week(mdy("09/30/2014") 

дает мне неделю 40

Я группирую на этой неделе и суммирую свои данные. Теперь я хочу вернуть эту неделю на свидание. Итак, как я могу получить дату определенного дня на этой неделе?

Monday например Week 40 в 2014 будет дата 09/29/3014. Поэтому я хотел бы установить каждую Week 40 до этой даты.

ответ

7

Вы можете сделать следующее, например:

## 2 for Tuesday ,39 week number, 2014 the year 
as.Date("2-39-2014",'%u-%W-%Y') 
"2014-09-30" 

Где у вас есть:

> %u :Weekday as a decimal number (1–7, Monday is 1). 
> %W :Week of the year as decimal number (00–53) using Monday as the first day of week 
> %Y :Year with century. 
+0

Как я могу получить результат в формате "09/30/2014"? – brno792

+1

format (as.Date («2-39-2014», «% u-% W-% Y»), «% m /% d /% Y») – agstudy

Смежные вопросы