Re: [R] Delete Columns with zeros

From: Gavin Simpson <gavin.simpson_at_ucl.ac.uk>
Date: Thu, 31 Jan 2008 16:19:40 +0000

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
%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%


______________________________________________ R-help_at_r-project.org mailing list 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.

Received on Thu 31 Jan 2008 - 16:26:58 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Thu 31 Jan 2008 - 17:30:09 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive