Инструменты на основе Xerces испускают следующую ошибку
The processing instruction target matching "[xX][mM][lL]" is not allowed.
, когда XML-объявление встречается где угодно, кроме как в верхней части XML-файла.
Это действительное диагностическое сообщение; другие синтаксические анализаторы XML должны выпустить аналогичное сообщение об ошибке в этой ситуации.
. Разрешение: удалите пустое пространство или любое другое видимое содержимое перед объявлением XML.
. Чаще всего это бит байта (BOM) . Решение: удалите спецификацию с помощью техник, которые предлагаются на странице W3C на спецификации в HTML.
. Это может произойти, когда файлы XML объединены программно или путем вырезания и вставки. В файле XML может быть только одно объявление
, и оно может быть только сверху. Решение: найдите без учета регистра и удалите из файла все, кроме верхнего объявления XML.
Вы можете использовать следующее:
ggplot(time_series, aes(x = Index, y = predict_rec)) +
geom_line(aes(lty = factor(in_sample)), size = 0.7) +
geom_rect(data = recession_dates, aes(xmin = start, xmax = end, ymin = -Inf, ymax = Inf, fill = "NBER recession"), alpha = 0.5, inherit.aes = FALSE) +
scale_linetype_manual(NULL, values = c("dashed", "solid"), labels = c("Out-of-sample", "In-sample")) +
scale_fill_manual(NULL, values = "grey50") +
theme(legend.key.height = unit(3, "mm")) + ylab("Name") + xlab(NULL)
Я внес много изменений, в основном для упрощения кода. Что касается ошибки, проблема заключалась в том, что in_sample
является числовой переменной, в то время как нам нужен коэффициент. Некоторые другие комментарии:
keyheight = unit(3, "mm")
, мы можем упомянуть об этом только один раз в theme
. geom_line
были идентичны, за исключением типа линии. Мы можем использовать только один geom_line
с aes(lty = factor(in_sample))
, а затем установить значения с помощью scale_linetype_manual
. "black"
уже является цветом по умолчанию, если мы не используем цветовую эстетику. geom_rect
имеет inherit.aes = FALSE
, мы можем указать x = Index, y = data
в начале.