科研绘图
文章平均质量分 67
天桥下的卖艺者
4个R包的编写者。发布关于SPSS、R语言、stata等相关科研的文章。今后的方向聚焦于:1.机器学习和深度学习 2.各种模型算法研究 3.各种科研图形绘制 4.R语言编程和R包编写 5.数据挖掘
展开
-
R语言ggpubr包优雅绘制带统计数据的箱线图
这是R软件自带的数据,描述维生素C对豚鼠牙齿生长的影响,结果是60只豚鼠的成牙本质细胞(负责牙齿生长的细胞)的长度。ggpubr包是个很经典的R包,能绘制专业的论文绘图,它是对ggplot2进行了加强,R包的说明也是介绍用于创建和自定义基于“ggplot2”的出版物绘图,就是个为SCI而生的R包呀,今天咱们使用ggpubr绘制专业的论文需要的带统计数据的箱线图。假如咱们想进行更多的组别比较,比如说对不同的计量进行比较,先要进行设定要比较的组,这里设定0.5,1,2这3个组比较。Dose:药物的剂量。原创 2023-09-18 14:01:24 · 1435 阅读 · 0 评论 -
R语言linkET包绘制相关性组合网络热图
能绘制热图的R包很多,既往我们已经介绍了《R语言pheatmap包绘制热图》,今天咱们来介绍一下R语言linkET包绘制相关性组合网络热图。相关性热图的意思热图和其他数据的关联性,比较的是多数据间的内在关系。下面咱们来进行相关性的网络热图绘制,绘制前要进行一个曼特尔试验,R包作者是这样说的,相异矩阵的Mantel和偏Mantel检验。linkET包是我们的一个国人写的,目前需要使用devtools::install_github下载,作者对包的描述是万物皆可互联,还挺有意思的。这里选3,不更新就可以了。原创 2023-08-04 09:46:24 · 3628 阅读 · 0 评论 -
R语言ggalluvia包优雅的绘制桑基图
左边代表留出点,右边代表流入点,中间带宽表示流入量的大小,因此,我们通过桑基图清晰的看到两个节点的数据流动。我们来看下数据,car就是汽车售价,age是年龄,gender是性别,inccat是收入,这里分成4个等级,ed是教育程度。ggalluvial包绘制桑基图还是比较简单的,我们先要设置axis1流出节点,和axis2流入节点。这样一个最简单的桑基图就画好了,我们给它进一步设置宽度,加个方框和字体,fill这里表示方框的颜色。我们处理一下数据,把分类变量转换成因子,然后加上一个标签。原创 2023-07-22 08:34:43 · 7593 阅读 · 1 评论 -
R语言灵活绘制ROC图像
在科研分析时,常使用ROC曲线评价诊断试验效果,对应使用R软件pROC包中的roc()函数计算AUC值及置信区间等信息,同时使用ggroc()函数在ggplot框架下进行可视化。虽然ggroc()兼容ggplot()语法,但在使用ggroc()时,实际上需使用roc()函数的分析结果整体作为参数进行绘图。若想在同一张图上添加其他图层、修改默认ggroc()默认输出图形等可能存在困难。例如,可能在图层叠加时出现“Can’t addto a ggplot object”的报错。转载 2022-09-06 09:54:21 · 3287 阅读 · 0 评论 -
R语言ggplot绘制直方图+限制立方样条+双坐标轴图
于是产生了自己通过ggplot来画图的想法,难点在于直方图和RCS的数据量级不一样,放在同一张图需要通过等比例进行映射,然后通过双坐标表示。我们继续通过我们的年龄与吸烟数据来演示(公众号回复:吸烟数据3,可以获得数据),我们先导入R包和数据。于是我查了一下相关文章,目前的画法主要都是通过plot函数来画,不仅作图不够美观,而且画得十分复杂,对新手不够友好,而且很难画出下面这种双叠加的图形。这篇文章的起因是看到某收费软件画的一个直方图+限制立方样条的叠加图,觉得蛮好看的,就是下图这个样子。...转载 2022-08-05 15:01:56 · 3768 阅读 · 0 评论 -
R语言mgcv包广义可加模型对分类曲线进行拟合
前段时间我已经发表了一篇文章《利用广义可加模型对分类数据进行曲线拟合》,那时是使用vgam包拟合的,后面查资料突然发现vgam包的vgam函数和mgcv包的gam函数还是有区别的,最主要的一个是vgam函数不能进行交互分析,做出来的图和gam函数还是有区别的,因此重发一篇。数据变量很多,我解释几个我等下要用的,HBP是否发生高血压,结局指标,AGE年龄,是我们的协变量,ALH某种治疗方案,分为0和1。这样一个用于发表的图形就做好了,是不是和上面的论文的图形一模一样呀,提取数据后生成预测值。......原创 2022-07-21 09:45:17 · 4220 阅读 · 1 评论 -
R语言快速绘制多因素回归分析森林图(1)
age表示年龄,pathsize表示病理肿瘤大小(厘米),lnpos表示腋窝淋巴结阳性,histgrad表示病理组织学等级,er表示雌激素受体状态,pr表示孕激素受体状态,status结局事件是否死亡,pathscat表示病理肿瘤大小类别(分组变量),ln_yesno表示是否有淋巴结肿大,time是生存时间,后面的agec是我们自己设定的,不用管它。这个包自带了一个多因素回归分析的analyse_multivariate函数,用它来拟合模型,这里注意一下,这个函数是用逗号分隔的,不是用加号。...原创 2022-07-19 13:21:28 · 6978 阅读 · 3 评论 -
利用广义可加模型对分类数据进行曲线拟合
收到粉丝投稿要求我做个这样的图,来自于2017年发表在Eur Urol期刊(SCI IF=17.9分)。The Impact of Local Treatment on Overall Survival in Patients with Metastatic Prostate Cancer on Diagnosis: A National Cancer Data Base Analysis. Eur Urol, 2017.目前常用的曲线拟合主要是广义可加模型和RCS,既往我已经介绍了《利用重抽样获取m原创 2022-07-12 12:38:49 · 1844 阅读 · 0 评论 -
R语言手动绘制分类Logistic回归模型的校准曲线(Calibration curve)(3)
校准曲线图表示的是预测值和实际值的差距,作为预测模型的重要部分,目前很多函数能绘制校准曲线。一般分为两种,一种是通过Hosmer-Lemeshow检验,把P值分为10等分,求出每等分的预测值和实际值的差距另外一种是calibration函数重抽样绘制连续的校准图我们既往文章《手动绘制R语言Logistic回归模型的外部验证校准曲线(Calibration curve)(2)》已经介绍了如何绘制外部验证模型的校准曲线,今天我们来介绍一下如何绘制分类的校准曲线,如下面的图其实如果我们了解了绘图原原创 2022-06-27 09:39:57 · 8599 阅读 · 10 评论 -
R语言绘制带误差线的条形图
条形统计图是用一个单位长度表示一定的数量,根据数量的多少画成长短不同的直条.带误差的条形图可以通过误差线来判断显著性。继续使用我们的汽车销售数据(公众号回复:汽车销售,可以获得该数据)来演示,先导入数据我们来看下数据,car就是汽车售价,age是年龄,gender是性别,inccat是收入,这里分成4个等级,ed是教育程度。假设我们想知道不同教育水平的男女在买汽车的价格上有什么不同,可绘制带误差和可信区间的折线图,关键就是要算出它的标准误se和95%ci.我们先生成一个计算标准误se和95%ci原创 2022-06-27 09:30:49 · 2141 阅读 · 0 评论 -
R语言绘制带误差和可信区间的折线图
论文中折线图可以表示两个变量间的变化关系,带误差或可信区间的折线图表示其中一个变量的变化范围,今天我们通过R语言来演示一下。继续使用我们的汽车销售数据(公众号回复:汽车销售,可以获得该数据)来演示,先导入数据library(foreign)library(ggplot2)library(tidyverse) bc <- read.spss("E:/r/test/tree_car.sav", use.value.labels=F, to.data.fram原创 2022-05-23 10:17:59 · 7028 阅读 · 3 评论 -
R语言绘制火山图
火山图在SCI文章中经常出现,其实火山图就是个散点图,通过不同颜色的散点来表示基因的差异。通常横坐标用log2(fold change)表示,差异越大的基因分布在两端,纵坐标用-log10(pvalue)表示,T检验显著性P值的负对数。通常差异倍数越大的基因T检验越显著,所以往往关注左上角和右上角的值。今天我们通过R来绘制火山图,先导入我们的数据和R包library(ggplot2)library(ggrepel)bc<-read.csv("E:/r/test/huoshantu.csv",原创 2022-03-09 09:30:45 · 12110 阅读 · 1 评论 -
SPSS联合Excel进行logistic回归亚组交互效应(交互作用)的可视化分析
交互作用效应(p for Interaction)在SCI文章中可以算是一个必杀技,几乎在高分的SCI中必出现,因为把人群分为亚组后再进行统计可以增强文章结果的可靠性,进行可视化后可以清晰的表明变量之间的关系。不仅如此,交互作用还可以使用来进行数据挖掘。在既往文章中,我们已经介绍了怎么使用R语言对交互作用进行可视化分析(见下图)后台有粉丝问我能不能用SPSS,不用代码,直接界面操作绘制logistic回归交互项(交互作用)的可视化分析图。SPSS可以进行计算出数据,但是绘图能力不行,多变量的数据拟合图不原创 2021-07-15 10:01:20 · 11987 阅读 · 8 评论 -
R语言基于ggpubr包绘制棒棒糖图
棒棒糖图有些类似我们传统的柱状图,由一根线条和一个圆形组成,比传统柱状图能表达更多信息。特别是在分类数目比较多的时候,如基因表达等,棒棒糖图更能很好的展示数据。今天我们使用R语言ggpubr包来绘制棒棒糖图,ggpubr包为ggplot的增强包,据说这是个为SCI而生的包,可以绘制出许多非常专业的SCI绘图,而已自带了很多期刊的配色方案,能做出编辑都称赞的图和配色,今后的我们将一一介绍。今天,我们继续使用之前的肉类数据(关注公众号回复:肉类数据可以获得该数据),在既往文章中,我们已经对该数据进行了K均值原创 2021-06-25 10:20:41 · 1780 阅读 · 2 评论 -
ggplot绘制小提琴图
我们既往已经讲过使用ggplot绘制箱型图,今天我们来聊聊ggplot绘制小提琴图,小提琴图在SCI论文中非常常见,特别是基因类的文章。小提琴图其实可以算是箱型图的变种(等于:箱型图+核密度图),箱型图展示了数值和分位,小提琴图则是在这个基础上增加不同方位的密度,使得数据一目了然。这种图表结合了箱形图和密度图的特征,主要用来显示数据的分布形状。中间的黑色粗条表示四分位数范围,从其延伸的幼细黑线代表 95% 置信区间,而白点则为中位数。我们今天来说说怎么使用R语言绘制小提琴图,继续使用我们的汽车销售原创 2021-05-25 09:55:13 · 4721 阅读 · 1 评论 -
R语言绘制限制立方条图2(基于logistic回归和线性回归)
临床上,因变量和临床的结局有时候不是线性关系,而回归模型有一个重要的假设就是自变量和因变量呈线性关联,因此非线性关系模型用回归分析来拟合受到限制。因此,一个更好的解决方法是拟合自变量与因变量之间的非线性关系,限制性立方(Restricted cubic spline,RCS)就是分析非线性关系的最常见的方法之一。既往教程中我们介绍了使用R语言在COX回归模型基础上绘制限制立方条图,后台有不少粉丝说道不会制作logistic回归和线性回归的限制立方条图,我们今天分别来讲讲。先讲logistic回归绘制立方原创 2021-05-17 16:11:57 · 23365 阅读 · 94 评论 -
ggplot绘制箱线图2(双数据箱线图,子母图)
上一节我们已经简单已介绍了箱线图原理和单个数据的箱线图表示,今天我们来介绍多数据的箱线图和一些其他扩展,继续使用我们原来的汽车销售数据,我们先把数据和R包导入,library(foreign)library(ggplot2)bc <- read.spss("E:/r/test/tree_car.sav", use.value.labels=F, to.data.frame=T) head(bc,20)我们来看下数据,car就是汽车售价,age是年龄,原创 2021-05-05 11:13:41 · 3378 阅读 · 0 评论 -
ggplot绘制箱线图
箱线图(Box-plot)也叫箱须图,由美国科学家john.w.tukey1977年在论文中首次展示,能显示出数据的最大值、最小值,中位数及上下四分位数,因形状像箱子得名。箱线图箱线图在SCI论文中应用非常广泛。第一四分位数(Q1),又称较小四分位数,等于该样本中所有数值由小到大排列后第25%的数字。第二四分位数,又称中位数,等于该样本中所有数值由小到大排列后第50%的数字。第三四分位数(Q3)又称较大四分位数,等于该样本中所有数值由小到大排列后第75%的数字。逸出值,是根据四分位间距(inter原创 2021-04-29 10:06:16 · 7318 阅读 · 2 评论 -
ggplot制作条形图
R语言的一个优势就是在于其强大的制图功能,其中ggplot以强大的制图能力著称,ggplot制图系列我会一直慢慢的写下去,除此之外还会更新GraphPad Prism制图系列。今天来说下,ggplot制作条形图,条形图也叫柱形图,用于显示各项之间的比较情况,常见的有单数据条形图,多数据条形图,堆积条形图,百分比条形图。今天我们使用SPSS自带的汽车销售数据来演示条形图制作,需要使用tidyverse包我们先导入数据library(foreign)library(tidyverse) bc <原创 2021-04-13 10:25:54 · 2863 阅读 · 0 评论 -
R语言使用ggDCA包制作COX回归模型临床决策曲线
我们既往已经在文章《手把手教你使用R语言制作临床决策曲线》介绍了怎么使用rmda包制作了临床决策曲线,但是rmda包只能制作logistic回归模型的临床决策曲线,原来制作COX回归模型的stdca包R上下载不到。有粉丝留言向我推荐了ggDCA包,今天来演示一下怎么使用ggDCA包制作COX回归模型临床决策曲线。ggDCA包由我们R语言大神,南方医科大学的博导Y叔制作,使用ggDCA包可以制作logistic回归模型和COX回归模型临床决策曲线,作图很简单,其中也让我体会到了制图的原理,目前ggDCA还在原创 2021-03-22 09:36:01 · 10904 阅读 · 52 评论 -
SEER数据库中肿瘤发病率计算并绘制发病率趋势图
我们上一张已经讲过如何把提取的数据随机分组,今天来讲讲怎么使用SEER数据库计算发病率趋势,在这之前,我们先来看一篇例文,题目:Incidence, Prognostic Factors and Survival Outcome in Patients With Primary Hepatic Lymphoma作者计算了1983-2015发病率年度百分比变化和发病率走势图,使得发病率走势一目了然,是个加分项。我们今天来讲讲怎么像文章一样从SEER数据库提取发病率数据,并做出发病率走势图。首先打开.原创 2021-02-22 10:47:19 · 9357 阅读 · 10 评论 -
R语言样条回归并绘制限制立方条图
临床上,因变量和临床的结局有时候不是线性关系,而回归模型有一个重要的假设就是自变量和因变量呈线性关联,因此非线性关系模型用回归分析来拟合受到限制。因此,一个更好的解决方法是拟合自变量与因变量之间的非线性关系,限制性立方样条(Restricted cubic spline,RCS)就是分析非线性关系的最常见的方法之一。最近有粉丝问有序多分类变量可以应用在限制立方条图吗?是可以的。我们可以通过分组可视化来显示数据的差异性。需要用到splines、rms、ggplot2这三个包,要先下载好,首先加载包和导入原创 2021-02-18 10:24:04 · 16245 阅读 · 19 评论