카테고리 없음
[R] separate_rows를 이용해 1:n 테이블을 1:1 테이블로 만들기
Ufungi
2023. 10. 19. 09:31
tidyr 패키지의 separate_rows는 특정 문자(여기선 ";")로 합쳐진(collapsed) 열을 여러 행으로 분리해준다.
즉 1:n 테이블을 1:1 테이블로 만들어준다.
library(tidyr)
raven <- read.table("Raven_EC_number.txt", header =T, sep = "\t", fill = T, quote ="")
head(raven)
EC.NUMBER GENE.ASSOCIATION
1 3.1.3.18 g12670;g14288
2 2.1.1.355 g660;g724
3 2.7.4.7 g1947
4 2.7.1.150 g3825;g3826;g13382
5 1.14.11.66 g15073
6 2.4.2.19 g7969 g4047
# Split the "GENE.ASSOCIATION" column by ";" and separate into different rows
raven <- separate_rows(raven, GENE.ASSOCIATION, sep = ";")
head(raven)
# A tibble: 6 × 2
EC.NUMBER GENE.ASSOCIATION
<chr> <chr>
1 3.1.3.18 g12670
2 3.1.3.18 g14288
3 2.1.1.355 g660
4 2.1.1.355 g724
5 2.7.4.7 g1947
6 2.7.1.150 g3825