맛동산

매트릭스(Matrix) 기초 본문

머신러닝/R

매트릭스(Matrix) 기초

오지고지리고알파고포켓몬고 2017. 3. 26. 12:52

# Matrix : 동일 데이터 타입을 갖는 2차원 배열


# c()함수 이용 matrix 생성

m <- matrix(c(1:12), nrow=3)

m

# 1 4 7 9

# 2 5 8 10

# 3 6 9 12

# 우리의 사고방식과는 다르게 1 2 3 4 순이 아님


m <- matrix(c(1:10), nrow=2, byrow=T) # byrow=T : 행 우선

# 1 2 3 4 5

# 6 7 8 9 10


# 인덱싱

m[c(1,2),c(2,3,5)]

# 1, 2행의 2, 3, 5번 컬럼


# rbind()/cbind() 함수 이용

x1 <- c(5,40,50:52) 

x2 <- c(30,5,6:8) 


mr <- rbind(x1,x2) # 두개 백터를 행단위로 묶어

mr

# 5 40 50 51 52

# 30 5 6  7  8


mc <- cbind(x1,x2)  

mc


# 전치행렬 변경

t(mc)


# matrix()함수 이용

m3 <- matrix(10:19, 2) #10개 데이터를 2행으로 생성

m3

mode(m3); class(m3) #numeric, matrix


# matrix 데이터 처리 함수      

x <- matrix(c(1:9), nrow=3, ncol=3) # 3행 3열 matrix 객체

length(x) # 데이터 개수 

ncol(x); nrow(x) # 열/행 수

x


# matrix에 컬럼이름 적용하기

colnames(x) <- c("one", "two", "three")  

rownames(x) <- c(1,2,3)

x


# apply(변수, 행/열, 내장함수)

apply(x,1,max) # 행 단위 최대값

apply(x,1,sum)

apply(x,2,mean) # 열 단위 평균값   


# 사용자 함수와 apply() 적용

f <- function(x){ # x 매개변수 

  x * c(1,2,3)

}

x

t(apply(x, 1, f)) # row가 들어가면 col로 나옴


byrow colnames rownames apply 전치행렬 t

'머신러닝 > R' 카테고리의 다른 글

리스트(List) 기초  (0) 2017.03.26
배열(Array) 기초  (0) 2017.03.26
백터(vector) 기초  (0) 2017.03.26
기타  (0) 2017.03.26
Rserve 설치 및 Java(이클립스, 자바서버)에서 사용하기  (0) 2016.12.12
Comments