Як використовувати функцію сканування в 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