根据数据框中的条件复制zoo对象的列

时间:2015-01-17 07:38:57

标签: r

我有一个数据框和一个动物园对象

                T1      T2      T3  
2013-01-18      20      15      21
2013-01-20      30      18      17
2013-01-21      10      21      24
2013-01-22      15      17      15
2013-01-23      18      16      18


Name    DoApply Base
T1      YES     T3
T2      YES     T3
T3      NO      T3
T4      YES     T5
T5      NO      T5

基础数据框可以有更多的Name值。 现在根据doApply是否为yes,我想从其基本列复制值。像这样的输出

                T1      T2      T3
2013-01-18      21      21      21
2013-01-20      17      17      17
2013-01-21      24      24      24
2013-01-22      15      15      15
2013-01-23      18      18      18

这可能是直截了当但不知何故我无法得到它

1 个答案:

答案 0 :(得分:2)

可能是

indx <- d1$DoApply=='YES'
indx1 <- d1$Name[indx] %in% names(z)
z[, indx1] <- z[, d1$Base[indx][indx1]]
z
#           T1 T2 T3
#2013-01-18 21 21 21
#2013-01-20 17 17 17
#2013-01-21 24 24 24
#2013-01-22 15 15 15
#2013-01-23 18 18 18