Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
181 views
in Technique[技术] by (71.8m points)

r - Copy columns of zoo object on the basis of a condition in data frame

I have a dataframe and a zoo objet as

                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

Base dataframe can have more values of Name. Now on the basis of whether doApply is yes I want to copy value from its base column. Output like this

                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

This might be straight forward but somehow I could not get it

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

May be

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

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...