반응형
R의 배열 연산에 대해서 알아보겠다.
# 배열 연산
# 2x2 행렬 2개를 각각 x, y에 저장
x <- array(1:4, dim = c(2, 2))
y <- array(5:8, dim = c(2, 2))
x
'''
[,1] [,2]
[1,] 1 3
[2,] 2 4
'''
y
'''
[,1] [,2]
[1,] 5 7
[2,] 6 8
'''
x + y
'''
[,1] [,2]
[1,] 6 10
[2,] 8 12
'''
x - y
'''
[,1] [,2]
[1,] -4 -4
[2,] -4 -4
'''
x * y # 각 열별 곱셈
'''
[,1] [,2]
[1,] 5 21
[2,] 12 32
'''
배열의 연산은 각 위치의 값들과 대응하여 계산함을 알 수 있다.
다음으로 배열의 연산 함수 중 apply 함수가 있다.
x <- array(1:12, c(3, 4))
x
#apply 함수: 행 열로 함수적용
apply(x, 1, mean) # 함수를 행으로 적용
# [1] 5.5 6.5 7.5
apply(x, 2, mean) # 함수를 열로 적용
# [1] 2 5 8 11
apply 함수 중 가운데에 있는 숫자는 python의 axis의 의미를 갖는다. 이는 1은 행 2는 열로 계산하는 것이다. mean 함수를 통해 각 행의 평균값을 구해준다. 이 때 median 등의 여러 다른 함수를 적용할 수 있다.
배열의 shape을 알 수 있는 함수는 dim이다.
dim(x)
# [1] 3 4
배열의 값 중 랜덤 표본을 추출 할 수 있는 함수는 sample이다
sample(x) # 임의로 추출
# [1] 12 3 6 7 1 9 2 8 10 5 4 11
sample(x, 10) # 10개 추출
# [1] 5 8 4 10 9 7 6 3 12 1
sample(10) #샘플 만들기
# [1] 5 4 3 9 10 2 8 7 1 6
sample 안에 x를 입력하면 x의 값 내에서 추출하는 것이고 스칼라 값만 넣으면 1부터 스칼라 값까지 랜덤한 순서를 가지면서 추출해준다.
반응형
댓글