[R] Delete Columns with zeros

Gavin Simpson gavin.simpson at ucl.ac.uk
Thu Jan 31 17:19:40 CET 2008


hits=-2.6 testsºYES_00
X-USF-Spam-Flag: NO

On Thu, 2008-01-31 at 15:33 +0100, Jens Oldeland wrote:
> Hi,
> 
> I know there have been some discussions on that topic. all their 
> solutions failed in my case...
> My problem is that I have a dataframe with many zeros. but while 
> plotting they are not useful.
> so I want to get rid of column 1,3,4,......,n i have 628 columns 1000 
> rows, so I can´t look manually for the "empty" columns.
> 
> Any possible Ideas?
> 
>  > A250[1:5,1:4]
> 
> AAPU ACTO ACRA ADBA
> A1100 0 0.0 0 0
> A20100 0 0.1 0 0
> A20200 0 0.0 0 0
> A400 0 1.0 0 0
> A4100 0 0.0 0 0
> 
> I also didn´t find anything useful in "An Introduction to R".

You can use colSums() to get the column sums and then evaluate which are
greater than 0, and keep only those.

## example data
> dat <- data.frame(x = rep(0, 10), y = runif(10), z = rep(0, 10), a = rnorm(10))
> dat
   x          y z           a
1  0 0.49300402 0 -0.04405118
2  0 0.59786017 0 -2.06150000
3  0 0.08937639 0 -0.48804730
4  0 0.81220978 0  0.89746064
5  0 0.08846686 0  1.89563799
6  0 0.11141525 0 -0.16550292
7  0 0.25976990 0  1.02780712
8  0 0.55836579 0 -1.19074561
9  0 0.19798582 0  0.29130921
10 0 0.65826305 0  1.29665594
> colSums(dat)
       x        y        z        a 
0.000000 3.866717 0.000000 1.459024 
> colSums(dat) > 0
    x     y     z     a 
FALSE  TRUE FALSE  TRUE 
> dat[, colSums(dat) > 0]
            y           a
1  0.49300402 -0.04405118
2  0.59786017 -2.06150000
3  0.08937639 -0.48804730
4  0.81220978  0.89746064
5  0.08846686  1.89563799
6  0.11141525 -0.16550292
7  0.25976990  1.02780712
8  0.55836579 -1.19074561
9  0.19798582  0.29130921
10 0.65826305  1.29665594

HTH

G

> 
> thank you
> 
> Jens
> 
-- 
%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%
 Dr. Gavin Simpson             [t] +44 (0)20 7679 0522
 ECRC, UCL Geography,          [f] +44 (0)20 7679 0565
 Pearson Building,             [e] gavin.simpsonATNOSPAMucl.ac.uk
 Gower Street, London          [w] http://www.ucl.ac.uk/~ucfagls/
 UK. WC1E 6BT.                 [w] http://www.freshwaters.org.uk
%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%



More information about the R-help mailing list