根据数据框中的列更新时间序列
Update time series on the basis of columns in data frame
我有一个数据框 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
你可以试试
z[,df$DoApply[match(colnames(z), df$Name)]=='Yes'] <- 0
或者
z[,with(df, Name[DoApply=='Yes'])] <- 0
我有一个数据框 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
你可以试试
z[,df$DoApply[match(colnames(z), df$Name)]=='Yes'] <- 0
或者
z[,with(df, Name[DoApply=='Yes'])] <- 0