2019년 8월 17일 토요일

Chp1. R-Basic - 3

본론
"기초부터 차근차근"

1-2-4 R에서의 행렬사용  - Matrix() 함수
-->matrix에서의 데이터 타입은 모두 같은 형식을 해야한다

> x <- matrix(c(1,2,3,4))
> x
[,1]
[1,]    1
[2,]    2
[3,]    3
[4,]    4
-->출력시 세로로 나온다 , 행의 수를 지정해야한다

> x <- matrix(c(1,2,3,4),nrow=2)
> x
[,1] [,2]
[1,]    1    3
[2,]    2    4
-->nrow=2를 사용해 2행짜리 행열로 만든다

> x <- matrix(c(1,2,3,4),nrow=3)
경고메시지(들):
In matrix(c(1, 2, 3, 4), nrow = 3) :
  데이터의 길이[4]가 행의 개수[3]의 배수가 되지 않습니다
-->3행으로 만들때는 데이터의 겟수가 배수가 되야 함, 해당 행렬에 꽉차게 데이터가 삽입되기 때문

값 가로 입력하기
> x <- matrix (c(1,2,3,4),nrow=2 , byrow=T)
> x
[,1] [,2]
[1,]    1    2
[2,]    3    4
--> byrow=T로 입력하면 데이터가 가로로 삽입된다

matrix에 행/열 추가  -rbind cbind
> x <- matrix ( c(1,2,3,4,5,6,7,8,9),3,by=T)
> x
[,1] [,2] [,3]
[1,]    1    2    3
[2,]    4    5    6
[3,]    7    8    9

> x <- rbind(x,c(10,11,12))
> x
[,1] [,2] [,3]
[1,]    1    2    3
[2,]    4    5    6
[3,]    7    8    9
[4,]   10   11   12

x <- matrix( c(1,2,3,4,5,6),2,by=T)
x <- cbind( x, c(33,99))
> x
[,1] [,2] [,3] [,4]
[1,]    1    2    3   33

행열에서 값 뽑아내기 - apply()
> a <-matrix (c(1,2,3,4,5,6),2,by=T)
> a
[,1] [,2] [,3]
[1,]    1    2    3
[2,]    4    5    6
-->2행 3열

> apply(a,1,max)
[1] 3 6
-->a의 행열에서 , 1(가로방향) , max값을 뽑기

> apply(a,2,max)
[1] 4 5 6
-->a의 행열에서 , 2(세로방향) , max값을 뽑기

> apply(a,2,mean)
[1] 2.5 3.5 4.5
-->a의 행열에서 , 2(세로방향) , 평균값

컬럼에 이름 붙히기
a <- matrix(c(1,2,3,4,5,6),2,by=T)
colnames(a) <-c ("First","Second","third")
> a
First Second third
[1,]     1      2     3
[2,]     4      5     6

댓글 없음:

댓글 쓰기