Как использовать функцию сканирования в r (с примерами)


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

Эта функция использует следующий базовый синтаксис:

 sweep(x, MARGIN, STATS, FUN)

Золото:

  • x : имя матрицы
  • MARGIN : поле для выполнения функции (1 = строки, 2 = столбцы).
  • STATS : значения, которые будут использоваться в функции.
  • 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. Использование Scan() для выполнения операции над столбцами

Следующий код показывает, как использовать функцию 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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *