【R】蜜蜂图beeswarm-颜色

2022-09-21 19:17:50 浏览数 (1)

上一次给大家简单介绍了蜜蜂图beeswarm

☞ 【R】蜜蜂图beeswarm

今天我们来看看beeswarm的具体细节,以及怎么设置颜色。我们用beeswarm自带的乳腺癌数据为例。数据的具体格式如下

ER是雌激素受体的状态,neg为阴性,pos为阳性。ESR1和ERBB2为两个基因的表达量。time_survival为生存时间,event_survival为生存状态,1为死亡,0为存活。

代码语言:javascript复制
#安装beeswarm包
install.packages("beeswarm") 

#加载beeswarm包
library(beeswarm)

#导入breast这套数据
data(breast)

#查看数据
head(breast)

pdf(file="breast_beeswarm_color.pdf",width=10,height=10)
par(mfrow=c(2,1))
#指定每一组点的颜色
beeswarm(time_survival ~ ER, #纵轴和横轴显示的变量
         data=breast,  #数据来源
         pch=16,  #点的类型
         col=as.numeric(breast$ER),  #设置每组的颜色
         xlab="",ylab="Follow-up time (months)", #横轴名称
         labels = c("ER neg", "ER pos")   #横轴标签名称
         )
#图注,1和2分别对应黑色和红色
legend("topright",legend=c("neg","pos"),title="ER type",pch=16,col=1:2)

#指定每一个点的颜色
beeswarm(time_survival ~ ER,  #纵轴和横轴显示的变量
         data=breast,  #数据来源
         pch=16,  #点的类型
         pwcol=1 as.numeric(event_survival),   #设置每个点的颜色
         xlab="",ylab="Follow-up time (months)",   #横轴名称
         labels = c("ER neg", "ER pos")  #横轴标签名称#
         )
#图注,1和2分别对应黑色和红色
legend("topright",legend=c("yes","no"),title="Alive",pch=16,col=1:2)
dev.off()

运行上面代码,我们可以得到下面这张图

两张图的区别在于点的颜色设置不同。col控制分组的颜色,而pwcol控制每个点的颜色。

从下方的图中,我们可以看出存活的样本(黑色点)生存时间要明显高于死亡样本(红色点)。另外我们也可以看出,ER阳性的死亡样本生存时间要高于ER阴性的死亡样本。

具体显不显著,我们可以做个简单的t.test

代码语言:javascript复制
t.test(time_survival~ER,data=subset(breast,event_survival==1))

不难发现p值是显著的。

今天的分享就先到这里,后面再给大家继续讲解beeswarm的其他参数。

0 人点赞