본문 바로가기

R_statistics/Rs_graphics

[R프로그래밍] 데이터시각화 with ggplot2:: ggplot 으로 ROC curve 그리기 ggplot(df,aes(FPR,TPR,color=GeneSet))+ geom_line(size = 2, alpha = 0.7)+ labs(title= "ROC curve", x = "False Positive Rate (1-Specificity)", y = "True Positive Rate (Sensitivity)") 이건 미처 생각하지 못한 방법... 이걸로 python 에서 얻어진 값을 활용해서 R 에서 ROC curve 를 그릴 수 있다.
[R프로그래밍] ggplot2:: 여러개의 ggsurvplot 합치기 / arrange multiple ggsurvplots ggsurvplot 정말 좋은 graphic tool 입니다. 논문 투고를 준비하다보면... ggsurvplot 을 이용해서 그린 figure 를 하나의 figure 로 합치고 싶을 때가 있습니다. 이럴때 쓰는 코드를 알려드리겠습니다. splots
[R프로그래밍] 데이터시각화 with ggplot2:: annotate 에서 bold 체 사용하기 ggplot 으로 figure 를 그리다보면 그래프 안에 text 를 집어넣을 때가 종종 있습니다. 이럴때 figure 1의 A , B 등으로 구분을 해줘야할 때가 대표적인 예인데요... 이러한 경우에는 text를 bold 로 넣어주면 가독성이 좋아지겠죠? 그래서 오늘 포스팅할 내용은 ggplot::annotate 로 bold 체 글씨를 쓰는 방법입니다. ggplot (df, aes(...))+ annotate("text", ~~~~ , fontface=2) 위의 2번째 코드에서 fontface 보이시죠? 이 값을 2로 지정해주면 bold 체로 지정되게 됩니다. 참 쉽죠 ? * 이 포스팅이 도움이 되셨다면 '공감' 버튼 부탁드립니다.
[R프로그래밍] 데이터시각화 with ggplot2:: 그래프 예쁘게 그리기, 경계선 지우기 오늘 포스팅은 간단하면서도 상당히 유용한 포스팅입니다. figure 작성을 할때 보통 예쁘다는 figure 들은 x축과 y축은 조금 두껍게 표시되고, 나머지 line 은 제거해버리는 경우가 많죠. 개인적으로는 NEJM 에 실리는 figure 들이 예쁜 녀석들이 많다고 생각하는데 그녀석들처럼 ggplot 에서 그렇게 margin 과 grid 를 제거해버리는 코드는 다음과 같습니다. 참 쉽죠? library(ggplot2) ggplot(aes(...))+ theme_bw()+ theme(axis.line = element_line(size=1), axis.ticks = element_line(size=1), panel.border = element_blank(), panel.grid.major = eleme..
[R프로그래밍] 데이터시각화 with ggplot2:: geom_histogram, 히스토그램 in R 이리저리 논문작업에 치어살다보니... 포스팅 할 시간은 점점 줄어드네요. 최근엔 manuscript 작성에 신경을 쓰다보니 사실 R graphics 쪽은 거의 손을 놓고 있었습니다. 덕분에 간단하게 하던 작업들도 기억이 안나서 reference 들을 찾아보게 되네요. 그래서 오늘 포스팅 내용은 아주 간단하지만 데이터 분포를 확인하는데 아주 유용한, 히스토그램, histogram 을 ggplot2 를 이용하여 작성하는 방법을 알아보겠습니다. ggplot2(dataframe, aes(x= ooo ))+ geom_histogram() 위의 coding 이 가장 기본적인 coding 입니다. ggplot2 에서 dataframe 을 지정하여 주고, aes 를 이용하여 x 축을 원하는 변수로 mapping 시켜 ..
[R프로그래밍] 데이터시각화 with ggplot2:: 범례 (legend) 제거하기 (remove) ggplot 으로 figure 를 그렸을 때, 범례 (legend) 를 제거하고 싶을 때가 있습니다. 그럴때 사용하는 방법에 대하여 포스팅하겠습니다. iris 데이터 기준으로 말씀드리겠습니다. iris 데이터에서 Species 에 따른 Sepal.Length 와 Petal.Length 의 분포를 보고 싶어서 아래와 같은 figure 를 그렸습니다. ggplot(iris, aes(Sepal.Length, Petal.Length, color=Species))+ geom_point()+ theme_bw() 위 그림의 우측에 나와있는 범례를 지우기 위해서는 어떻게 해야할까요?? 방법은 다음과 같습니다.ggplot(iris, aes(Sepal.Length, Petal.Length, color=Species))+ ..
[R프로그래밍] 데이터시각화 with ggplot2::sec_axis, dual axis graph, 2개의 축을 가진 그래프 그리기 데이터를 제시할때, 한개의 그래프 안에 2가지의 자료를 함께 보여주고 싶을 때가 있습니다.이러한 경우, 2가지 자료의 단위 혹은 값이 상당히 다르다면, 한개의 그래프 안에 2개의 자료를 모두 제시하였을 때, 2개의 자료가 따로따로 떨어져서 보여지겠죠? Iris 데이터를 이용하여 Sepal.Length 와 Petal.Length 의 분포를 하나의 그래프에 그린다고 가정해보겠습니다.극적인 효과를 위하여, Petal.Width 의 값을 전체적으로 1/10 로 감소시켜서 그래프를 그려보겠습니다. Sepal.Length 의 분포는 boxplot 을 이용하여 Species 별로 나타내고,Petal.Width 의 분포는 dot plot 을 이용하여 Species 별로 나타내겠습니다. 일반적인 방식으로 나타내면 아래와..
[R프로그래밍] 데이터시각화 with ggplot2::ggsurvplot, ggsurvplot 저장하기, saving ggsurvplot ggsurvplot 은 좋은 명령어죠. ggsurvplot 으로 만든 예쁜 figure 를 논문 제출을 위하여 high dpi 로 저장을 하고 싶을때 하는 방법입니다. 불행히도 일반적인 ggsave 는 먹히지 않습니다.꼼수(?)를 써야하는데요. ㅎㅎ방법은 아래와 같습니다. figure