将数据输入矩阵并预测 r 中的响应变量
Inputting data to a matrix and predicting the response variable in r
所以我在将向量与矩阵结合时遇到了问题
require(faraway)
x<-lm(lpsa~lcavol+lweight+age+svi+lcp+gleason+pgg45,prostate)
y<-model.matrix(x)
我得到了新数据,我需要用它来预测 lpsa。所以我在想,我可以只使用向量添加数据,然后从那里进行回归分析。
z<-c(1.44692,3.62301,65,.30010,0,-.79851,7,15)
rbind(y,z)
这不仅给我 100 行,而且我不确定如何使用此方法预测 lpsa。有人可以给我建议吗?
尝试:
require(faraway)
x<-lm(lpsa~lcavol+lweight+age+svi+lcp+gleason+pgg45,prostate)
z<-c(1.44692,3.62301,65,.30010,0,-.79851,7,15)
z<-z[-length(z)]
names(z)<-names(x$coefficients)[-1]
z<-as.list(z)
predict(x,z)
1
2.036906
说明:当您创建 x
时,您必须使用 predict
来预测 lpsa
变量的新值。您创建一个列表 z
,其中包含与模型中一样多的变量(lpsa
除外,因为您希望 "find" 它)。然后您 运行 命令和 2 是新变量的 lpsa
的预测值。至于最后一个值z
(即15)我也不知道是什么
unlist(z) # this shows that z is coherent as age is 65 (only value that makes sense for it)
lcavol lweight age svi lcp gleason pgg45
1.44692 3.62301 65.00000 0.30010 0.00000 -0.79851 7.00000
如果你想知道回归计算的系数,你可以这样做:
coefficients(x)
(Intercept) lcavol lweight age svi lcp gleason pgg45
-0.130150643 0.577486444 0.576247172 -0.014687934 0.698386394 -0.100954503 0.055762175 0.004769619
如果您想确定 predict
是否正确,请执行:
unname(sum(unlist(z)*coefficients(x)[-1])+coefficients(x)[1])
[1] 2.036906 # same estimated value for z
所以我在将向量与矩阵结合时遇到了问题
require(faraway)
x<-lm(lpsa~lcavol+lweight+age+svi+lcp+gleason+pgg45,prostate)
y<-model.matrix(x)
我得到了新数据,我需要用它来预测 lpsa。所以我在想,我可以只使用向量添加数据,然后从那里进行回归分析。
z<-c(1.44692,3.62301,65,.30010,0,-.79851,7,15)
rbind(y,z)
这不仅给我 100 行,而且我不确定如何使用此方法预测 lpsa。有人可以给我建议吗?
尝试:
require(faraway)
x<-lm(lpsa~lcavol+lweight+age+svi+lcp+gleason+pgg45,prostate)
z<-c(1.44692,3.62301,65,.30010,0,-.79851,7,15)
z<-z[-length(z)]
names(z)<-names(x$coefficients)[-1]
z<-as.list(z)
predict(x,z)
1
2.036906
说明:当您创建 x
时,您必须使用 predict
来预测 lpsa
变量的新值。您创建一个列表 z
,其中包含与模型中一样多的变量(lpsa
除外,因为您希望 "find" 它)。然后您 运行 命令和 2 是新变量的 lpsa
的预测值。至于最后一个值z
(即15)我也不知道是什么
unlist(z) # this shows that z is coherent as age is 65 (only value that makes sense for it)
lcavol lweight age svi lcp gleason pgg45
1.44692 3.62301 65.00000 0.30010 0.00000 -0.79851 7.00000
如果你想知道回归计算的系数,你可以这样做:
coefficients(x)
(Intercept) lcavol lweight age svi lcp gleason pgg45
-0.130150643 0.577486444 0.576247172 -0.014687934 0.698386394 -0.100954503 0.055762175 0.004769619
如果您想确定 predict
是否正确,请执行:
unname(sum(unlist(z)*coefficients(x)[-1])+coefficients(x)[1])
[1] 2.036906 # same estimated value for z