R에서 스캔 기능을 사용하는 방법(예제 포함)


R의 swep() 함수를 사용하여 행렬의 행이나 열에 특정 작업을 수행할 수 있습니다.

이 함수는 다음 기본 구문을 사용합니다.

 sweep(x, MARGIN, STATS, FUN)

금:

  • x : 행렬 이름
  • MARGIN : 기능을 수행할 여백(1=행, 2=열)
  • STATS : 함수에 사용할 값
  • FUN : 수행할 기능

다음 예제에서는 R의 다양한 시나리오에서 swep() 함수를 사용하는 방법을 보여줍니다.

예제 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에서 행렬의 행을 그리는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다