php select group by 分類_教你畫雙分類變數的箱線圖
阿新 • • 發佈:2020-12-23
今天是生信星球陪你的第573天
大神一句話,菜鳥跑半年。我不是大神,但我可以縮短你走彎路的半年~
就像歌兒唱的那樣,如果你不知道該往哪兒走,就留在這學點生信好不好~
這裡有豆豆和花花的學習歷程,從新手到進階,生信路上有你有我!
背景基礎
箱線圖的解釋:
新增p值的需求
這樣的箱線圖,新增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列對映,即可得到展示雙分類的箱線圖。
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
此圖新增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
插個小廣告!
生信零基礎入門學習小組
全國巡講全球聽(生信線上直播課)
一起來學單細胞嗎?