矩阵数学:使用线性回归中的系数来计算值

时间:2013-12-05 16:37:14

标签: r math matrix

我有一个由1行和2列组成的矩阵[D](第1列中的截距,第2列中的斜率)。

然后,我有一个30行和2列的矩阵[C],其中该矩阵的第2列是感兴趣的。我想取斜率[D,2]值并将其乘以[C,2]值并添加截距[D,1],然后将新计算的值存储在新矩阵中。

截至目前我的代码:

A <- matrix(c(Box.Z, Box.DC.gm), nrow=42)

randco&lt; - function(A){

B<- A[sample(42,6),]
arows <- apply(A, 1, paste, collapse="_")
brows <- apply(B, 1, paste, collapse="_")
C<- A[-match(brows, arows), ]
D<- lm(B[,2] ~ B[,1])$coefficients

}

Z < - t(复制(10000,randco(A)))

2 个答案:

答案 0 :(得分:2)

您可以在predict对象上使用lm。诀窍是给它C反转列:

predict(lm(B[,2]~B[,1]), newdata=list(B=C[,2:1]))

答案 1 :(得分:0)

只需在C矩阵中添加一列1,矩阵乘以:

cbind(1,C[,2]) %*% D