There is an issue here based on your comment, date data types should be stored as such, a date, not a string of characters, that way you can sort by them and filter etc.
When you choose to output the information, you can then format it and make it look pretty to people.
the first example will make the dates into actual dates, then you can filter/sort by this column, the second will only sort it, and if you wish to perform another operation you will need to convert again.
Option 1 (Good):
dates_mos <- dates %>%
mutate(date = as.Date(date, "%d-%m-%Y")) %>%
arrange(date)
Output 1:
date value
<date> <dbl>
1 2017-01-01 8
2 2017-01-02 14
3 2017-02-01 4
4 2017-03-01 11
5 2017-03-02 12
Option 2 (Not so good):
dates_mos <- dates %>%
arrange(date = as.Date(date, "%d-%m-%Y"))
Output 2:
date value
<chr> <dbl>
1 01-01-2017 8
2 02-01-2017 14
3 01-02-2017 4
4 01-03-2017 11
5 02-03-2017 12