(IV) Funkcja sweep()

Funkcja sweep() przyjmuje argumenty x, MARGIN, STATS, FUN, check.margin i. . .. Argument x jest tablicą. Tablica może mieć dowolny tryb atomowy. Argument MARGINES podaje marginesy, na których ma nastąpić przeciągnięcie. W przypadku macierzy MARGIN jest równy 1, 2 lub 1: 2 (lub c (1,2)). Jeśli MARGINES jest równy 1: 2, cała macierz jest przeszukiwana, a nie przeciąganie według kolumny lub wiersza. Więcej niż dwa wymiary, MARGIN może być dowolnym podzbiorem marginesów, w tym wszystkimi marginesami. Argument STATS podaje wartości do przeszukania. Na przykład użycie kolumny oznacza, że ​​można zastosować funkcję apply (); to znaczy apply (mat, 2, mean) działałoby jako wartość dla STATS, gdzie mat jest wyciąganą macierzą. Wartości cyklu STATS. Argument FUN jest funkcją, której należy użyć. Domyślnie FUN równa się „-”, operatorowi odejmowania, ale FUN może być dowolną funkcją dozwoloną dla wartości tablicy. Na przykład wklej można używać z tablicami znaków trybu. Argument check.margin sprawdza, czy wymiary lub długość STATS zgadzają się z wymiarami podanymi przez MARGIN. Jeśli nie, to tylko ostrzeżenie. Funkcja nie zatrzymuje się, ale zmienia wartości w STATS. Wartość domyślna to TRUE.

Argument. . . daje dodatkowe argumenty funkcji FUN. 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

> a = sweep (d.mat, 2, apply (d.mat, 2, mean))

> a

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

[1,] -0,5 -0,5 -0,5 -0,5

[2,] 0,5 0,5 0,5 0,5

> sweep (a, 2, apply (d.mat, 2, sd), „/”)

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

[1,] -0,7071068 -0,7071068 -0,7071068 -0,7071068

[2,] 0,7071068 0,7071068 0,7071068 0,7071068

Ponieważ MARGIN jest ustawiony na 2, funkcja mean() przyjmuje średnią z każdej kolumny, a funkcja sd() przyjmuje odchylenie standardowe każdej kolumny. W drugim stwierdzeniu średnia z każdej kolumny jest odejmowana od elementów w kolumnie. Funkcja odejmowania jest funkcją domyślną, więc nie trzeba jej wprowadzać. W trzecim zdaniu wyśrodkowane elementy w kolumnach są podzielone przez standardowe odchylenia dla kolumn. Zauważ, że funkcja zwraca macierz. Więcej informacji na temat sweep() można znaleźć, wpisując ?sweep po znaku zachęty R.

Dodaj komentarz

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