Ошибка: дискретное значение передается в непрерывную шкалу, as.Date

Данные поставляются ниже с dput, но выглядят так:

head(dat)

       IndIDYear DayStarting Year DailyNSD springstart
1 MTG_001_A.2012  2012-01-01 2012        0  2012-07-06
2 MTG_001_A.2012  2012-01-02 2012        0  2012-07-06
3 MTG_001_A.2012  2012-01-03 2012        0  2012-07-06
4 MTG_001_A.2012  2012-01-04 2012        0  2012-07-06
5 MTG_001_A.2012  2012-01-05 2012        0  2012-07-06
6 MTG_001_A.2012  2012-01-06 2012        1  2012-07-06

> str(dat)
    'data.frame':   135 obs. of  5 variables:
     $ IndIDYear  : chr  "MTG_001_A.2012" "MTG_001_A.2012" "MTG_001_A.2012" "MTG_001_A.2012" ...
     $ DayStarting: Date, format: "2012-01-01" "2012-01-02" ...
     $ Year       : num  2012 2012 2012 2012 2012 ...
     $ DailyNSD   : num  0 0 0 0 0 1 1 2 1 1 ...
     $ springstart: Date, format: "2012-07-06" "2012-07-06" ...

Я получаю опубликованное сообщение об ошибке со следующим кодом, но, как видно из структуры, у меня нет факторов в наборе данных. Я подозреваю, что проблема связана с as.Date, и приветствую любые предложения и улучшения, позволяющие отображать vlines в определенную дату.

Заранее спасибо.

library(ggplot2)
ggplot(dat)+ geom_line(aes(x=  DayStarting, y = DailyNSD, color = factor(Year)))+
  facet_wrap(~IndIDYear, scales = "free") +
  geom_vline(aes(xintercept = springstart), color = "red", lty = 2, lwd = 1.25)






