본문 바로가기
공부/R Programming

R 기초; 행렬 생성

by 혼밥맨 2021. 1. 3.
반응형

R 기초; 행렬 생성

 

# 차원 부여하기
v <- 1:12
dim(v) <- c(3, 4)

v <- 1:12
matrix(data=v, nrow=3, ncol=4)
     [,1] [,2] [,3] [,4]
[1,]    1    4    7   10
[2,]    2    5    8   11
[3,]    3    6    9   12

matrix(data=v, nrow=3, ncol=4, byrow=TRUE)
     [,1] [,2] [,3] [,4]
[1,]    1    2    3    4
[2,]    5    6    7    8
[3,]    9   10   11   12

# 행렬의 이름 생성하기
rnames = c("R1", "R2", "R3")
colnames = c("C1", "C2", "C3", "C4")

matrix(data=v, nrow=3, ncol=4, dimnames=list(rnames, colnames))
   C1 C2 C3 C4
R1  1  4  7 10
R2  2  5  8 11
R3  3  6  9 12


matrix(0, 3, 4)
     [,1] [,2] [,3] [,4]
[1,]    0    0    0    0
[2,]    0    0    0    0
[3,]    0    0    0    0


matrix(NA, 3, 4)
     [,1] [,2] [,3] [,4]
[1,]   NA   NA   NA   NA
[2,]   NA   NA   NA   NA
[3,]   NA   NA   NA   NA

matrix(v, ncol=4)
     [,1] [,2] [,3] [,4]
[1,]    1    4    7   10
[2,]    2    5    8   11
[3,]    3    6    9   12

mat <- matrix(v, ncol=4)
mat
     [,1] [,2] [,3] [,4]
[1,]    1    4    7   10
[2,]    2    5    8   11
[3,]    3    6    9   12

str(mat)
int [1:3, 1:4] 1 2 3 4 5 6 7 8 9 10 ...

dim(mat)
[1] 3 4

# 행의 개수 출력하기
dim(mat)[1]
[1] 3

# 열의 개수 출력하기
dim(mat)[2]

nrow(mat)
[1] 3

ncol(mat)
[1] 4

length(mat)
[1] 12


# 벡터 결합하기
v1 <- c(1, 2, 3, 4, 5)
v2 <- c(5, 7, 8, 9, 10)

# 행을 기준으로 결합하기 using rbind()
rbind(v1, v2)
   [,1] [,2] [,3] [,4] [,5]
v1    1    2    3    4    5
v2    5    7    8    9   10

 

# 열을 기준으로 결합하기 using cbind()
cbind(v1, v2)
     v1 v2
[1,]  1  5
[2,]  2  7
[3,]  3  8
[4,]  4  9
[5,]  5 10


cbind(1:3, 4:6, matrix(7:12, 3, 2))
     [,1] [,2] [,3] [,4]
[1,]    1    4    7   10
[2,]    2    5    8   11
[3,]    3    6    9   12


rbind(matrix(1:6, 2, 3), matrix(7:12, 2, 3))
     [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    6
[3,]    7    9   11
[4,]    8   10   12

 

 

반응형

'공부 > R Programming' 카테고리의 다른 글

R기초; 리스트 생성  (0) 2021.01.04
R 기초; 배열  (0) 2021.01.04
R 기초; 팩터  (0) 2021.01.03
R 기초; 벡터 인덱싱  (0) 2021.01.03
R 기초; 행렬 연산  (0) 2021.01.02

댓글