【发布时间】:2018-04-14 08:46:01
【问题描述】:
更新:已解决!
我目前正在尝试为足球创建一个回归模型,该模型根据球队的传球码数和冲球码数预测球队的总得分。我能够一直找出回归方程,但从这里我不知道如何“插入”公式。
数据表基本上是所有 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)
我看到最后它将回归方程应用于所有 32 行,但是我该怎么做
- 让它显示在排名列表中
- 让它显示团队名称以及预计得分(这样我就不必想知道“1”或“2”指的是哪个团队
既然我有方程,我是否也可以编写一个循环函数,为我拥有的每一行数据运行方程并打印结果?
非常感谢我是初学者!
更新:想出了这个
####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 提供了一个更简单的版本
【问题讨论】:
-
你能修正一下格式吗?这将帮助我们帮助您...
-
已修复!不知道如何嵌入图像。
-
你可能想要像
Offense$predicted_points <- predict(mod1)这样的东西。然后,您可以在原始数据框中进行预测,您可以随意订购。 -
其他小问题。不要使用
attach。而是做lm(Total.Points ~ Pass.Yds + Rush.Yds, data = Offense)。它使您的工作空间更清洁。 -
@dash2 你能解释一下 Offense$predicted_points
标签: r regression predict