본론
"기초부터 차근차근"
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
댓글 없음:
댓글 쓰기