Hi-- I too misread the question twice and i may have mistakenly posted non-text answer earlier. Below is a step by step solution that works provided that your real data frame has the same structure (alternative columns as in your example). You could combine all the steps in 2 statements. Best of luck
EK a <- grep("_flag",colnames(mydf)) b <- mydf[,a]==0 c <- mydf[,a-1] c[b] <- NA mydf[,a-1] <- c mydf A A_flag B B_flag 1 8 10 5 12 2 NA 0 6 9 3 10 1 NA 0 4 NA 0 1 5 5 5 2 NA 0 On Wed, Nov 22, 2017 at 8:44 AM, Ek Esawi <esaw...@gmail.com> wrote: > OPS, > > Sorry i did not read the post carfully. Mine will not work if you have > zeros on columns A and B.. But you could modify it to work for specific > columns i believe. > > EK > > On Wed, Nov 22, 2017 at 8:37 AM, Ek Esawi <esaw...@gmail.com> wrote: > >> Hi *Massimo,* >> >> *Try this.* >> >> *a <- mydf==0mydf[a] <- NAHTHEK* >> >> On Wed, Nov 22, 2017 at 5:34 AM, Massimo Bressan < >> massimo.bres...@arpa.veneto.it> wrote: >> >>> >>> >>> Given this data frame (a simplified, essential reproducible example) >>> >>> >>> >>> >>> A<-c(8,7,10,1,5) >>> >>> A_flag<-c(10,0,1,0,2) >>> >>> B<-c(5,6,2,1,0) >>> >>> B_flag<-c(12,9,0,5,0) >>> >>> >>> >>> >>> mydf<-data.frame(A, A_flag, B, B_flag) >>> >>> >>> >>> >>> # this is my initial df >>> >>> mydf >>> >>> >>> >>> >>> I want to get to this final situation >>> >>> >>> >>> >>> i<-which(mydf$A_flag==0) >>> >>> mydf$A[i]<-NA >>> >>> >>> >>> >>> ii<-which(mydf$B_flag==0) >>> >>> mydf$B[ii]<-NA >>> >>> >>> >>> >>> # this is my final df >>> >>> mydf >>> >>> >>> >>> >>> By considering that I have to perform this task in a data frame with >>> many columns I’m wondering if there is a compact and effective way to get >>> the final result with just one ‘sweep’ of the dataframe? >>> >>> >>> >>> >>> I was thinking to the function apply or lapply but I can not properly >>> conceive how to… >>> >>> >>> >>> >>> any hint for that? >>> >>> [[alternative HTML version deleted]] >>> >>> ______________________________________________ >>> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see >>> https://stat.ethz.ch/mailman/listinfo/r-help >>> PLEASE do read the posting guide http://www.R-project.org/posti >>> ng-guide.html >>> and provide commented, minimal, self-contained, reproducible code. >> >> >> > [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.