반응형
sweep 함수는 통계량과 각 원소의 차이를 반환해줍니다. 디폴트가 '차이'이고, 다른 계산값도 가능합니다.
sweep(행렬, 방향, 통계량, FUN="-")
FUN은 어떤 연산을 할지 결정합니다. 디폴트는 - 입니다. 각 원소에서 통계량을 빼는 것입니다.
예를 들어봅시다. 행렬을 하나 정의합시다.
> m=matrix(1:12,3)
> m
[,1] [,2] [,3] [,4]
[1,] 1 4 7 10
[2,] 2 5 8 11
[3,] 3 6 9 12
sweep 함수를 이용하여 각 원소에서 행렬의 최댓값을 빼봅시다. 이때는 방향이 따로 없기 때문에 1이나 2를 입력해도 결과가 동일합니다.
> sweep(m,1,max(m))
[,1] [,2] [,3] [,4]
[1,] -11 -8 -5 -2
[2,] -10 -7 -4 -1
[3,] -9 -6 -3 0
> sweep(m,2,max(m))
[,1] [,2] [,3] [,4]
[1,] -11 -8 -5 -2
[2,] -10 -7 -4 -1
[3,] -9 -6 -3 0
이번에는 각 원소에서 열뱡향 평균을 빼봅시다. 행방향을 입력할 경우 경고 메시지가 뜹니다.
> sweep(m,1,colMeans(m))
[,1] [,2] [,3] [,4]
[1,] -1 -7 -1 5
[2,] -3 3 -3 3
[3,] -5 1 7 1
경고메시지(들):
In sweep(m, 1, colMeans(m)) :
STATS is longer than the extent of 'dim(x)[MARGIN]'
> sweep(m,2,colMeans(m))
[,1] [,2] [,3] [,4]
[1,] -1 -1 -1 -1
[2,] 0 0 0 0
[3,] 1 1 1 1
반응형
'9.유용한 함수모음 > 계산관련 함수' 카테고리의 다른 글
R에서 역행렬,행렬식,전치행렬 구하는 방법 (0) | 2021.03.30 |
---|---|
[R코딩] 서브그룹 평균을 각 원소 값으로 반환 (ave) (0) | 2020.12.25 |
[R코딩] 서브그룹의 통계량을 구해주는 by 함수 (0) | 2020.12.25 |
[R코딩] 서브그룹의 통계량을 구해주는 aggregate 함수 (0) | 2020.12.25 |
[R 코딩] 조합(nCr) 계산 (0) | 2020.12.20 |
댓글