[R] How to delete rows with specific values on all columns (variables)?

David Winsemius dwinsemius at comcast.net
Tue Feb 22 00:11:12 CET 2011


On Feb 21, 2011, at 6:05 PM, David Winsemius wrote:

>
> On Feb 21, 2011, at 4:03 PM, IgnacioQM wrote:
>
>> I need to filter my data:
>> I think its easy but i'm stuck so i'll appreciate some help:
>>
>> I have a data frame with 14 variables and 6 million rows. About  
>> half of this
>> rows have a value of "0" in 12 variables (the other two variables  
>> always
>> have values). How can I delete the rows in which all 12 variables  
>> have the
>> value of "0".
>>
>> example (from my data, variable 14 is missing):
>>
>> 1783         81      85      78     89     71     97     76      
>> 66     88
>> 95     95     98  -57.48258
>> 1784         81      86      79     90     71     97     77      
>> 66     88
>> 95     95     98  -57.43768
>> 1785         81      86      79     90     71     98     77      
>> 66     89
>> 95     94     98  -57.39278
>> 1786          0       0       0      0      0      0      0       
>> 0      0
>> 0      0      0  -57.34788
>> 1787          0       0       0      0      0      0      0       
>> 0      0
>> 0      0      0  -57.30298
>> 1788         80      86      80     90     72     98     78      
>> 66     88
>> 93     93     96  -57.25808
>> 1789         77      83      78     88     70     95     76      
>> 63     86
>> 91     90     93  -57.21318
>> 1790         77      84      79     89     70     96     76      
>> 64     87
>> 91     90     93  -57.16828
>>
>> I would need to delete rows 1786 & 1787.
>
> something along the lines of:
>
> dfrm[ -apply(dfrm, 1, function(x) all(x==0) ), ]

Looking at a second time, I see the qualification of only the first 12  
rows, so

dfrm[ -apply(dfrm[, 1:12], 1, function(x) all(x==0) ), ]

Email obscured that compounded by the fact that you didn't post a  
reproducible data object.

>
>>
>> I tried subset with variable1>"0"&variable2>"0", but it wasn't  
>> useful 'cause
>> it only took the rows that didn't have a 0 in any of the variables;  
>> I only
>> need in ALL of the variables simultaneously.
>>
>> Thanks,
>>
>> Ignacio
>


David Winsemius, MD
West Hartford, CT



More information about the R-help mailing list