2. Matrix 자료 구조
벡터 이용 행렬 객체 생성
m <- matrix(c(1:5))
m # 5행 1열
벡터의 열 우선으로 행렬 객체 생성
m <- matrix(c(1:10), nrow = 2) # 2행 5열
m
행과 열의 수가 일치하지 않는 경우 예
m <- matrix(c(1:11), nrow = 2)
m
벡터의 행 우선으로 행렬 객체 생성
m <- matrix(c(1:10), nrow = 2, byrow = T) # 행 우선
m
m <- matrix(c(1:10), byrow = T) # 주의 - 여전히 10행 1열
m # nrow/ncol 값 주어지지 않으면, default one-column으로 동작. 즉 byrow 속성은 적용되지 않음.
m <- matrix(c(1:10), ncol = 10) # 1행 10열
m
?matrix
행 묶음으로 행렬 객체 생성
x1 <- c(5, 40, 50:52)
x2 <- c(30, 5, 6:8)
mr <- rbind(x1, x2)
mr
열 묶음으로 행렬 객체 생성
mc <- cbind(x1, x2)
mc
args(matrix)
2행으로 행렬 객체 생성
m3 <- matrix(10:19, 2) # 10개 데이터를 2행으로 생성. data = 10:19, nrow = 2
m3
자료와 객체 type 보기
mode(m3); class(m3) # numeric, matrix
행렬 객체에 첨자로 접근
m3[1,] # 1행 전체
m3[,5] # 5열 전체
m3[2,3] # 2행 3열의 데이터 1개 -> 15
m3[1,c(2:5)] # 1행에서 2~5열 데이터 4개
m3[1,c(2,5)] # 1행에서 2열, 5열 데이터 2개
3행 3열로 행렬 객체 생성
x <- matrix(c(1:9), nrow = 3, ncol = 3) # 3행3열 matrix 객체
x
자료의 개수 보기
length(x) # 데이터 개수
ncol(x); nrow(x) # 열 / 행 수
apply() 함수 적용 #데이터 전처리에 많이 활용되는 함수.
apply(x, 1, max) # 행 단위 최대값. 행은 1, 열은 2
apply(x, 1, min) # 행 단위 최소값
apply(x, 2, mean) # 열 단위 평균값
사용자 정의 적용
f <- function(x){ # x 매개변수
x * c(1, 2, 3)
}
f(3) # 전달하고자 하는 값 3
행 우선 순서로 사용자 정의 함수 적용
result <- apply(x, 1, f)
result
열 우선 순서로 사용자 정의 함수 적용
result <- apply(x, 2, f)
result
행렬 객체에 컬럼명 지정하기
colnames(x) <- c('one', 'two', 'three')
x
'R 언어' 카테고리의 다른 글
R 언어 # chapter02_ 데이터의 유형과 구조_List (0) | 2021.05.13 |
---|---|
R 언어 # chapter02_ 데이터의 유형과 구조_Array (0) | 2021.05.13 |
R 언어 # chapter02_ 데이터의 유형과 구조_벡터 (0) | 2021.05.11 |
R 시작 # chap01_Basic (2) (1) | 2021.05.11 |
R 시작 # chap01_Basic (0) | 2021.05.10 |