배열
배열은 행렬을 확장한 개념이다.
행렬은 matrix
배열은 array 라고 한다.
R 컴퓨팅에서는 배열은 3가지 요소를 포함한다.
행과 열과 행렬의 갯수
행 row
열 col
행렬 ar
length → 자료의 갯수
mode → 자료의 형태
din → 각 차원의 벡터의 크기
> dim(arr) <- c(3,4,2)
Java
복사
3행 4열 2개 를 arr에 할당한다.
배열의 곱
componentwise로 곱셈을 한뒤에 모든 요소를 더 한다는 연산자
같은 연산자를 사용하지만 %*% 배열일때냐, 또는 행렬일때냐에 따라서 결과가 매우 다르다.
ary1이라는 행렬에서 1번째 행렬이라는 뜻
세번째 자리가 비어있다면
해당 표식은 arr1이라는 배열의 1행1열자리의 모든 배열 값을 지칭한다.
List의 정의
행렬과 배열등이 동일한 형태의 원소로 이루어진 객체인 반면에 리스트를 구성하는 성분은 서로 다른 형태의 원소를 가질 수 있고, 길이도 다를 수 있다.
서로 다른 타입의 벡터배열을 묶을수 있는 것이 LIst이다.
이런 개별 데이터를 묶을 수 있다.
데이터 프레임의 정의
행렬은 차원으로 표시되며 같은 형태의 객체를 가지는 반면, 데이터 프레임은 각 열들이 서로 다른 형태의 객체를 가질수 있다.
•
데이터 프레임은 형태가 일반화된 행렬
기본함수
데이터 프레임의 주요 특징은 데이터의 입력과 저장에서 다룬 내용과 유사하며 생성하기 위해서는 다음과 같은 방법들이 사용됨
•
read.table() 함수를 이용하여 외부 텍스트 파일을 불러들이는 방법
•
data.frame() 함수를 이용하여 여러 종류의 자료 객체들을 서로 결합
•
as.data.frame() 함수를 사용하여 다른 형태의 자료 객체를 데이터 프레임의 형태로 변환
데이터 프레임 결함
cbind()함수 - 컬럼으로 결합
rbind()함수 - row로 결합
merge()함수 - 같은 변수에 대해서 한번만 출력
물론이죠! 여기 주어진 R 코드의 각 단계를 세밀하게 설명드리겠습니다.
코드의 각 부분 해석
1.
배열 생성
arr <- array(1:24, c(3,3,2))
R
복사
이 코드는 1부터 24까지의 숫자를 포함하는 3차원 배열을 생성합니다. 배열의 차원은 (3,3,2)로 지정되어 있습니다. 여기서 각 숫자는 각각의 차원의 크기를 나타냅니다:
•
첫 번째 차원에는 3개의 요소,
•
두 번째 차원에는 또 다시 3개의 요소,
•
세 번째 차원에는 2개의 요소가 있습니다.
이로 인해 총 3 x 3 x 2 = 18개의 요소를 갖게 됩니다.
2.
차원 이름 지정
dimnames(arr) <- list(paste("row", c(1:3), paste("col", c(1:3)), paste("ar", c(1:2))))
R
복사
이 줄은 배열 arr의 각 차원에 이름을 지정합니다. 하지만 코드에는 오류가 있습니다. paste() 함수는 제공된 모든 입력 값을 하나의 문자열로 결합하는 데 사용되므로, 각 차원별로 별도의 벡터를 생성해야 하지만, 여기서는 한 벡터만 생성하여 모든 차원에 할당하려고 하고 있습니다. 이로 인해 첫 번째 차원의 이름은 세 개의 복합 이름을 가지고, 나머지 두 차원은 이름이 없습니다(NULL).
3.
배열의 길이 조회
length(arr)
R
복사
이 코드는 배열 arr의 전체 길이, 즉 요소의 총 수를 반환합니다. 배열은 18개의 요소를 가지고 있으므로 18을 출력합니다.
4.
배열의 데이터 유형 확인
mode(arr)
R
복사
이 함수는 배열의 요소 유형을 확인합니다. arr은 숫자로 구성되어 있으므로 "numeric"을 출력합니다.
5.
배열의 차원 조회
dim(arr)
R
복사
이 함수는 배열의 차원을 반환합니다. 배열은 (3,3,2)의 차원을 가지므로 c(3, 3, 2)를 출력합니다.
6.
차원 이름 확인
dimnames(arr)
R
복사
이 코드는 배열의 차원 이름을 출력합니다. 첫 번째 차원에만 이름이 지정되어 있으며, 나머지 두 차원은 이름이 지정되지 않았기 때문에 NULL을 출력합니다.
요약
이 코드는 숫자 배열을 만들고, 차원에 이름을 지정하려 했지만, 이름 지정 부분에 오류가 있어 첫 번째 차원에만 이름이 지정되고 나머지는 생략되었습니다. 이후 배열의 속성을 조회하는 함수들을 통해 배열의 특성을 출력합니다.