English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

R 배열

배열도 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