1. 程式人生 > 其它 >php select group by 分類_教你畫雙分類變數的箱線圖

php select group by 分類_教你畫雙分類變數的箱線圖

技術標籤:php select group by 分類

f11a995b-651d-eb11-8da9-e4434bdf6706.png今天是生信星球陪你的第573天f21a995b-651d-eb11-8da9-e4434bdf6706.png


大神一句話,菜鳥跑半年。我不是大神,但我可以縮短你走彎路的半年~

就像歌兒唱的那樣,如果你不知道該往哪兒走,就留在這學點生信好不好~

這裡有豆豆和花花的學習歷程,從新手到進階,生信路上有你有我!

背景基礎

箱線圖的解釋:

f41a995b-651d-eb11-8da9-e4434bdf6706.png

新增p值的需求

f51a995b-651d-eb11-8da9-e4434bdf6706.png

這樣的箱線圖,新增p值的需求是很多見的,核心就是stat_compare_means函式,可以很輕易搜到程式碼:
library(ggpubr)my_comparisonslist(c("0.5","1"),c("1","2"),c("0.5","2"))
ggboxplot(ToothGrowth,x="dose",y="len",
color="dose",palette="jco")+
stat_compare_means(comparisons=my_comparisons)+
stat_compare_means(label.y=50)

加難度

如題,有的箱線圖不止一個分組,下面的例子中,橫座標按照cyl列對映,填充顏色按照am列對映,即可得到展示雙分類的箱線圖。

f61a995b-651d-eb11-8da9-e4434bdf6706.png
作圖資料
library(ggplot2)
library(dplyr)
x=mtcars%>%
mutate_at(vars(am,cyl),as.factor)
pgeom_boxplot()+theme_classic()
p1=p+stat_compare_means(aes(group=am),label="p.format")
p2=p+stat_compare_means(aes(group=cyl),label="p.format")
library(patchwork)
p1+p2
f71a995b-651d-eb11-8da9-e4434bdf6706.png

此圖新增p值, 可根據am分組,也可根據cyl分組,計算出的p值是不同的。
本想繼續探索如何給分組內部新增比較連線,卻發現stat_compare_means的comparisons引數無法支援這樣的操作,一個畫圖愛好者抱著執念搜尋了好久,沒有找到直接新增的操作,只能是通過 分面
了。
pfacet_wrap(~am)+
geom_boxplot()+theme_classic()+
stat_compare_means(comparisons=list(c("4","6"),c("6","8")));p
fa1a995b-651d-eb11-8da9-e4434bdf6706.png
以前寫的箱線圖教程:
箱線圖走一個
批量繪製配對樣本差異基因的箱線圖
兩種方法批量繪製差異基因箱線圖(朋友圈無獎競答公佈答案)

插個小廣告!

生信零基礎入門學習小組

全國巡講全球聽(生信線上直播課)

一起來學單細胞嗎?