Re: [R] question about scale() function

From: tom soyer <tom.soyer_at_gmail.com>
Date: Thu, 3 Jan 2008 21:25:46 -0600

oops, it should be: rms=(sum((x-mean(x))^2)/(length(x)-1))^(1/2)

On 1/3/08, tom soyer <tom.soyer_at_gmail.com> wrote:
>
> Thanks Jim. Yes it does... but I calculated the root mean square (rms),
> and couldn't reproduce the result without multiplying the rms by 2. I don't
> know why...
>
> > x=c(2,4,3,4,5)
> > mean(x)
> [1] 3.6
> > x-mean(x)
> [1] -1.6 0.4 -0.6 0.4 1.4
> > scale(x)
> [,1]
> [1,] -1.4032928
> [2,] 0.3508232
> [3,] -0.5262348
> [4,] 0.3508232
> [5,] 1.2278812
> attr(,"scaled:center")
> [1] 3.6
> attr(,"scaled:scale")
> [1] 1.140175
> > rms=sum((x-mean(x))^2)^(1/2)/(length(x)-1)
> > rms
> [1] 0.5700877
> > (x-mean(x))/rms
> [1] -2.8065857 0.7016464 -1.0524696 0.7016464 2.4557625
> > (x-mean(x))/(rms*2)
> [1] -1.4032928 0.3508232 -0.5262348 0.3508232 1.2278812
>
>
> On 1/3/08, jim holtman <jholtman_at_gmail.com> wrote:
> >
> > Does this give you what you want?
> >
> > > x=c(2,4,3,4,5)
> > > ?scale
> > > scale(x,scale=FALSE)
> > [,1]
> > [1,] -1.6
> > [2,] 0.4
> > [3,] -0.6
> > [4,] 0.4
> > [5,] 1.4
> > attr(,"scaled:center")
> > [1] 3.6
> > >
> >
> > Default is to performance scaling: "If scale is TRUE then scaling is
> > done by dividing the (centered) columns of x by their
> > root-mean-square, and if scale is FALSE, no scaling is done. "
> >
> > On Jan 3, 2008 9:37 PM, tom soyer <tom.soyer_at_gmail.com> wrote:
> > > Hi,
> > >
> > > The documentation for scale() states:"If center is TRUE then centering
> > is
> > > done by subtracting the column means (omitting NAs) of x from their
> > > corresponding columns". But it seems that R is subtracting something
> > else
> > > instead of the column mean:
> > >
> > > > x=c(2,4,3,4,5)
> > > > mean(x)
> > > [1] 3.6
> > > > x-mean(x)
> > > [1] -1.6 0.4 -0.6 0.4 1.4
> > > > scale(x)
> > > [,1]
> > > [1,] -1.4032928
> > > [2,] 0.3508232
> > > [3,] -0.5262348
> > > [4,] 0.3508232
> > > [5,] 1.2278812
> > > attr(,"scaled:center")
> > > [1] 3.6
> > > attr(,"scaled:scale")
> > > [1] 1.140175
> > >
> > > Notice that -1.4 is not the same as -1.6, and 1.2 is not the same as
> > 1.4,
> > > etc. Does anyone know what exactly is scale() doing if it is not
> > subtracting
> > > the column mean? Thanks.
> > >
> > > --
> > > Tom
> > >
> > > [[alternative HTML version deleted]]
> > >
> > > ______________________________________________
> > > 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<http://www.r-project.org/posting-guide.html>
> > > and provide commented, minimal, self-contained, reproducible code.
> > >
> >
> >
> >
> > --
> > Jim Holtman
> > Cincinnati, OH
> > +1 513 646 9390
> >
> > What is the problem you are trying to solve?
> >
>
>
>
> --
> Tom

-- 
Tom

	[[alternative HTML version deleted]]

______________________________________________
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 Fri 04 Jan 2008 - 03:31:09 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 Fri 04 Jan 2008 - 08:30:05 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