很抱歉问了些琐碎的问题。这是我的示例数据:
(x <- data.frame(period=c('20130101','20130102'),symbol=c('x1','x2'),V1=c(1,2),V2=c(3,4)))
(y <- data.frame(period=c('20130101','20130101','20130102','20130102'),
symbol=rep(c('V1','V2'),2),w1=rep(c(0.5,0.5),2),w2=rep(c(0.3,0.7),2),
w3=rep(c(0.2,0.8),2) ) )
对于给定的日期和符号,表“x”中有两个值(V1,V2)。
period symbol V1 V2
1 20130101 x1 1 3
2 20130102 x2 2 4
对于给定的一天,每个值(V1,V2)具有三组权重(w1,w2,w3)。
period symbol w1 w2 w3
1 20130101 V1 0.5 0.3 0.2
2 20130101 V2 0.5 0.7 0.8
3 20130102 V1 0.5 0.3 0.2
4 20130102 V2 0.5 0.7 0.8
没有循环的两个表如何计算加权值?**例如在'20130101'中,'x1'的V1和V2分别为1和3。然后在表'y'中搜索日期'20130101'和V1和V2,我们得到3组权重。加权值计算如下:
wv1=1*0.5 + 3*0.5=2
wv2=1*0.3 + 3*0.7=2.4
wv3=1*0.2 + 3*0.8=2.6
结果表如下所示:
period symbol wv1 wv2 wv3
1 20130101 x1 2 2.4 2.6
...