Search

#004

배열

배열은 행렬을 확장한 개념이다.
행렬은 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을 출력합니다.

요약

이 코드는 숫자 배열을 만들고, 차원에 이름을 지정하려 했지만, 이름 지정 부분에 오류가 있어 첫 번째 차원에만 이름이 지정되고 나머지는 생략되었습니다. 이후 배열의 속성을 조회하는 함수들을 통해 배열의 특성을 출력합니다.