반응형
행렬
같은 자료형의 스칼라를 원소로 가지는 2차원 자료구조 (행row, 열column)
벡터와 같은 점 : 원소가 입력된 수서를 유지하며, 자료형이 다른 원소가 추가되면 강제변환이 발생한다.
행렬은 2차원이므로 인덱싱을 할 때 대괄호 안에 콤마를 추가해야 한다.
- 콤마 앞에 행 인덱스, 콤마 뒤에 컬럼 인덱스를 지정하는 숫자형 벡터를 입력한다.
- 콤마 앞에 숫자형 벡터를 생략하면 행 전체를 선택한다.
- 행렬에서 행 또는 컬럼을 하나만 선택하면 항상 벡터로 출력된다.
행렬 생성 함수 : matrix( )
matrix(data = NA, nrow = 1, ncol = 1, byrow = FALSE, dimnames = NULL)
data : 벡터를 지정
nrow : 행 길이, data에 지정된 벡터 원소 개수의 약수를 지정
ncol : 열 길이, nrow에 숫자를 지정하면 생략 가능
byrow : 벡터 원소를 가로방향으로 입력하려면 TRUE를 지정 (기본값 : FALSE)
dimnames : 행이름과 컬럼명을 리스트의 원소로 지정
A <- matrix(data=1:12, nrow=3)
> class(x=A)
[1] "matrix" "array"
> dim(x=A)
[1] 3 4
행렬의 인덱싱과 슬라이싱
A[1, 1] #1행 1열을 정수형 벡터로 출력
A[1:2, 1:2] #1~2행 1~2열을 행렬로 출력
A[1, ] #1행을 정수형 벡터로 출력
A[1:2, ] #1~2행을 행렬로 출력
A[c(1,3), ] #1,3행을 행렬로 출력
A[ , 1] #1열을 정수형 벡터로 출력
A[ , c(1,3)] #1,3열을 행렬로 출력
행렬 원소의 추가
1) 컬럼 추가 : cbind( )
2) 행 추가 : rbind( )
행렬 원소의 삭제
인덱스 앞에 마이너스를 추가하면 해당 행 또는 컬럼을 삭제한 결과를 출력
A[-1, -1]
A[-1, ]
A[-c(1:2), ]
A[-c(1,3), ]
A[ , -1]
A[ , -c(1,3)]
행렬 원소의 변경
A[1, ] <- c(1, 2.1, 3.12, 4.123, 5.1234)
행렬은 열 기준으로 소수점 자리수가 결정됨
반응형
'Data Science > R' 카테고리의 다른 글
R프로그래밍 : 데이터프레임(DataFrame) - 생성, 인덱싱, 슬라이싱, 추가, 삭제, 변경 (0) | 2021.03.10 |
---|---|
R프로그래밍 : 사용자 정의 함수 (0) | 2021.03.10 |
R프로그래밍 : 자료구조 (data structure) (0) | 2021.03.09 |
R프로그래밍 : 자료형 (0) | 2021.03.09 |
R프로그래밍 : 범주형 벡터 원소의 변경 (levels) (0) | 2021.03.08 |