``` r d <- data.frame(id="dummy", key="fred", value=as.Date("2015-02-05"), stringsAsFactors=FALSE) spread(d, key, value) ``` produces the numeric answer rather than the actual date (i.e. it loses the class). [this is tidyr 0.2.0]