Як використовувати функцію сканування в r (з прикладами)


Ви можете використовувати функцію swep() в R для виконання певних операцій над рядками або стовпцями матриці.

Ця функція використовує такий базовий синтаксис:

 sweep(x, MARGIN, STATS, FUN)

золото:

  • x : ім’я матриці
  • MARGIN : поле, на якому виконується функція (1=рядки, 2=стовпці)
  • СТАТИСТИКА : Значення(-я) для використання у функції
  • FUN : функція, яку потрібно виконати

У наступних прикладах показано, як використовувати функцію swep() у різних сценаріях у R.

Приклад 1: Використовуйте swep() для виконання операції над рядками

Наступний код показує, як використовувати функцію swep() , щоб додати певне число до значень у кожному рядку матриці:

 #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

Ось як функція swep() працювала в цьому сценарії:

  • До кожного значення в першому рядку було додано 5 .
  • До кожного значення у другому рядку було додано 10 .
  • До кожного значення в третьому рядку було додано 15 .
  • До кожного значення в четвертому рядку додано 20 .
  • До кожного значення в п’ятому рядку додано 25 .

Зверніть увагу, що в цьому прикладі ми використовували додавання (+) як математичну операцію, але ми могли вибрати іншу операцію.

Наприклад, наступний код показує, як помножити значення в кожному рядку на певні числа:

 #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

Приклад 2: Використовуйте scanning() для виконання операції над стовпцями

Наступний код показує, як використовувати функцію swep() , щоб додати певне число до значень у кожному стовпці матриці:

 #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

Ось як працювала функція swep() у цьому сценарії:

  • До кожного значення в першому стовпці було додано 5 .
  • До кожного значення у другому стовпчику було додано 10 .
  • 15 було додано до кожного значення в третьому стовпчику.

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові операції в R:

Як створити порожню матрицю в R
Як перетворити фрейм даних на матрицю в R
Як побудувати рядки матриці в R

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *