【问题标题】:Predicting the averages of future time series in R在 R 中预测未来时间序列的平均值
【发布时间】:2021-10-06 04:43:13
【问题描述】:

这是我的样本数据

df <- structure(list(Make = c("Ford", "Nissan", "Volkswagen", "Chevrolet", 
"Chevrolet", "GMC", "Mazda", "Ford", "Chevrolet", "Ford", "Cadillac", 
"Ford", "Grand Cherokee", "Volkswagen", "Chevrolet", "Toyota", 
"Toyota", "Honda", "Toyota", "Audi"), Model = c(2011L, 2011L, 
2012L, 2011L, 2010L, 2011L, 2010L, 2010L, 2012L, 2012L, 2012L, 
2010L, 2010L, 2010L, 2011L, 2010L, 2010L, 2011L, 2011L, 2011L
), Highway_mpg = c(15L, 20L, 27L, 20L, 23L, 25L, 26L, 17L, 26L, 
25L, 27L, 21L, 20L, 30L, 21L, 18L, 28L, 26L, 20L, 19L), City_mpg = c(11L, 
16L, 21L, 14L, 17L, 18L, 20L, 12L, 16L, 18L, 18L, 15L, 14L, 22L, 
15L, 14L, 19L, 17L, 15L, 12L)), row.names = c(NA, -20L), class = ("data.frame"))

这是我的期望输出(假设 NA 是预测值):

我想计算每个车型年份的平均油耗,同时预测 2013 年至 2016 年的平均值。

我的尝试

我尝试使用以下代码跟踪this question 的答案:

cars_model <- lm(Model ~ Highway_mpg + City_mpg, data = df)

years <- data.frame(Model = c(2013:2016))

res <- predict(cars_model, years)

eval 中的错误(predvars、data、env):找不到对象“Highway_mpg”

阅读错误后,我尝试将油耗列添加到我的新 df 中,但仍然出现错误。

【问题讨论】:

    标签: r linear-regression prediction


    【解决方案1】:

    您使用Highway_mpgCity_mpg 预测年份。如果您想要上面那个蓝色表格那样的结果,而且由于您关注的是每个车型年份的平均油耗,您最好尝试这种方式。

    mod1 <- lm(Highway_mpg ~ Model, data = dummy)
    mod2 <- lm(City_mpg ~ Model, data = dummy)
    years <- data.frame(Model = c(2013:2016))
    
    data.frame(
      Model = years$Model,
      Highway_mpg = predict(mod1, years),
      City_mpg = predict(mod2, years)
      
    )
    
      Model Highway_mpg City_mpg
    1  2013    25.21429 17.14286
    2  2014    26.35714 17.57143
    3  2015    27.50000 18.00000
    4  2016    28.64286 18.42857
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-12
      • 2016-12-01
      相关资源
      最近更新 更多