# Standard Scores in R

The R function for calculating standard scores is called `scale()`. Supply a vector of scores, and `scale()` returns a vector of z-scores along with, helpfully, the mean and the standard deviation.

To show `scale()` in action, isolate a subset of the `Cars93` data frame. (It’s in the MASS package. On the Packages tab, check the box next to MASS if it’s unchecked.)

Specifically, create a vector of the horsepowers of 8-cylinder cars from the USA:

`> Horsepower.USA.Eight <- Cars93\$Horsepower[Origin == "USA" &amp; Cylinders == 8]`

```> Horsepower.USA.Eight ```
`[1] 200 295 170 300 190 210`

And now for the z-scores:

```> scale(Horsepower.USA.Eight) ```
```[,1] ```
```[1,] -0.4925263 ```
```[2,] 1.2089283 ```
```[3,] -1.0298278 ```
```[4,] 1.2984785 ```
```[5,] -0.6716268 ```
```[6,] -0.3134259 ```
```attr(,"scaled:center") ```
```[1] 227.5 ```
```attr(,"scaled:scale") ```
```[1] 55.83458 ```
That last value is s, not Σ. If you have to base your z-scores on Σ, divide each element in the vector by the square root of (N-1)/N:

```> N <- length(Horsepower.USA.Eight) ```
```> scale(Horsepower.USA.Eight)/sqrt((N-1)/N) ```
```[,1] ```
`[1,] -0.5395356`

```[2,] 1.3243146 ```
```[3,] -1.1281198 ```
```[4,] 1.4224120 ```
```[5,] -0.7357303 ```
```[6,] -0.3433408 ```
```attr(,"scaled:center") ```
```[1] 227.5 ```
```attr(,"scaled:scale") ```
`[1] 55.83458`

Notice that `scale() `still returns s.