83. 행렬 또는 데이터프레임의 행과 열을 바꾸는 방법 t()
행과열을 바꾼다는 것을 예를들면 2행1열에 있던 값과 1행2열에 있는 값의 자리를 바꾸는 것입니다. 이렇게 모든 쌍의 자리를 서로 바꿔줍니다. 선형대수학에서는 '전치행렬(transposed matrix)'이라고 합니다.
1. 행렬에 t() 적용하기
행렬을 정의하고 행과 열을 바꿔봅시다. 아래와 같이 2행2열로 된 행렬을 정의했습니다.
> M1=matrix(c(1,2,3,4,5,6),nrow=2)
> M1
[,1] [,2] [,3]
[1,] 1 3 5
[2,] 2 4 6
정의한 행렬에 t() 함수를 적용해봅시다.
> t(M1)
[,1] [,2]
[1,] 1 2
[2,] 3 4
[3,] 5 6
2. 데이터프레임에 t() 적용하기
데이터프레임을 정의하고 행과 열을 바꿔봅시다. 데이터프레임에도 사용할 수는 있는데, 데이터프레임을 만들 때 의도했던 구성이 깨져버립니다. 쓸 일이 있을지는 모르겠네요.
> DF1=data.frame(num=c(1,2,3),char=c("a","b","c"),logic=c(TRUE,FALSE,TRUE))
> DF1
num char logic
1 1 a TRUE
2 2 b FALSE
3 3 c TRUE
> str(DF1)
'data.frame': 3 obs. of 3 variables:
$ num : num 1 2 3
$ char : Factor w/ 3 levels "a","b","c": 1 2 3
$ logic: logi TRUE FALSE TRUE
정의한 데이터프레임에 t() 함수를 적용해봅시다.
> DF1_t=t(DF1)
> DF1_t
[,1] [,2] [,3]
num "1" "2" "3"
char "a" "b" "c"
logic " TRUE" "FALSE" " TRUE"
> str(DF1_t)
chr [1:3, 1:3] "1" "a" " TRUE" "2" "b" "FALSE" "3" "c" " TRUE"
- attr(*, "dimnames")=List of 2
..$ : chr [1:3] "num" "char" "logic"
..$ : NULL
데이터프레임에서 한 열에는 같은 종류의 자료형만 올 수 있습니다. 숫자형과 문자형이 함께 있다면 모두 문자형이 됩니다. 따라서 모든 데이터가 문자형으로 바뀐 것을 알 수 있습니다.
영상이 더 편하신 분
'R 주제 > R 기초 및 통계 강의' 카테고리의 다른 글
[R 강의] 85. R에서 정의된 벡터는 열벡터일까 행벡터일까 (0) | 2020.04.04 |
---|---|
[R 강의] 84. 행렬의 곱셈 (0) | 2020.04.04 |
[R 강의] 82.R스튜디오 레이아웃 바꾸는 방법 (0) | 2020.04.02 |
[R 강의] 81. 알고보니 R Gui에도 있던 스트립트 run 기능 (0) | 2020.04.02 |
[R 강의] 80. R 스튜디오 간단한 사용법 (0) | 2020.04.02 |
댓글