dat <- structure(list(IndIDYear = c("MTG_001_A.2012", "MTG_001_A.2012", 
"MTG_001_A.2012", "MTG_001_A.2012", "MTG_001_A.2012", "MTG_001_A.2012", 
"MTG_001_A.2012", "MTG_001_A.2012", "MTG_001_A.2012", "MTG_001_A.2012", 
"MTG_001_A.2012", "MTG_001_A.2012", "MTG_001_A.2012", "MTG_001_A.2012", 
"MTG_001_A.2012", "MTG_001_A.2012", "MTG_001_A.2012", "MTG_001_A.2012", 
"MTG_001_A.2012", "MTG_001_A.2012", "MTG_001_A.2012", "MTG_001_A.2012", 
"MTG_001_A.2012", "MTG_001_A.2012", "MTG_001_A.2012", "MTG_001_A.2012", 
"MTG_001_A.2012", "MTG_001_A.2012", "MTG_001_A.2012", "MTG_001_A.2012", 
"MTG_001_A.2012", "MTG_001_A.2012", "MTG_001_A.2012", "MTG_001_A.2012", 
"MTG_001_A.2012", "MTG_001_A.2012", "MTG_001_A.2012", "MTG_001_A.2012", 
"MTG_001_A.2012", "MTG_001_A.2012", "MTG_001_A.2012", "MTG_001_A.2012", 
"MTG_001_A.2012", "MTG_001_A.2012", "MTG_001_A.2012", "MTG_001_A.2012", 
"MTG_001_A.2012", "MTG_001_A.2012", "MTG_001_A.2012", "MTG_001_A.2012", 
"MTG_001_A.2012", "MTG_001_A.2012", "MTG_001_A.2012", "MTG_001_A.2012", 
"MTG_001_A.2012", "MTG_001_A.2012", "MTG_001_A.2012", "MTG_001_A.2012", 
"MTG_001_A.2012", "MTG_001_A.2012", "MTG_001_A.2012", "MTG_001_A.2012", 
"MTG_001_A.2012", "MTG_001_A.2012", "MTG_001_A.2012", "MTG_001_A.2012", 
"MTG_001_A.2012", "MTG_001_A.2012", "MTG_001_A.2012", "MTG_001_A.2012", 
"MTG_001_A.2012", "MTG_001_A.2012", "MTG_001_A.2012", "MTG_001_A.2012", 
"MTG_001_A.2012", "MTG_001_A.2012", "MTG_002_A.2012", "MTG_002_A.2012", 
"MTG_002_A.2012", "MTG_002_A.2012", "MTG_002_A.2012", "MTG_002_A.2012", 
"MTG_002_A.2012", "MTG_002_A.2012", "MTG_002_A.2012", "MTG_002_A.2012", 
"MTG_002_A.2012", "MTG_002_A.2012", "MTG_002_A.2012", "MTG_002_A.2012", 
"MTG_002_A.2012", "MTG_002_A.2012", "MTG_002_A.2012", "MTG_002_A.2012", 
"MTG_002_A.2012", "MTG_002_A.2012", "MTG_002_A.2012", "MTG_002_A.2012", 
"MTG_002_A.2012", "MTG_002_A.2012", "MTG_002_A.2012", "MTG_002_A.2012", 
"MTG_002_A.2012", "MTG_002_A.2012", "MTG_002_A.2012", "MTG_002_A.2012", 
"MTG_002_A.2012", "MTG_002_A.2012", "MTG_002_A.2012", "MTG_002_A.2012", 
"MTG_002_A.2012", "MTG_002_A.2012", "MTG_002_A.2012", "MTG_002_A.2012", 
"MTG_002_A.2012", "MTG_002_A.2012", "MTG_002_A.2012", "MTG_002_A.2012", 
"MTG_002_A.2012", "MTG_002_A.2012", "MTG_002_A.2012", "MTG_002_A.2012", 
"MTG_002_A.2012", "MTG_002_A.2012", "MTG_002_A.2012", "MTG_002_A.2012", 
"MTG_002_A.2012", "MTG_002_A.2012", "MTG_002_A.2012", "MTG_002_A.2012", 
"MTG_002_A.2012", "MTG_002_A.2012", "MTG_002_A.2012", "MTG_002_A.2012", 
"MTG_002_A.2012"), DayStarting = structure(c(15340, 15341, 15342, 
15343, 15344, 15345, 15346, 15347, 15348, 15349, 15350, 15351, 
15352, 15353, 15354, 15355, 15356, 15357, 15358, 15359, 15360, 
15361, 15362, 15363, 15364, 15365, 15366, 15367, 15368, 15369, 
15370, 15371, 15372, 15373, 15374, 15375, 15376, 15377, 15378, 
15379, 15380, 15381, 15382, 15383, 15384, 15385, 15386, 15387, 
15388, 15389, 15390, 15391, 15392, 15393, 15394, 15395, 15396, 
15397, 15398, 15399, 15400, 15401, 15402, 15403, 15404, 15405, 
15406, 15407, 15408, 15409, 15410, 15411, 15412, 15413, 15414, 
15705, 15340, 15341, 15342, 15343, 15344, 15345, 15346, 15347, 
15348, 15349, 15350, 15351, 15352, 15353, 15354, 15355, 15356, 
15357, 15358, 15359, 15360, 15361, 15362, 15363, 15364, 15365, 
15366, 15367, 15368, 15369, 15370, 15371, 15372, 15373, 15374, 
15375, 15376, 15377, 15378, 15379, 15380, 15381, 15382, 15383, 
15384, 15385, 15386, 15387, 15388, 15389, 15390, 15391, 15392, 
15393, 15394, 15395, 15396, 15397, 15398), class = "Date"), Year = c(2012, 
2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 
2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 
2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 
2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 
2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 
2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 
2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 
2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 
2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 
2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 
2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 
2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 
2012, 2012), DailyNSD = c(0, 0, 0, 0, 0, 1, 1, 2, 1, 1, 1, 1, 
2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 2, 2, 
2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 
1, 2, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 
4, 4, 4, 4, 4, 4, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4), springstart = structure(c(15527, 
15527, 15527, 15527, 15527, 15527, 15527, 15527, 15527, 15527, 
15527, 15527, 15527, 15527, 15527, 15527, 15527, 15527, 15527, 
15527, 15527, 15527, 15527, 15527, 15527, 15527, 15527, 15527, 
15527, 15527, 15527, 15527, 15527, 15527, 15527, 15527, 15527, 
15527, 15527, 15527, 15527, 15527, 15527, 15527, 15527, 15527, 
15527, 15527, 15527, 15527, 15527, 15527, 15527, 15527, 15527, 
15527, 15527, 15527, 15527, 15527, 15527, 15527, 15527, 15527, 
15527, 15527, 15527, 15527, 15527, 15527, 15527, 15527, 15527, 
15527, 15527, 15527, 15518, 15518, 15518, 15518, 15518, 15518, 
15518, 15518, 15518, 15518, 15518, 15518, 15518, 15518, 15518, 
15518, 15518, 15518, 15518, 15518, 15518, 15518, 15518, 15518, 
15518, 15518, 15518, 15518, 15518, 15518, 15518, 15518, 15518, 
15518, 15518, 15518, 15518, 15518, 15518, 15518, 15518, 15518, 
15518, 15518, 15518, 15518, 15518, 15518, 15518, 15518, 15518, 
15518, 15518, 15518, 15518, 15518, 15518, 15518, 15518), class = "Date")), .Names = c("IndIDYear", 
"DayStarting", "Year", "DailyNSD", "springstart"), row.names = c(1L, 
2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 
16L, 17L, 18L, 19L, 20L, 21L, 22L, 23L, 24L, 25L, 26L, 27L, 28L, 
29L, 30L, 31L, 32L, 33L, 34L, 35L, 36L, 37L, 38L, 39L, 40L, 41L, 
42L, 43L, 44L, 45L, 46L, 47L, 48L, 49L, 50L, 51L, 52L, 53L, 54L, 
55L, 56L, 57L, 58L, 59L, 60L, 61L, 62L, 63L, 64L, 65L, 66L, 67L, 
68L, 69L, 70L, 71L, 72L, 73L, 74L, 75L, 366L, 367L, 368L, 369L, 
370L, 371L, 372L, 373L, 374L, 375L, 376L, 377L, 378L, 379L, 380L, 
381L, 382L, 383L, 384L, 385L, 386L, 387L, 388L, 389L, 390L, 391L, 
392L, 393L, 394L, 395L, 396L, 397L, 398L, 399L, 400L, 401L, 402L, 
403L, 404L, 405L, 406L, 407L, 408L, 409L, 410L, 411L, 412L, 413L, 
414L, 415L, 416L, 417L, 418L, 419L, 420L, 421L, 422L, 423L, 424L, 
425L), class = "data.frame")

person B. Davis    schedule 09.11.2015    source источник
comment
Попробуйте xintercept = as.numeric(springstart)   -  person DatamineR    schedule 09.11.2015
comment
Спасибо! Работает, но не уверен, почему. ggplot автоматически преобразует DayStarting из geom_line в as.numeric? Опубликовать как ответ...?   -  person B. Davis    schedule 09.11.2015
comment
Можно считать это отсутствующей функцией (чтобы избежать кричащей ошибки) в ggplot2.   -  person Roland    schedule 09.11.2015