・お題:とあるデータをドットプロットで示したい。
・ライブラリを読み込む。
> library(tidyverse)
> library(kableExtra) #ぽりぽりできるグラフを作る
・データセットを作る。
> df <-
+ data.frame(
+ GeneID = c("geneA", "geneB", "geneC"),
+ test_rep1 = c(1, 2, 3),
+ test_rep2 = c(1.1, 2.1, 3.1),
+ test_rep3 = c(1.2, 2.2, 3.3),
+ ctrl_rep1 = c(10, 2, 0.3),
+ ctrl_rep2 = c(11, 1.5, 0.2),
+ ctrl_rep3 = c(12, 0.5, 0.25))
・ぽりぽりできる表で表示する
> df %>%
+ kbl() %>%
+ kable_styling(fixed_thead = TRUE,
+ html_font = "Times New Roman")
・ドットプロット用のデータを作成する。
> df_dotplot <-
+ df %>%
+ tidyr::pivot_longer(.,
+ cols = -GeneID,
+ names_to = "sample")
> df_dotplot
・サンプル名を実験条件にしたいので、_で割る。
> df_dotplot <-
+ df_dotplot %>%
+ tidyr::separate(.,
+ col = sample,
+ into = c("group", "SampleID"),
+ sep = "_")
> df_dotplot
・ggplot2で図示する。
> g <-
+ ggplot(data = df_dotplot,
+ mapping = aes(x = group, y = value))
> g <-
+ g +
+ geom_jitter(height=0, width =0.1) +
+ stat_summary(fun.y = mean, geom="point", size =5, color = "red", shape=3)+
+ theme_bw()+
+ facet_wrap(~ GeneID, scales = "free_y")
> plot(g)
おわり