[R] Check values in colums matrix

Bill.Venables at csiro.au Bill.Venables at csiro.au
Fri Aug 25 05:39:48 CEST 2006


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



More information about the R-help mailing list