【问题标题】:Two trendlines for the same series同一系列的两条趋势线
【发布时间】:2020-08-24 17:44:31
【问题描述】:

您好,我有一个从 1950 年到 2017 年人均 gdp 的年度系列,我想在同一个散点图上绘制不同时期的两条趋势线以显示平衡增长路径的变化,一条趋势线将是当年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

【问题讨论】:

  • 请提供一个可重现的最小示例。
  • 是的,有可能。真正不可能的事情是向您展示如何,除非我们知道您的数据采用什么格式、时间的单位是什么、您正在使用什么包等。
  • 我对 R 很陌生,所以我只是绘制了从 1950 年到 2017 年的趋势线
  • 为了让我们帮助您,请提供reproducible example。例如,要生成最小数据集,您可以使用head()subset() 或索引。然后使用dput() 给我们一些可以立即放入R 中的东西。另外,请确保您知道该怎么做when someone answers your question。更多信息可以在 Stack Overflow 的help center 上找到。谢谢!

标签: r time-series trendline


【解决方案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")

enter image description here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-24
    • 2018-04-15
    • 2021-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-28
    • 2013-10-14
    相关资源
    最近更新 更多