English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
배열도 R 언어의 객체로, R 언어는 일维或多维 배열을 생성할 수 있습니다.
R 언어 배열은 동일한 타입의 집합으로, 이전에 배운 matrix는 실제로는 두차원 배열입니다.
벡터, 행렬, 배열 관계는 다음 그림을 참조하세요:
R 언어 배열 생성은 array() 함수를 사용하며, 이 함수는 벡터를 입력 매개변수로 사용하고 dim을 사용하여 배열 축을 설정할 수 있습니다.
array() 함수 문법 형식은 다음과 같습니다:
array(data\t=\tNA,\tdim\t=\tlength(data),\tdimnames\t=\tNULL)
파라미터 설명:
data 벡터, 배열 요소.
dim 배열의 축, 기본적으로 일维 배열입니다.
dimnames 축의 이름은 목록이어야 하며, 기본적으로 이름을 설정하지 않습니다.
다음 예제에서는 다음과 같이 생성하겠습니다: 3 행 3 열의 두차원 배열:
# 두 개의 다른 길이의 벡터 생성 vector1 <- c(5,9,3) vector2 <- c(10,11,12,13,14,15) # 배열 생성 result <- array(c(vector1,vector2),dim = c(3,3,2)) print(result)
위 코드를 실행한 결과는 다음과 같습니다:
, , 1 [,1]2]3] [1,] 5 10 13 [2,] 9 11 14 [3,] 3 12 15 , , 2 [,1]2]3] [1,] 5 10 13 [2,] 9 11 14 [3,] 3 12 15
각 축의 이름을 설정하려면 \tdimnames\t파라미터를 사용합니다: :
# 두 개의 다른 길이의 벡터 생성 vector1 <- c(5,9,3) vector2 <- c(10,11,12,13,14,15) \t,\tMatrix\- c(\"COL\1"COL2"COL3") row.names <- c("ROW1"ROW2"ROW3") matrix.names <- c("Matrix1"Matrix2") # 배열을 생성하고 각 축의 이름을 설정합니다. result <- array(c(vector1,vector2),dim = c(3,3,2),\tdimnames\t=\tlist(row.names,\tcolumn.names,\tmatrix.names)) print(result)
위 코드를 실행한 결과는 다음과 같습니다:
,\t,\tMatrix\1 COL1 COL2 COL3 ROW1 5 10 13 ROW2 9 11 14 ROW3 3 12 15 ,\t,\tMatrix\2 COL1 COL2 COL3 ROW1 5 10 13 ROW2 9 11 14 ROW3 3 12 15
어떻게 배열 요소를 가져올 수 있는지는 요소의 열 인덱스와 행 인덱스를 사용하여 좌표 형식으로 사용할 수 있습니다.
# 두 개의 다른 길이의 벡터 생성 vector1 <- c(5,9,3) vector2 <- c(10,11,12,13,14,15) \t,\tMatrix\- c(\"COL\1"COL2"COL3") row.names <- c("ROW1"ROW2"ROW3") matrix.names <- c("Matrix1"Matrix2") # 배열 생성 result <- array(c(vector1,vector2),dim = c(3,3,2),dimnames = list(row.names, column.names, matrix.names)) # 배열 두 번째 행렬의 세 번째 행 표시 print(result[3,,,2]) # 배열 첫 번째 행렬의 첫 번째 행 세 번째 열의 요소 표시 print(result[1,3,1]) # 두 번째 행렬 출력 print(result[,,2])
위 코드를 실행한 결과는 다음과 같습니다:
COL1 COL2 COL3 3 12 15 [1] 13 COL1 COL2 COL3 ROW1 5 10 13 ROW2 9 11 14 ROW3 3 12 15
배열은 여러 차원 행렬로 구성되어 있으므로, 행렬의 요소를 통해 배열 요소에 접근할 수 있습니다.
# 두 개의 다른 길이의 벡터 생성 vector1 <- c(5,9,3) vector2 <- c(10,11,12,13,14,15) # 배열 생성 array1 <- array(c(vector1,vector2),dim = c(3,3,2)) # 두 개의 다른 길이의 벡터 생성 vector3 <- c(9,1,0) vector4 <- c(6,0,11,3,14,1,2,6,9) array2 <- array(c(vector1,vector2),dim = c(3,3,2)) # 배열에서 행렬 생성 matrix1 <- array1[,,2] matrix2 <- array2[,,2] # 행렬 더하기 result <- matrix1+matrix2 print(result)
위 코드를 실행한 결과는 다음과 같습니다:
[,1]2]3] [1,] 10 20 26 [2,] 18 22 28 [3,] 6 24 30
또한 다음과 같이 사용할 수 있습니다 apply() 요소를 배치별로 배열 요소에 대해 계산합니다. 문법 형식은 다음과 같습니다:
apply(x, margin, fun)
파라미터 설명:
x 배열
가능한 경계 데이터 이름
fun 계산 함수
다음은 apply() 함수를 사용하여 배열 두 개의 행렬에서 각 행에 대한 숫자 합을 계산하는 예제입니다.
# 두 개의 다른 길이의 벡터 생성 vector1 <- c(5,9,3) vector2 <- c(10,11,12,13,14,15) # 배열 생성 new.array <- array(c(vector1,vector2),dim = c(3,3,2)) print(new.array) # 배열 중 모든 행렬의 첫 번째 행의 숫자 합을 계산 result <- apply(new.array, c(1), sum) print(result)
위 코드를 실행한 결과는 다음과 같습니다:
, , 1 [,1]2]3] [1,] 5 10 13 [2,] 9 11 14 [3,] 3 12 15 , , 2 [,1]2]3] [1,] 5 10 13 [2,] 9 11 14 [3,] 3 12 15