我的数据框df为
Name DoApply
T1 No
T2 Yes
T3 No
和时间序列对象z为
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
我希望输出是基于是或否
T1 T2 T3
2013-01-18 20 0 21
2013-01-20 30 0 17
2013-01-21 10 0 24
2013-01-22 15 0 15
2013-01-23 18 0 18
我正在尝试这样的事情,但无法做到这一点
coredata(z)[match something from df] <- 0
答案 0 :(得分:2)
你可以尝试
z[,df$DoApply[match(colnames(z), df$Name)]=='Yes'] <- 0
或者
z[,with(df, Name[DoApply=='Yes'])] <- 0