更新:解决了!
我目前正在尝试为足球创建回归模型,根据他们的传球码数和冲球码数来预测球队的总得分。我能够一路找出回归方程,但从这里我不知道如何插入"插入"公式。
数据表基本上是行列出的所有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行,但我如何
由于我有这个等式,我是否也可以编写一个循环函数来运行我拥有的每一行数据的等式并打印结果?
我非常感谢初学者!
更新:想出了这个
####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提供了一个更简单的版本
答案 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))