Добавление гладкой аппроксимирующей линии (лёсса) к гистограмме

Я пытаюсь добавить кривую лесса к гистограмме. После загрузки пакета ggplots2 я сначала создаю гистограмму:

test<-read.csv("tseries.csv", header = TRUE)  
barplot(test$tn90p, beside = TRUE,ylim =c(-6,6))  
lo<-loess(tn10p~year, test)   pred<-predict(lo, se = TRUE)
a<-order(test$year)  

Пока все хорошо, пока я не попытаюсь добавить сглаженную кривую:

lines(test$year[a], pred$fit[a], col = "red", lwd = 2)  

Когда я это делаю, сообщение об ошибке не появляется, подсказка возвращается, но строка не добавляется.
Что я упустил?
Спасибо за вашу помощь.

Примечание. Когда я выполняю dput(test), я получаю следующее:

structure(list(year = 1951:1980, tn90p = c(3.126667391, 4.091391006, 
3.11420404, 5.117428018, 2.281128013, 2.654342884, 4.189742845, 
-0.448909654, 1.634574903, -1.324893538, -0.675205784, -1.876889174, 
-2.689793785, 0.364812684, -1.859920287, -1.736813462, -1.527857975, 
-3.214404324, -4.189742845, 0.448909654, -1.634574903, 1.324893538, 
0.675205784, 1.876889174, -0.436873606, -4.45620369, -1.254283753, 
-3.380614556, -0.753270038, 0.560061439)), .Names = c("year", 
"tn90p"), class = "data.frame", row.names = c(NA, -30L))

person Soul    schedule 29.07.2017    source источник
comment
Я понимаю, что в моем коде есть опечатка. Нет tn10p. У меня только tn90p.   -  person Soul    schedule 30.07.2017


Ответы (1)


Наконец-то я смог заставить это работать:

test‹-read.csv("tseries.csv", header = TRUE)
attach(test)
p = barplot(test$tn90p, names.arg=test$year, рядом = TRUE, ylim =c (-6,6))
lo‹-loess(tn90p~год)
lines(p, прогноз(lo), col="red", lwd=3)
abline (h=0, лвд=1)

person Soul    schedule 30.07.2017