본문 바로가기

실용적인프로그래밍24

[R] pheatmap에 오류발생 (NA/NaN/Inf in foreign function call) pheatmap을 다루던 중 오류가 발생을 하는 경우가 있습니다. 그중 최근 해결한 문제들에 대해서 간단하게 포스팅 해보도록 하겠습니다. Error in hclust(d, method = method) : NA/NaN/Inf in foreign function call (arg 10) Calls: pheatmap -> cluster_mat -> hclust Execution halted 위와 같은 문제는 데이터안에 NA, nan inf가 있는지 확인하시고 만약 세개다 없을 경우 row든 column이든 평균이 0인 경우를 제외하면 됩니다. # NA 확인 View(apply(mat,1,is.na)) # NAN 확인 View(apply(mat,1,is.nan)) # Inf 확인 View(apply(mat,1.. 2021. 4. 19.
[R] pheatmap으로 예쁜 heatmap 그리기 Expression 연구를 하다가 보면 많이 사용하는 그림이 heatmap입니다. heatmap의 대표적인 용도는 보여주기식(우리가 발현한 유전자들이 대략 그림처럼 cluster가 되어있다!!)이 강합니다. 뭔가 두 그룹이 다르다는 것을 t.test pvalue이외에도 사람들이 알기 쉽게 하기 위해서는 이러한 heatmap이 필요합니다. heatmap은 기본적인 heatmap, gplots package에 heatmap.2 기능이 있습니다. 그리고 사람들이 많이 사용하는 ggplot2에서도 만들 수가 있구요. 그러나 오늘은 아주 예쁘게 heatmap을 만들기 위해 주로 사용하는 pheatmap(pretty heatmap)에 대해 실습을 하고자 합니다. UCSC XENA 데이터를 이용하여 분석을 할 것입니.. 2021. 1. 29.
[R] ggplot barplot, histogram 그리기 이번 포스팅은 barplot과 histogram에 대해 그려보도록 하겠습니다 barplot, histogram은 비슷하게 생겼지만 완전 다른 데이터를 나타나게 됩니다. barplot의 경우 불연속적인 데이터를 나타날때 사용이 되고, histogram의 경우 연속적인 데이터에 대한 빈도수를 나타낼때 사용됩니다. 예시로 한 학급에 대해 시험점수를 통계를 낼때, histogram의 경우 점수의 분포를 알기 위해서 사용할 수가 있고, barplot의 경우 학생당 과목마다의 점수가 얼마나 나오는지 확인할때 사용할 수가 있습니다. 아래 설명에는 ggplot2 package에 포함된 diamonds dataset을 이용하였습니다. 1. barplot 가장 먼저 알려드릴 내용은 barplot입니다. barplot은 h.. 2021. 1. 14.
[R] ggplot package boxplot 그리기 ggplot2 package는 R에서 대표적인 그래프를 만드는 패키지로 여러가지 package를 만들 수가 있습니다. 이번 포스팅에는 그중에서 boxplot 그림을 그리는 것에 대한 이야기를 할까 합니다. boxplot의 기본적인 내용(상자그래프, 상자수염그래프)은 다른 사이트에 자세히 나오니 패스를 하도록 하겠습니다. boxplot을 그리는 이유는 그룹간 차이를 시각적으로 보여주기 위함입니다. 데이터는 ggplot2의 데이터베이스인 diamonds를 이용할 것 입니다. ggplot에서 boxplot을 그리는 기본적인 구조는 다음과 같습니다. ggplot(data=diamonds,aes(x=cut ,y=price))+geom_boxplot() ggplot(data=diamonds)+geom_boxplot.. 2021. 1. 13.
[R][Shiny] shiny 앱 실행시 발생하는 에러 해결! 아오!!! 열받아 오늘은 두시간 뻘짓해서 알아낸 shiny 호스팅에 대해서 알아보도록 하겠습니다. 새로운 컴퓨터를 샤이니 서버로 사용하기 위해 저번에 세팅한데로 진행했는데 갑자기 제가 만든 앱이 안되더군요. 어떻게 안됬느냐! 아래와 같은 에러가 떳습니다. ERROR: An error has occurred. Check your logs or contact the app author for clarification. 이라는 에러가 뜨는데... shiny sever를 먼저 설치를 하고! 편집기를 통해서 /etc/shiny-server/shiny-server.conf 를 편집을 해주셔야 합니다. 에러를 고치기 위해서는 run_as를 편집해주셔야하고, port를 변경하시려면 listen 3838에서 숫자를 변경.. 2020. 12. 18.
[R] 차원축소 PCA, PCoA (MDS) 실습 데이터 유사도! Multidimensional scaling 일명 MDS plot이라고도 하는 그림을 분석하다가 가끔 봅니다. Array Genotyping QC에서도 보고, GWAS QC과정에서도 보고 여러군데에서 많이 볼수 있는 그림인데, 샘플들끼리의 유사도를 확인하는데 주로 많이 사용하는 것 같습니다. (RNA edge R에서의 MDS plot도 같은 방법임) MDS에는 여러 방법들이 있지만, 주로 많이 사용되는 방법은 Principle coordinates Analysis (PCoA, Classical multidimensional scaling) 인데, 영어 풀네임을 보면 뭔가 비슷한 개념이 생각이 날 수가 있는데, 바로 principle component analysis (PCA)입니다. ! MDS 다른 방법.. 2020. 12. 5.