R语言统计分析——气泡图

参考资料:R语言实战【第2版】

        气泡图(bubble plot)用来展示三个定量变量间的关系:先创建一个二维散点图,然后用点的大小来代表第三个边变量的值。

        我们可以使用symbols()函数来创建气泡图。该函数可以在指定的(x,y)坐标上绘制圆圈图、方形图、星型图、温度计图和箱线图。以绘制圆圈图为例:

        symbols(x,y,circle=radius)

其中x、y和radius是需要设定的向量,分别表示x、y坐标和圆圈半径。

        我们可能需要用面积而不是半径来表示第三个变量,那么按照圆圈半径的公式r=\sqrt{\frac{A}{\pi}}变换即可:

        symbols(x,y,circle=sqrt(z/pi))

其中,z为第三个要绘制的变量。

        下面我们用mtcars数据集来绘制气泡图:x轴代表车重,y轴代表每加仑英里数,气泡大小代表发动机排量。代码如下:

attach(mtcars)
r=sqrt(disp/pi)
symbols(wt,mpg,circles =r,
        inches=0.30,
        fg="white",
        bg="lightblue",
        main="Bubble Plot with point size proportional to displacement",
        ylab="Miles Per Gallon",
        xlab="Weight of Car (lbs/1000)")
text(wt,mpg,rownames(mtcars),cex=0.6)
detach(mtcars)

        选项inches是比例因子,控制着圆圈大小(默认最大圆圈是1英寸)。 text()函数是可选函数,此处用来添加各个汽车的名称。

        一般来说,统计人员使用R语言时都倾向于避免使用气泡图,原因和避免使用饼图一样:相比长度的判断,人们对体积/面积的判断通常更困难。但气泡图在商业应用中非常受欢迎。

你可以使用R语言中的GOplot包来进行富集分析气泡图的绘制。GOplot是一个用于绘制基因本体富集分析结果的R包,可以根据富集分析的结果生成气泡图。 下面是一个使用GOplot包绘制富集分析气泡图的示例代码: 首先,确保已经安装了GOplot包和其他所需的依赖包: ```R install.packages("GOplot") install.packages("ggplot2") install.packages("dplyr") ``` 接下来,加载所需的包: ```R library(GOplot) library(ggplot2) library(dplyr) ``` 然后,准备富集分析结果数据。假设你已经进行了基因本体富集分析,并获得了如下的结果数据: ```R # 示例富集分析结果数据 enrichment_results <- data.frame( GO_term = c("GO:0006954", "GO:0008150", "GO:0003674"), Description = c("Inflammatory response", "Biological process", "Molecular function"), p_value = c(0.001, 0.005, 0.01), gene_count = c(100, 200, 150), query_count = c(500, 500, 500) ) ``` 接下来,使用GOplot包中的`plotGOBubble`函数绘制气泡图: ```R # 绘制气泡图 plotGOBubble( enrichment_results, col = "p_value", size = "gene_count", title = "GO Enrichment Analysis Bubble Plot", x = "Description", y = "GO_term", shading = "p_value", x_text_size = 4, y_text_size = 4, text_color = "black", text_col = "black" ) ``` 这段代码将根据富集分析结果数据绘制出气泡图,气泡的大小表示基因数量,颜色表示显著性水平。 请注意,这只是一个示例代码,你需要根据你自己的富集分析结果数据进行相应的调整。另外,你可能还需要调整气泡图的样式和其他参数,以满足你的需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值