#r #time-series #trendline
#r #временные ряды #линия тренда
Вопрос:
Здравствуйте, у меня есть годовой ряд с ВВП на душу населения с 1950 по 2017 год, и я хочу построить две линии тренда за разные периоды на одной диаграмме рассеяния, чтобы показать изменение траектории роста Баланса, одна линия тренда будет для 1950-1977 годов, а другая — с 1995 по 2016 год. Возможно ли это?
gdp_mex_ts<-ts(data$log_pib_mex, start = 1950, end =2017 ) trend<-lm(data$log_pib_mex~data$ï..Year) plot(gdp_mex_ts,type= "o") abline(trend)
Я хочу добавить две разные линии тренда (с 1950 по 1977 год и с 1995 по 2016 год) на эту диаграмму рассеяния, чтобы сравнить их.
вот пример данных:
head(data)
ï..Year log_pib_us log_pib_mex
1 1950 10.49388 9.699450
2 1951 10.52621 9.766078
3 1952 10.55047 9.802166
4 1953 10.58458 9.764262
5 1954 10.59741 9.858383
6 1955 10.64326 9.926464
Комментарии:
1. Пожалуйста, предоставьте минимальный воспроизводимый пример.
2. Да, это возможно. На самом деле невозможно показать вам, как это сделать, если мы не знаем, в каком формате находятся ваши данные, в каких единицах измерения время, какие пакеты вы используете и т.д.
3. Я действительно новичок в R, поэтому я просто нарисовал линию тренда с 1950 по 2017 год
Ответ №1:
Я решил это, используя следующий код:
gdp_mex_ts<-ts(data$log_pib_mex, start = 1950, end =2017 )
df1<-subset(data, date <= 1977)
trend1<-lm(df1$log_pib_mex~df1$date)
df2<-subset(data, date>=1995)
trend2<-lm(df2$log_pib_mex~df2$date)
plot(gdp_mex_ts,type= "o", xaxt = "n")
axis(1, at = seq(1950, 2017, by = 5), las=2)
abline(trend1, col="red")
abline(trend2, col="blue")