R语言
文章平均质量分 54
木之如水
做个简单的人,享受简单的快乐!
展开
-
单细胞注释之坑-通过AddModuleScore注释细胞
单细胞注释的坑原创 2022-08-24 12:41:02 · 6028 阅读 · 1 评论 -
Enrichment plot的另一种展示
上图大家都不陌生,GSEA分析出来的一个结果图。这里想像大家介绍的不是这个图是什么意思,而是这个图换一种形式展示!#安装R包library(plyr)library(ggplot2)library(grid)library(gridExtra)#设置工作目录setwd(“C:\Users\lexb4\Desktop\singleGene\21.multipleGSEA”)#获取目...原创 2019-06-03 17:36:57 · 3719 阅读 · 0 评论 -
单细胞数据读取(二)之Read10X读不出来dgCMatrix报错
前面我们也遇到过10x的数据读取不进去,如果大家遇到下面的报错,可以通过修改10x的原始重新读取,详细可以见链接https://blog.csdn.net/weixin_43949246/article/details/121225791当然,这次跟大家说的是另一种10x的数据,同样的,我们先说报错,如果出现dgTMatrix的报错,我们该怎么办呢?这里给大家推荐一种解决方法,首先先定义个函数,修改读取的方式read10x_ymc <- function( data.dir = NULL原创 2021-11-18 13:16:59 · 18327 阅读 · 1 评论 -
单细胞10x的数据读取不进去怎么办?
面对越来越多的单细胞数据被上传至NCBI上,单细胞数据挖掘分析也逐渐走入大家的眼中。如何寻找一个合适的单细胞数据用于后续非常重要,这时候大家可能会经常遇到这么一个问题,一个标准的10x的数据,为什么我怎么也读取不进去呢?,这里我们以GSE163974数据为例。首先,进入NCBI,下载该数据集https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi下载之后解压一个一个样本一个文件夹,如GSM4994385样本修改文件名这时候,打开Rstudio#修改工作原创 2021-11-09 13:36:35 · 12792 阅读 · 2 评论 -
火山图绘制
绘制好看的火山图现在有很多软件都可以画火山图,比如说生信人推出的小工具等,很多画图的小工具现在画的火山图也比较号看了,但是个人还是喜欢用R语言画图。我觉得R语言画的图可调整性大,主观意识更强。很多在线的软件画出的图都是作者根据他们自己的感觉排版的,但是R语言不同。下面我以生信人小工具和R语言绘制的火山图为例,简单叙述一下,如何绘制火山图。这里我不详细介绍如何用生信人小工具画图,有想了解的 自行...原创 2019-06-02 22:48:11 · 6273 阅读 · 0 评论 -
R语言去重的方法
R语言去重的方法有很多,这里介绍一种简单的方法1、所有重复的全部去除一个不留index<-duplicated(data.set$Ensembl.Gene.ID)data.set2<-data.set[!index,] 2、非重复的保留,重复的取平均值data<-aggregate(.~Ensembl.Gene.ID,data,mean)3、非重复的保留,重复的取中位数data<-aggregate(.~Ensembl.Gene.ID,data,median)原创 2021-09-07 20:40:55 · 8519 阅读 · 0 评论 -
windows下安装R包的三种方式
R包的存在基本上可以分为三种形式,第一种是存在于cran上的,第二种bioconductor上,第三种存在于github中。一、cran的包1、在线安装install.packages('',chooseCRANmirror(graphics=FALSE))install.packages('R包'),选择镜像即可2、手动安装如果安装一直失败,这时候可以手动安装,手动安装需要下载安装包,这里以XML包为例https://cran.r-project.org/web/packages/XML/原创 2021-09-06 23:02:17 · 15547 阅读 · 4 评论 -
一个带有误差棒的另一个箱图
今天遇到一个图,需要有R绘制一个展示平均数,误差的的点图,并进行数据统计,如下图所示数据格式如下data行为基因,列为样本分组信息如下#先计算pgrou1=as.character(unique(grou$group))[1]grou2=as.character(unique(grou$group))[2]grou1grou2#数据的列数data_col_num=ncol(data)data_col_num#样本的名称sample1=as.character(grou[w原创 2021-02-04 20:50:22 · 666 阅读 · 1 评论 -
R语言绘制不一样的条形图
绘制条形图的方法有很多,这里介绍如果用R语言绘制一个不一样的条形图准备数据,这里为了方便,我们使用已经存在于gcookbook包中的一个数据集首先需要调用该包,如果该包不存在,可以使用下面的方式安装该包install.packages('gcookbook')#调用该包library(gcookbook) #查看该数据cabbage_exp绘制基本的条形图ggplot(cabbage_exp,aes(x=Date, y=Weight, fill=Cultivar))+ geom_b原创 2021-01-26 21:08:20 · 1109 阅读 · 0 评论 -
R语言矩阵的转化
在使用R语言的过程中,我们会遇到很多问题,比如说长宽矩阵的转化,不能每一次都是手动处理,这样也很麻烦,实现长宽矩阵的转化的方式很多,我们只需要掌握其中一对就好。1、宽变长这里我随意设置一个矩阵,作为测试数据#测试数据的生成,10X10data=matrix(1:100,nrow=10)colnames(data)=paste0('sample',1:10)data=data.frame(gene_name=paste0('gene',1:10), data...原创 2020-12-25 13:24:08 · 8176 阅读 · 0 评论 -
linux安装R包的安装
首先在linux系统下,需要安装好R语言,由于依赖环境较多,一般会通过第三方软件库进行安装,比如说miniconda等R包分以下几种:镜像包:一般安装方式为:install.packages(''),选择合适的镜像进行安装bioconductor包:一般安装方式为github包,一般安装方式为:1、确定我们需要安装R包属于哪种?可以先默认用镜像安装的方式,如果出现报错,如下:说明limma包不是镜像包,这时候,可以进入bioconductor官网https://bioconductor.or原创 2020-12-25 13:23:32 · 3922 阅读 · 0 评论 -
ComplexHeatmap包绘制热图(二)
前面我介绍了如何利用ComplexHeatmap包绘制简单的热图,现在我们绘制一个稍微复杂一些的热图首先还是配置数据data=matrix(rnorm(100),nrow=10)colnames(data)=paste0('sample',1:10)rownames(data)=paste0('gene',1:10)head(data)准备另外一个数据anno_row=as.matrix(1:10)rownames(anno_row)=paste0('gene',1:10)colname原创 2020-12-09 20:27:01 · 2900 阅读 · 6 评论 -
ComplexHeatmap绘制热图(一)
讲起热图,大家都会比较熟悉,绘制热图方式比较多,这里介绍的是ComplexHeatmap包绘制热图,首先配置数据,这里的自动生成一个10X10的矩阵data=matrix(rnorm(100),nrow=10)colnames(data)=paste0('sample',1:10)rownames(data)=paste0('gene',1:10)head(data)加载R包library(ComplexHeatmap)Heatmap(data, col=c('blue','原创 2020-12-09 19:39:11 · 2557 阅读 · 2 评论 -
如何绘制venn图
1、https://bioinfogp.cnb.csic.es/tools/venny/index.htmllist1,2,3,4就是数据集的名称,可以直接输入基因的名称,该网站的优点是可以直接输入各个交集的基因,从图中直接点就可以了。2、3、https://bioinfogp.cnb.csic.es/tools/venny/index.html4、https://bioinfogp.cnb.csic.es/tools/venny/index.html5、http://sangerbox.com原创 2020-11-19 23:37:05 · 8036 阅读 · 0 评论 -
气泡图(一)
这里我们绘制的是一个简单的气泡图,其实也就是一个散点图,如下所示为了更加容易讲述,自动生成矩阵dat1<-matrix(rnorm(20),nrow=4)colnames(dat1)=paste0('sample',1:5)rownames(dat1)=paste0('gene',1:4)#查看dat1dat1library(ggplot2)library(data.table)dat2=melt(data = dat1,id.vars=rownames(dat1))col原创 2020-09-01 21:08:00 · 1942 阅读 · 0 评论 -
如何使用ggplot2绘制左右分布的柱状图
#调用ggplot2包library(ggplot2)#读取数据,数据共两列data1<-read.table('1.txt',sep='\t',header = T)head(data1)#增加一组分组,将logFC>0设置为A组,小于0设置为B组,当然这里也可以直接读取一个三列的数据data1$group<-ifelse(data1$logFC>0,'A','B')head(data1)#初步绘图ggplot(data1, aes(pathway, lo原创 2020-07-03 18:47:24 · 7777 阅读 · 0 评论 -
pathview包绘制富集的kegg图
1、首先我们安装pathview包if (!requireNamespace("BiocManager", quietly = TRUE)) install.packages("BiocManager")BiocManager::install("pathview")2、调用pathview包library("pathview")3、准备文件rt=read.table("input.txt",sep="\t",header=T,check.names=F)#查看前6行head(rt)原创 2020-07-03 18:01:01 · 1872 阅读 · 0 评论 -
R语言之数据统计
我们常常会遇到一个问题,比如说给我们一个表格,需要统计满足某一条件的个数,一、介绍一个table函数首先看一下数据data<-read.table('1.txt',sep='\t',header=T,row.names=1)head(data)table(data$names1)table(data$names1,data$names2)二、统计矩阵中每一列中某一个数值的...原创 2020-04-11 20:46:33 · 24426 阅读 · 0 评论 -
R语言之字符处理(一)
字符串的处理一般分为分割,替换,提取,拼接等。R语言和python的应用的是很像。首先,完成上述的功能需要了解下面几个函数。1、切割—strsplit因为是自己学习,所以不准备说的多深入,简单的会使用就好了先有一个字符型的处理对象,如a a=c('gene1_list','gene2_list2') strsplit(a,'_')字符串切割之后就变成了一个list,那怎么取出l...原创 2020-04-11 20:28:10 · 1178 阅读 · 0 评论 -
Pheatmap热图的绘制及如何调整图片
Pheatmap热图的绘制及如何调整图片Pheatmap包是R语言绘制热图比较强大的软件包,当然现在也有很多资料介绍这个包的使用,但是今天我写的重点不是如何使用这个包绘制热图,而是如何绘制出更好看的热图。(我使用的矩阵是1663x594),下面的左图和右图来源于同一个数据。明显可以看出左图更加直观和美观。那么绘制左图的步骤主要分下面三步:第一步,绘制成普通热图:数据格式#读取数据rt=r...原创 2019-05-31 07:37:21 · 17491 阅读 · 2 评论 -
chart.Correlation绘制相关性热图
可以同时显示相关性和显著性的热图我们最终绘制的是如下图所示首先配置的文件如下所示行为样本名,列为基因名的一个表达谱读取文件data = read.table("cor.txt",header=T,sep="\t")data1<-data[,-1]#计算相关性,默认用的是pearson相关性计算cor_matr = cor(data1)cor_matr#保存相关性...原创 2020-04-08 20:36:06 · 14609 阅读 · 8 评论 -
多因素方差分析
多因素方差分析1、准备数据至少需要4列,第一列是蛋白或者基因的id,第二列是相应的表达量,第三列是分组信息,第四列是形状信息。三四两列就是要分析的因素,这里我用R包里面的数据来代替...转载 2020-02-06 10:19:11 · 1568 阅读 · 0 评论 -
如何用R进行单因素方差分析
一、单因素方差分析本次的数据只是一个例子,可能有不符合实际的情况1、配置数据,数据如下所示数据总共为两列,第一列fpkm可以即基因或者是蛋白的表达量,第二列是样本的分组,简单来说就是,在本次数据中1组中有3个值,可以看成的第一组中有三个蛋白或者基因的表达量(group为factor)2、检验数据是否满足正态分布,只有满足正态分布才可以进行下一步shapiro.test(dat$fpkm...原创 2020-02-06 09:55:06 · 5693 阅读 · 0 评论 -
列线图的绘制
该图主要是为了展示:各个位置的氨基酸是什么,说是列线图,不如来说,这是一个展示氨基酸顺序的图首先配置数据file<-read.csv("1.csv" )colors<-colorRampPalette(c("white", "red"))(100)col_order<-colors[order(file[,9])]pdf(file="12345.pdf",width ...原创 2020-01-15 21:40:15 · 3134 阅读 · 0 评论 -
双y轴图的绘制
首先配置数据数据格式如下:library(plotrix)data = read.table("data_A.txt",sep="\t",header=T)tiff(file="data_A.tiff",width = 15,height = 15,units ="cm",compression="lzw",bg="white",res=300)xpos<-1:12twoord...原创 2020-01-15 21:34:34 · 353 阅读 · 0 评论 -
ComplexHeatmap()函数解析
参数:matrix 数字或字符型矩阵(可以是离散或连续型数值)col 定义热图颜色,对离散型数据,col可以是一个向量;对连续型数据,col可以是一个函数,也可以用colorRamp2 函数生成name 热图图例名称na_col = “grey”, #ComplexHeatmap允许数据中含有NA,需要通过参数na_col来控制NA的颜色color_space =...原创 2019-12-30 22:05:01 · 6187 阅读 · 0 评论 -
lncRNA-疾病的关系
现在很多人在得到lncRNA之后很想知道如何将LncRNA和疾病关联到一起,或者说是否真的可以通过lncRNA去推测这些lncRNA的异常是否是导致疾病的发生,大家可以看这篇文献这篇文献讲述的就是一个新的软件lncDisease,可以使用该软件查看我们所关注的lncRNA是否与需要研究的疾病有关系这种关系的确定是通过lncRNA找到miRNA,再由miRNA找到与疾病的关系该软件打开之后...原创 2019-08-12 16:20:21 · 1175 阅读 · 0 评论 -
TCGA数据库ceRNA网络构建(三)ceRNA网络构建
在前面得到差异lncRNA、差异mRNA和差异miRNA的结果,现在我们需要将建ceRNA,思路是:先通过mircode数据库找到差异的lncRNA的靶基因miRNA,并去除非差异的miRNA,然后利用上一步筛选出来的差异的miRNA,利用miRDB,miRTarBase,TargetScan数据库寻找相应的mRNA,去除非差异的mRNA,最后通过两两关系使用cytoscape构建网络我一般会建...原创 2019-08-12 16:08:40 · 6652 阅读 · 4 评论 -
TCGA数据库ceRNA网络构建(二)差异分析
在下载好TCGA的mRNA,lncRNA和miRNA的表达谱数据后,首先需要对他们进行差异分析:主要是使用R语言的edgeR包来做#首先设置筛选条件foldChange=2padj=0.01#设置工作目录setwd("")#加载edgeR包library(“edgeR”)#读取文件rt=read.table(“mRNA_symbol.txt”,sep="\t",header=T,...原创 2019-08-12 15:41:34 · 3533 阅读 · 4 评论 -
带有基因名的火山图
现在很多文章会要求火山图中显示某一个基因名称,或者是某一些基因的名称,这时候我们应该怎么做呢?很多人会选择使用AI或者PS来做,在这里我介绍的是,如何用R绘制这样的图加载R包library(ggpubr)library(ggthemes)如果没有安装,可以使用下面的代码进行安装install.packages(‘ggthemes’)install.packages(‘ggpubr’)...原创 2019-08-07 15:01:47 · 7925 阅读 · 2 评论 -
多因素生存分析图绘制
#1、生存分析和ROC曲线数据格式library(survival)rt=read.table(“risk.txt”,header=T,sep="\t")diff=survdiff(Surv(futime, fustat) ~risk,data = rt)pValue=1-pchisq(diffKaTeX parse error: Expected 'EOF', got '#' at ...原创 2019-06-25 21:44:38 · 6985 阅读 · 1 评论 -
PCA主成分分析
在这里我不去介绍原理,着重讲讲如何做PCA分析,需要什么样的数据1、数据格式如下,很简单就是一个表达谱数据,行名为基因,列名为样本,本次例子中总共有三组信息,有多少组,由你的数据决定#读取表达谱数据data=read.table(“input.txt”,header=T,sep="\t",row.names=1)#转至data=t(as.matrix(data))#将数据的行名单独赋...原创 2019-06-21 15:08:56 · 4909 阅读 · 16 评论