需要帮助将回归模型应用于R中的数据集(体育数据)

时间:2017-11-01 22:55:43

标签: r regression predict

更新:解决了!

我目前正在尝试为足球创建回归模型,根据他们的传球码数和冲球码数来预测球队的总得分。我能够一路找出回归方程,但从这里我不知道如何插入"插入"公式。

数据表基本上是行列出的所有32个NFL球队,以及列

列出的进攻统计数据

代码:

# 1. Import
Offense <- read.csv(file.choose(), header=TRUE)
#2 View
show (Offense)
#3 Attach so headers can be referenced
attach (Offense)
#4 Create Regression Model
mod1 <-lm(Total.Points ~ Pass.Yds + Rush.Yds)
summary(mod1)
#Formula obtained from summary: -255.60178 + .10565(Pass) + .12154(Rush)
#Plug in the Regression Equation
predict(mod1)

输出:https://imgur.com/a/AbTNF

我看到最后它将回归方程应用于所有32行,但我如何

  1. 让它显示在排名列表中
  2. 让它显示团队名称以及预计得分(所以我不必怀疑是什么团队&#34; 1&#34;或&#34; 2&#34;参考到
  3. 由于我有这个等式,我是否也可以编写一个循环函数来运行我拥有的每一行数据的等式并打印结果?

    我非常感谢初学者!

    更新:想出了这个

    ####Part 2. Interpretation
    
    #1. Examining quality of model
    summary(mod1)
    cor(Pass.Yds, Rush.Yds)
    
    #2. Formula obtained from summary: -255.60178 + .10565(Pass) + .12154(Rush)
    
    #3. Predicted Points (Descending Order)
    proj <- sort(predict(mod1), decreasing = TRUE)
    
    proj
    
    #4. Corresponding Name (Descending)
    name <- Team[order(predict(mod1), decreasing = TRUE)]
    
    name
    
    #Data Frame
    Projections <- data.frame(name, proj)
    
    Projections
    

    虽然bbrot提供了一个更简单的版本

1 个答案:

答案 0 :(得分:1)

假设Teams是团队名称的向量,像cbind(Teams[order(predict(mod1), decreasing = TRUE)], sort(predict(mod1), decreasing = TRUE))这样的东西应该......

修改:您的Teams向量似乎是一个因素。在这种情况下,以下命令将起作用:

# returns a character matrix
cbind(as.character(Teams)[order(predict(mod1), decreasing = TRUE)],
      sort(predict(mod1), decreasing = TRUE))

# returns a data frame
data.frame(Teams = Teams[order(predict(mod1), decreasing = TRUE)],
           Points = sort(predict(mod1), decreasing = TRUE))