data_visualization
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| data_visualization [2018/10/12 08:33] – [유용한 링크들] hyjeong | data_visualization [2023/02/15 10:43] (current) – [Heatmap 그림과 phylogenetic tree의 결합] hyjeong | ||
|---|---|---|---|
| Line 36: | Line 36: | ||
| | | ||
| - | === 컬럼의 배열 순서 | + | === 컬럼의 배열 순서 |
| marker gene(g< | marker gene(g< | ||
| > data2_r = data3[, | > data2_r = data3[, | ||
| + | === 컬럼의 배열 순서를 임의로 바꾸기 === | ||
| + | myord라는 벡터를 하나 생성하여 컬럼 이름을 여기에 순서대로 넣는다. 그리고 다음과 같이 하면 그만이다. 이는 row에 대해서도 똑같이 적용할 수 있다. 이렇게 쉬운 것을 모르고 for 구문을 쓸 궁리를 하다니! | ||
| + | > data_new = data3[, myord] | ||
| === 특정 row만을 뽑아내어 후속 분석에 사용하고 싶다면 === | === 특정 row만을 뽑아내어 후속 분석에 사용하고 싶다면 === | ||
| Line 57: | Line 60: | ||
| ==== 테이블 병합하기 ==== | ==== 테이블 병합하기 ==== | ||
| < | < | ||
| + | |||
| + | 그런데 모든 텍스트 파일의 key가 동일한 set이 아니라면 위에서 소개한 방법으로는 잘 되지 않을 것이다. | ||
| ==== 매트릭스 형태의 텍스트 파일을 R에서 읽어들이기(2) ==== | ==== 매트릭스 형태의 텍스트 파일을 R에서 읽어들이기(2) ==== | ||
| 이번에는 [[https:// | 이번에는 [[https:// | ||
| Line 69: | Line 74: | ||
| > rownames(data) = data[,1] | > rownames(data) = data[,1] | ||
| > data = data[,-1] | > data = data[,-1] | ||
| - | # 또는 | + | # 사실 위의 세 줄은 지극히 초보적인 방법이다. 다음 한 줄이면 족하다. |
| + | # data = read.table(" | ||
| > #View(data) | > #View(data) | ||
| # 대각선에 대하여 대칭인 구조이지만 query -> subject 방향에 따라 identity가 똑같지 않다. | # 대각선에 대하여 대칭인 구조이지만 query -> subject 방향에 따라 identity가 똑같지 않다. | ||
| Line 95: | Line 101: | ||
| {{ : | {{ : | ||
| ==== gplots 패키지의 heatmap.2() 함수 이용 ==== | ==== gplots 패키지의 heatmap.2() 함수 이용 ==== | ||
| + | [[https:// | ||
| > library(gplots) | > library(gplots) | ||
| > heatmap.2(as.matrix(data4), | > heatmap.2(as.matrix(data4), | ||
| Line 104: | Line 111: | ||
| 다음은 레이아웃을 변경하는 예제이다. 여러가지 방법으로 응용해 보라. 가장 유용한 인수 설정은 density.info=" | 다음은 레이아웃을 변경하는 예제이다. 여러가지 방법으로 응용해 보라. 가장 유용한 인수 설정은 density.info=" | ||
| > heatmap.2(as.matrix(d2), | > heatmap.2(as.matrix(d2), | ||
| + | 색상 체계가 마음에 들지 않는다면 다음과 같이 팔레트를 자체 정의할 수 있다. | ||
| + | > my_palette = colorRampPalette(c(" | ||
| + | > heatmap.2(x, | ||
| heatmap.2()로 그려지는 plot의 각 요소(heatmatp, | heatmap.2()로 그려지는 plot의 각 요소(heatmatp, | ||
| * [[https:// | * [[https:// | ||
| Line 123: | Line 132: | ||
| > d = read.table(" | > d = read.table(" | ||
| > fit = hclust(dist(as.matrix(d)), | > fit = hclust(dist(as.matrix(d)), | ||
| + | # heatmap.2() 함수는 complete agglomeration method를 클러스터링에 사용한다. average method는 UPGMA와 같다. | ||
| > my_tree=as.phylo(fit) | > my_tree=as.phylo(fit) | ||
| > write.tree(phy=my_tree, | > write.tree(phy=my_tree, | ||
| Line 128: | Line 138: | ||
| [[https:// | [[https:// | ||
| - | 그 반대로, 다른 도구를 통해 만든 tree를 heatmap.2() 함수에 공급할 방법은 없을까? 내가 알기로 그것은 불가능하고, | + | 그 반대로, 다른 도구를 통해 만든 tree를 heatmap.2() 함수에 공급할 방법은 없을까? 내가 알기로 그것은 불가능하고, |
| + | |||
| + | 다음은 보다 상세한 heatmap 작성 관련 기술 문서이다. | ||
| + | |||
| + | [[https:// | ||
| ===== iTOL 이용하기 ===== | ===== iTOL 이용하기 ===== | ||
| [[https:// | [[https:// | ||
data_visualization.1539300831.txt.gz · Last modified: (external edit)
