해당 포스트는 네이버지식인을 통해 질문 받은 'R에서 FOR문을 이용해 행렬에 특정 수를 곱하는 방법'에 대한 답변을 공유하는 글입니다.
질문
행렬에 2를 곱하는 프로그램 짜는 법 좀 알려주세요ㅠㅜ
풀이
1. 행렬 생성
먼저, R 코드 설명에 사용할 샘플 데이터(행렬 데이터)를 생성합니다.
# 원하는 행의 수, 열의 수 입력
mat_i <- 3
mat_j <- 3
# 1부터 9까지의 값을 가지는 3x3 행렬 생성
my_mat <- matrix(1:9, nrow = mat_i, ncol = mat_j)
# 생성된 행렬 출력
my_mat
[,1] [,2] [,3] [1,] 1 4 7 [2,] 2 5 8 [3,] 3 6 9
2. 각 요소에 특정 수를 곱하는 반복문 코드 작성
for문을 이용하여 각 요소에 특정 수를 곱하기 위해서는 행렬의 모든 원소를 탐색되도록
아래 코드에서는 이전에 입력받은 행의 수 mat_i
와 열의 수 mat_j
를 이용하여 반복문의 범위를 입력하고, 모든 원소를 탐색하며 기존 원소에 2를 곱하는 연산을 수행합니다.
# 각 요소에 2를 곱하는 반복문 실행
for (i in 1:mat_i) {
for (j in 1:mat_j) {
my_mat[i, j] <- my_mat[i, j] * 2
}
}
# 업데이트된 행렬 출력
my_mat
[,1] [,2] [,3] [1,] 2 8 14 [2,] 4 10 16 [3,] 6 12 18
출력 결과에서 모든 원소에 2를 곱한 값이 정상 출력된 것을 볼 수 있습니다. 위 코드를 이용한다면, 행과 열의 수가 달라지더라도 동일한 곱셈 연산을 수행할 수 있습니다.
마무리
이번 포스트에서는 R에서 1부터 9까지의 값을 가진 3x3 행렬을 생성하고, 중첩된 for 루프를 사용하여 모든 요소를 2로 곱하는 방법을 설명하였습니다. 설명에 사용한 코드는
관련 링크
[1] 네이버 지식인