【发布时间】:2017-07-19 02:09:57
【问题描述】:
我有两个矩阵sub 和macro_data。它们分别包括模型的估计系数和宏观数据
> sub
coeff varname
1 -1.50 gdp
2 0.005 inflation
3 -2.4 constant
> macro_data
gdp inflation
1 18.0 -0.17
2 15.8 -0.14
3 17.7 -0.15
我想应用以下公式:-1.5*gdp+0.005*inflation-2.4 以获得分数。
我试过了
for (i in 1:1){
sub$coeff[i]*macro_data[,1]+sub$coeff[i+1]*macro_data[,sub$coeff[i+1]]+sub$coeff[i+2]
}
实际上它有效,但这不是最好的解决方案,因为我想要一些通用的东西。有什么想法吗?
【问题讨论】:
-
为什么要循环单个数量的
i?还有i+3会越界吗?您可能想要:sub$coef[1] * macro_data$gdp + sub$coef[2] * macro_data$inflation + sub$coef[3]. -
正确,它是 i+2,但我迷失在自己的循环中,我不知道如何应用上面的公式
-
cbind(macro_data, 1) %*% sub[, "coeff", drop=FALSE]通常函数predict.~()可以带参数newdata= -
@jogo 非常感谢,它是否确保 colnames 匹配?
-
@branchwarren mathinsight.org/matrix_vector_multiplication
标签: r