I have a dataframe containing daily prices of a stock exchange with corresponding dates for several years. These dates are tradingdates and is thus excluded weekends and holidays. Ex:

```
df$date <- c(as.Date("2017-03-30", "2017-03-31", "2017-04-03", "2017-04-04")

```

I have used lubridate to extract a column containg which month each date is in, but what I struggle with is creating a column that for each month of every year, calculates which number of trading day in the month it is. I.e. from the example, a counter that will start at 1 for 2017-04-03 as this is the first observation of the month and not 3 as it is the third day of the month and end at the last observation of the month. So that the column would look like this:

```
df$DayofMonth <- c(22, 23, 1, 2)

```

and not

```
df$DayofMonth <- c(30, 31, 3, 4)

```

Is there anybody that can help me?