Jak korzystać z funkcji skanowania w r (z przykładami)


Funkcji swep() w języku R można używać do wykonywania określonych operacji na wierszach lub kolumnach macierzy.

Ta funkcja wykorzystuje następującą podstawową składnię:

 sweep(x, MARGIN, STATS, FUN)

Złoto:

  • x : nazwa macierzy
  • MARGIN : Margines, na którym ma zostać wykonana funkcja (1=wiersze, 2=kolumny)
  • STATYSTYKI : Wartości do użycia w funkcji
  • FUN : Funkcja do wykonania

Poniższe przykłady pokazują, jak używać funkcji swep() w różnych scenariuszach w języku R.

Przykład 1: Użyj swep(), aby wykonać operację na wierszach

Poniższy kod pokazuje jak wykorzystać funkcję swep() do dodania określonej liczby do wartości w każdym wierszu macierzy:

 #define matrix
mat <- matrix(1:15, nrow= 5 )

#view matrix
mast

     [,1] [,2] [,3]
[1,] 1 6 11
[2,] 2 7 12
[3,] 3 8 13
[4,] 4 9 14
[5,] 5 10 15

#add specific numbers to each row
sweep(mat, 1 , c(5, 10, 15, 20, 25), " + ")

     [,1] [,2] [,3]
[1,] 6 11 16
[2,] 12 17 22
[3,] 18 23 28
[4,] 24 29 34
[5,] 30 35 40

Oto jak funkcja swep() działała w tym scenariuszu:

  • Do każdej wartości w pierwszym wierszu dodano 5 .
  • Do każdej wartości w drugim wierszu dodano 10 .
  • Do każdej wartości w trzecim rzędzie dodano 15 .
  • Do każdej wartości w czwartym wierszu dodano 20 .
  • Do każdej wartości w piątym wierszu dodano 25 .

Należy zauważyć, że w tym przykładzie użyliśmy dodawania (+) jako operacji matematycznej do wykonania, ale mogliśmy wybrać inną operację.

Na przykład poniższy kod pokazuje, jak pomnożyć wartości w każdym wierszu przez określone liczby:

 #define matrix
mat <- matrix(1:15, nrow= 5 )

#view matrix
mast

     [,1] [,2] [,3]
[1,] 1 6 11
[2,] 2 7 12
[3,] 3 8 13
[4,] 4 9 14
[5,] 5 10 15

#multiply values in each row by certain amount
sweep(mat, 1 , c(.5, 1, 2, 4, 6), " * ")

     [,1] [,2] [,3]
[1,] 0.5 3 5.5
[2,] 2.0 7 12.0
[3,] 6.0 16 26.0
[4,] 16.0 36 56.0
[5,] 30.0 60 90.0

Przykład 2: Użyj skanowania(), aby wykonać operację na kolumnach

Poniższy kod pokazuje jak wykorzystać funkcję swep() do dodania określonej liczby do wartości w każdej kolumnie macierzy:

 #define matrix
mat <- matrix(1:15, nrow= 5 )

#view matrix
mast

     [,1] [,2] [,3]
[1,] 1 6 11
[2,] 2 7 12
[3,] 3 8 13
[4,] 4 9 14
[5,] 5 10 15

#add specific numbers to each column
sweep(mat, 2 , c(5, 10, 15), " + ")

     [,1] [,2] [,3]
[1,] 6 16 26
[2,] 7 17 27
[3,] 8 18 28
[4,] 9 19 29
[5,] 10 20 30

Oto jak funkcja swep() działała w tym scenariuszu:

  • Do każdej wartości w pierwszej kolumnie dodano 5 .
  • Do każdej wartości w drugiej kolumnie dodano 10 .
  • Do każdej wartości w trzeciej kolumnie dodano 15 .

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe operacje w języku R:

Jak utworzyć pustą macierz w R
Jak przekonwertować ramkę danych na macierz w R
Jak wykreślić wiersze macierzy w R

Dodaj komentarz

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