Hi all, I've got a matrix of fractional data that is all positive and greater than zero that I would like to "loosely" classify, for lack of a better word. It looks something like this : 1.07 1.11 1.27 1.59 0.97 0.76 2.23 0.98 0.71 0.88 1.19 1.02 What I'm looking for is a way to round these numbers to the nearest 0.25, i.e. the above matrix would be transformed to : 1.00 1.00 1.25 1.50 1.00 0.75 2.25 1.00 0.75 1.00 1.25 1.00 Anyone have a clever way to do this?? Thanks in advance, Ken
Multiply by 4, round and divide by 4. a <- c(1.15,5.82) round(a*4,digits=0)/4 -----Original Message----- From: Ken Termiso [mailto:jerk_alert at hotmail.com] Sent: Wednesday, May 25, 2005 1:27 PM To: r-help at stat.math.ethz.ch Subject: [R] Rounding fractional numbers to nearest fraction Hi all, I've got a matrix of fractional data that is all positive and greater than zero that I would like to "loosely" classify, for lack of a better word. It looks something like this : 1.07 1.11 1.27 1.59 0.97 0.76 2.23 0.98 0.71 0.88 1.19 1.02 What I'm looking for is a way to round these numbers to the nearest 0.25, i.e. the above matrix would be transformed to : 1.00 1.00 1.25 1.50 1.00 0.75 2.25 1.00 0.75 1.00 1.25 1.00 Anyone have a clever way to do this?? Thanks in advance, Ken ______________________________________________ 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
Thx for the help...
mdiv <- function(dec)
{
	dec <- dec * 4
	dec <- round(dec, 0)
	dec <- dec / 4
	dec
}
where m is a matrix --
m1 <- apply(m, 1, mdiv)
...but it looks like as.integer(x.1*4)/4 or (round(x.1*4,0))/4 might be 
easier...
thx again,
ken
>From: james.holtman at convergys.com
>To: "Ken Termiso" <jerk_alert at hotmail.com>
>Subject: Re: [R] Rounding fractional numbers to nearest fraction
>Date: Wed, 25 May 2005 14:30:44 -0400
>
>
>
>
>
> > x.1
>  [1] 1.07 1.11 1.27 1.59 0.97 0.76 2.23 0.98 0.71 0.88 1.19 1.02
> > as.integer(x.1*4)/4
>  [1] 1.00 1.00 1.25 1.50 0.75 0.75 2.00 0.75 0.50 0.75 1.00 1.00
> >
>
>Jim
>__________________________________________________________
>James Holtman        "What is the problem you are trying to
solve?"
>Executive Technical Consultant  --  Convergys Labs
>james.holtman at convergys.com
>+1 (513) 723-2929
>
>
>
>                       "Ken Termiso"
>                       <jerk_alert at hotmail.c        To:       
>r-help at stat.math.ethz.ch
>                       om>                          cc:
>                       Sent by:                     Subject:  [R] Rounding 
>fractional numbers to nearest fraction
>                       r-help-bounces at stat.m
>                       ath.ethz.ch
>
>
>                       05/25/2005 13:27
>
>
>
>
>
>Hi all,
>
>I've got a matrix of fractional data that is all positive and greater
than
>zero that I would like to "loosely" classify, for lack of a better
word. It
>
>looks something like this :
>
>1.07   1.11   1.27   1.59   0.97   0.76
>2.23   0.98   0.71   0.88   1.19   1.02
>
>
>What I'm looking for is a way to round these numbers to the nearest
0.25,
>i.e. the above matrix would be transformed to :
>
>1.00   1.00   1.25   1.50   1.00   0.75
>2.25   1.00   0.75   1.00   1.25   1.00
>
>
>Anyone have a clever way to do this??
>
>Thanks in advance,
>Ken
>
>______________________________________________
>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
>
>
> From: Ken Termiso > > Thx for the help... > > mdiv <- function(dec) > { > dec <- dec * 4 > dec <- round(dec, 0) > dec <- dec / 4 > dec > } > > where m is a matrix -- > > m1 <- apply(m, 1, mdiv)You don't need the apply():> m <- matrix(runif(6), 2, 3) > m[,1] [,2] [,3] [1,] 0.6885473 0.4598892 0.2738169 [2,] 0.2393461 0.8863284 0.7891100> round(m * 4) / 4[,1] [,2] [,3] [1,] 0.75 0.5 0.25 [2,] 0.25 1.0 0.75> ...but it looks like as.integer(x.1*4)/4 or > (round(x.1*4,0))/4 might be > easier...Be careful: as.integer() trucate the fractional part (so as.integer(1.999) is 1 intead of 2), which may not be what you want. Andy> thx again, > ken > > >From: james.holtman at convergys.com > >To: "Ken Termiso" <jerk_alert at hotmail.com> > >Subject: Re: [R] Rounding fractional numbers to nearest fraction > >Date: Wed, 25 May 2005 14:30:44 -0400 > > > > > > > > > > > > > x.1 > > [1] 1.07 1.11 1.27 1.59 0.97 0.76 2.23 0.98 0.71 0.88 1.19 1.02 > > > as.integer(x.1*4)/4 > > [1] 1.00 1.00 1.25 1.50 0.75 0.75 2.00 0.75 0.50 0.75 1.00 1.00 > > > > > > >Jim > >__________________________________________________________ > >James Holtman "What is the problem you are trying to solve?" > >Executive Technical Consultant -- Convergys Labs > >james.holtman at convergys.com > >+1 (513) 723-2929 > > > > > > > > "Ken Termiso" > > <jerk_alert at hotmail.c To: > >r-help at stat.math.ethz.ch > > om> cc: > > Sent by: Subject: > [R] Rounding > >fractional numbers to nearest fraction > > r-help-bounces at stat.m > > ath.ethz.ch > > > > > > 05/25/2005 13:27 > > > > > > > > > > > >Hi all, > > > >I've got a matrix of fractional data that is all positive > and greater than > >zero that I would like to "loosely" classify, for lack of a > better word. It > > > >looks something like this : > > > >1.07 1.11 1.27 1.59 0.97 0.76 > >2.23 0.98 0.71 0.88 1.19 1.02 > > > > > >What I'm looking for is a way to round these numbers to the > nearest 0.25, > >i.e. the above matrix would be transformed to : > > > >1.00 1.00 1.25 1.50 1.00 0.75 > >2.25 1.00 0.75 1.00 1.25 1.00 > > > > > >Anyone have a clever way to do this?? > > > >Thanks in advance, > >Ken > > > >______________________________________________ > >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 > > > > > > ______________________________________________ > 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 > > >