上一次给大家简单介绍了蜜蜂图beeswarm
今天我们来看看beeswarm的具体细节,以及怎么设置颜色。我们用beeswarm自带的乳腺癌数据为例。数据的具体格式如下
ER是雌激素受体的状态,neg为阴性,pos为阳性。ESR1和ERBB2为两个基因的表达量。time_survival为生存时间,event_survival为生存状态,1为死亡,0为存活。
#安装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
t.test(time_survival~ER,data=subset(breast,event_survival==1))
不难发现p值是显著的。
今天的分享就先到这里,后面再给大家继续讲解beeswarm的其他参数。
网友评论