[R] assign NA to rows by test on multiple columns of a data frame
Massimo Bressan
massimo.bressan at arpa.veneto.it
Wed Nov 22 11:34:50 CET 2017
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]]
More information about the R-help
mailing list