[R] Check values in colums matrix

Petr Pikal petr.pikal at precheza.cz
Fri Aug 25 08:54:32 CEST 2006


Hi

and if speed is an issue and object is numeric matrix something like

function(x) which(colSums(abs(diff(x)))==0)

is a little bit quicker

Cheers
Petr


On 25 Aug 2006 at 13:39, Bill.Venables at csiro.au wrote:

Date sent:      	Fri, 25 Aug 2006 13:39:48 +1000
From:           	<Bill.Venables at csiro.au>
To:             	<gunter.berton at gene.com>, <ggrothendieck at gmail.com>,
	<msubianto at gmail.com>
Copies to:      	r-help at stat.math.ethz.ch
Subject:        	Re: [R] Check values in colums matrix

> As a minor footnote to both of these, I would add that both assume
> that all the columns of the dataset are numeric.  It doesn't cost much
> to generalize it to cover any matrix structure, of any mode:
> 
> constantColmuns <- function(Xmat) 
>     which(apply(Xmat, 2, function(z) length(unique(z)) == 1))
> 
> > -----Original Message-----
> > From: r-help-bounces at stat.math.ethz.ch
> [mailto:r-help-bounces at stat.math.ethz.ch] On Behalf Of Berton Gunter >
> Sent: Friday, 25 August 2006 9:37 AM > To: 'Gabor Grothendieck';
> 'Muhammad Subianto' > Cc: r-help at stat.math.ethz.ch > Subject: Re: [R]
> Check values in colums matrix > > Absolutely. But do note that if the
> values in obj are the product of > numerical computations then columns
> of equal values may turn out to be only > **nearly** equal and so the
> sd may turn out to be **nearly** 0 and not > exactly 0. This is a
> standard issue in numerical computation, of course, and > has been
> commented on in this list at least dozens of times, but it's still > a
> gotcha for the unwary (so now dozens +1). > > -- Bert Gunter >
> Genentech Non-Clinical Statistics > South San Francisco, CA >  >  > >
> > -----Original Message----- > > From:
> r-help-bounces at stat.math.ethz.ch > >
> [mailto:r-help-bounces at stat.math.ethz.ch] On Behalf Of Gabor > >
> Grothendieck > > Sent: Thursday, August 24, 2006 4:28 PM > > To:
> Muhammad Subianto > > Cc: r-help at stat.math.ethz.ch > > Subject: Re:
> [R] Check values in colums matrix > > > > Try sd(obj.tr) which will
> give a vector of standard > > deviations, one per column. > > A
> column's entry will be zero if and only if all values in the column >
> > are the same. > > > > On 8/24/06, Muhammad Subianto
> <msubianto at gmail.com> wrote: > > > Dear all, > > > I apologize if my
> question is quite simple. > > > I have a dataset (20 columns & 1000
> rows) which > > > some of columns have the same value and the others >
> > > have different values. > > > Here are some piece of my dataset: >
> > > obj <- cbind(c(1,1,1,4,0,0,1,4,-1), > > >            
> c(0,1,1,4,1,0,1,4,-1), > > >             c(1,1,1,4,2,0,1,4,-1), > > > 
>            c(1,1,1,4,3,0,1,4,-1), > > >            
> c(1,1,1,4,6,0,1,5,-1), > > >             c(1,1,1,4,6,0,1,6,-1), > > > 
>            c(1,1,1,4,6,0,1,7,-1), > > >            
> c(1,1,1,4,6,0,1,8,-1)) > > > obj.tr <- t(obj) > > > obj.tr > > > >
> obj.tr > > >     [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] > > >
> [1,]    1    1    1    4    0    0    1    4   -1 > > > [2,]    0    1
>    1    4    1    0    1    4   -1 > > > [3,]    1    1    1    4    2
>    0    1    4   -1 > > > [4,]    1    1    1    4    3    0    1    4
>   -1 > > > [5,]    1    1    1    4    6    0    1    5   -1 > > >
> [6,]    1    1    1    4    6    0    1    6   -1 > > > [7,]    1    1
>    1    4    6    0    1    7   -1 > > > [8,]    1    1    1    4    6
>    0    1    8   -1 > > > > > > > > > > How can I do to check columns
> 2,3,4,6,7 and 9 have > > > the same value, and columns 1,5 and 8 have
> different values. > > > > > > Best, Muhammad Subianto
> 
> ______________________________________________
> R-help at stat.math.ethz.ch 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.

Petr Pikal
petr.pikal at precheza.cz



More information about the R-help mailing list