(IV) Funkcja scale()

Funkcja scale() służy do skalowania kolumn macierzy – to znaczy do wyśrodkowania kolumny do określonego środka i skalowania kolumny do określonego odchylenia standardowego. Funkcja scale () przyjmuje trzy argumenty: x, center i scale. Argument x jest macierzą lub obiektem numerycznym podobnym do macierzy (na przykład ramką danych lub szeregiem czasowym).

Argument center może być wektorem logicznym lub liczbowym o długości równej liczbie kolumn w x. Jeśli jest ustawiony na TRUE, średnia z kolumny jest odejmowana od każdego elementu w kolumnie. Jeśli jest ustawiony na wektor liczb, każda liczba jest odejmowana od elementów w odpowiedniej kolumnie liczby. Jeśli ustawione na FALSE, nic nie jest odejmowane. Wartość domyślna to TRUE. Argument scale może być również logiczny lub wektorem liczb. Jeśli skala jest ustawiona na TRUE, każdy wyśrodkowany element (jeśli wykonano centrowanie) jest dzielony przez odchylenie standardowe elementów w kolumnie, gdzie NA są ignorowane, a dzielenie następuje przez n-1. Jeśli ustawione na równe wektorze liczb, każdy (wyśrodkowany) element kolumny jest dzielony przez odpowiednią liczbę w wektorze. Dzielenie przez zero da NaN, ale nie zatrzyma wykonania. Jeśli skala jest ustawiona na FALSE, podział nie jest wykonywany. Wartość domyślna to TRUE. Oto przykład:

> d.mat = matrix(1:8,2,4)

> d.mat

[,1] [,2] [,3] [,4]

[1,] 1 3 5 7

[2,] 2 4 6 8

> scale(d.mat)

[,1] [,2] [,3] [,4]

[1,] -0.7071068 -0.7071068 -0.7071068 -0.7071068

[2,] 0.7071068 0.7071068 0.7071068 0.7071068

attr(,”scaled:center”)

[1] 1.5 3.5 5.5 7.5

attr(,”scaled:scale”)

[1] 0.7071068 0.7071068 0.7071068 0.7071068

> e.mat = matrix(c(1:8,NA,2),2,5)

> e.mat

[,1] [,2] [,3] [,4] [,5]

[1,] 1 3 5 7 NA

[2,] 2 4 6 8 2

> scale(e.mat, center=rep(3,5), scale=rep(4,5))

[,1] [,2] [,3] [,4] [,5]

[1,] -0.50 0.00 0.50 1.00 NA

[2,] -0.25 0.25 0.75 1.25 -0.25

attr(,”scaled:center”)

[1] 3 3 3 3 3

attr(,”scaled:scale”)

[1] 4 4 4 4 4

Zwróć uwagę, że funkcja scale() zwraca skalowaną macierz, wartości użyte do wyśrodkowania elementów oraz wartości użyte do skalowania elementów. Aby uzyskać więcej informacji, wprowadź ?scale w wierszu polecenia R.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *