Have you tried using read_csv() from readr or dmy() from lubridate? That usually does a great job of detecting the right data types. You can also set the parameter stringsAsFactors = FALSE if you are using read.csv().
I would approach it this way:
library(readr)
library(lubridate)
library(dplyr)
dat <- read_csv("file.csv") # read_csv does not have stringsAsFactors = TRUE :)
dat <- dat %>%
mutate(days = dmy(days))
You can also try wrapping days in an as.character() function to get it out of factor mode.