[R] assign NA to rows by test on multiple columns of a data frame

Ek Esawi esawiek at gmail.com
Wed Nov 22 14:44:00 CET 2017


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 <esawiek at gmail.com> wrote:

> Hi *Massimo,*
>
> *Try this.*
>
> *a <- mydf==0mydf[a] <- NAHTHEK*
>
> On Wed, Nov 22, 2017 at 5:34 AM, Massimo Bressan <
> massimo.bressan at 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 at 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]]



More information about the R-help mailing list