date day D1 D2 D4 D5W1 D7W2
01-01-2014 1 1 0 0 0 0
02-01-2014 2 0 1 0 0 0
03-01-2014 3 0 0 0 0 0
04-01-2014 4 0 0 1 0 0
05-01-2014 5 0 0 0 1 0
06-01-2014 6 0 0 0 0 0
07-01-2014 7 0 0 0 0 0
08-01-2014 8 0 0 0 0 0
我有一个数据集,直到当前日期以及几个虚拟变量,其中我正在进行预测。 我有一个回归输出,我得到所有虚拟变量
的权重D1 D2 D4 D5W1 D7W2
0.03 0.04 0.02 0.01 -0.05
所需的输出是生成一个因子,该因子将由回归输出中的乘法权重与对应于每个日期的虚拟变量生成。
date factor
01-01-2014
02-01-2014
03-01-2014
04-01-2014
05-01-2014
06-01-2014
答案 0 :(得分:0)
如果数据位于名为df
的数据框中,则解决方案也可以使用sqldf包:
library(sqldf)
result <- sqldf("SELECT date, 0.03 * D1 + 0.04 * D2 + 0.02 * D4 + 0.01 * D5W1 - 0.05 * D7W2 as factor
FROM df")
答案 1 :(得分:0)
得到了结果。将数据集从宽格式转换为长格式。使用变量作为键对长数据集进行混合,然后将两列相乘并将其转换回宽格式。使用value.var使用dcast函数输出产品。