在R中更易于处理的数据形式是data.frame,list并不是太好处理,常用操作就是对它进行循环迭代。
我们前面讲过在python中如何实现测序图标(sequence logos)的绘制。今天给大家介绍一个在R语言中实现DNA,RNA以及氨基酸的logos绘制的R包motifStack。首先我们看下包的安装,主要是通过bioconductor进行安装,具体的代码不再赘述,请参看bioconductor官网。如果能完整展示绘图还需要另外一个ghostscript的软件,其官网(https://www.ghostscript.com/):
对于非结构化的网站中文评论信息,r的中文词频包可能是用来挖掘其潜在信息的好工具,要分析文本内容,最常见的分析方法是提取文本中的词语,并统计频率。频率能反映词语在文本中的重要性,一般越重要的词语,在文本
对于非结构化的网站中文评论信息,r的中文词频包可能是用来挖掘其潜在信息的好工具,要分析文本内容,最常见的分析方法是提取文本中的词语,并统计频率。频率能反映词语在文本中的重要性,一般越重要的词语,在文本中出现的次数就会越多。词语提取后,还可以做成词云,让词语的频率属性可视化,更加直观清晰。
生存分析作为转录组文章中的VIP,太常见了,那么如何批量得到所有候选基因的单因素结果以及可视化结果呢?
上周,曾老师给了我一个8个样本8个组别的转录组数据,即每组只有一个样本的转录组数据。我的处理方式是从中抽取两组进行差异分析,与文中描述的显著差异基因数目以及文中指出的差异基因进行比较,看看分析结果是否大致相同。但是,其实我有些没有理解到老师的意思。老师的初衷是想同原文一样批量绘制「同个部位」两两组别间的差异分析结果,看看其差异基因数量的分布,然后进行比较。在看到我理解偏差后,老师还飞快地给我提供了单样本批量差异分析的脚本。「因此,本周我们主要重点展示如何批量进行单样本差异分析以及批量绘制火山图并拼图」。
2009年8月,新浪微博(micro-blog)开始服务,随后各家微博服务在国内得到广泛传播和应用"。微博具有文本信息短(140字包括标点符号)、词量少、裂变式传播、传播速度快、用词不规范等特征,使原文本可视化研究技术框架中的聚类或分类方法提取热点话题变得困难。
互联网时代,大量的新闻信息、网络交互、舆情信息以文本形式存储在数据库中,如何利用数据分析和文本挖掘的算法,将海量文本的价值挖掘出来,成为我们团队近期的一个研究方向,本案例就是我们的一个尝试。
没想到我写的帖子竟然被健明大大pick啦,激动之余还是激动。一直以来都觉得自己是弱弱的小透明,执着的学一点就在简书上更一点,和众多在生信路上自学的伙伴抱头前(tong)行(ku)…… 扯远了,补一下健明大大给我的建议,用upsetR绘制crosstalk
看网络上很多朋友都在用“Rwordseg”程序包进行分词练习。我也忍不住进行了一次实验。 首先,肯定是装程序包了,个人感觉是废话,纯凑字数。 如下是我进行的联系,在网上找了一篇关于范爷的专访,看看能看出来什么吧。 =========================================================================== #第一步,文本分词 require(Rwordseg) test<- readLines("E:\\FBB1.txt",encodin
看网络上很多朋友都在用“Rwordseg”程序包进行分词练习。我也忍不住进行了一次实验。 首先,肯定是装程序包了,个人感觉是废话,纯凑字数。 如下是我进行的联系,在网上找了一篇关于范爷的专访,看看能看出来什么吧。 =========================================================================== #第一步,文本分词 require(Rwordseg) test<- readLines("E:\\FBB1.txt",encoding='UTF-8') #读取数据 res = test[test != " "] #读取test,且剔除test=“ ” words = unlist(lapply(X = res,FUN = segmentCN)) #分词,并调整表结构,将有相同词频的词归类 word = lapply(X = words,FUN = strsplit," ") #给每个词根据顺序赋个顺序指 v = table(unlist(word)) #重建表 v = sort(v,deceasing=T) #降序排列 v[1:100] head(v) #给每列字段赋标题 d = data.frame(word = names(v),freq = v) #更改标题 write.csv(d,"E:\\学习.csv",header = T) #导出数据,为下一步做准备 #第二部,做文本云图 require(wordcloud) dd = tail(d,150) #取数据框的最后150行数据 op = par(bg = "lightyellow") #背景为亮黄色 #rainbowLevels = rainbow((dd$freq)/(max(dd$freq) - 10)) #不知道什么意义,删除后图形无太大变化 wordcloud(dd$word, dd$freq, col = rainbow(length(d$freq))) par(op) ===================================================================================== 成图
在99%置信水平[...]上的预期缺口[…]对应于大约99.6%至99.8%的风险价值
在混合效应逻辑回归用于建立二元结果变量的模型,其中,当数据被分组或同时存在固定和随机效应时,结果的对数几率被建模为预测变量的线性组合 ( 点击文末“阅读原文”获取完整代码数据******** ) 。 最近我们被客户要求撰写关于混合效应逻辑回归的研究报告,包括一些图形和统计输出。
前面介绍过整合scRNA-seq和空间转录组数据主要有(1)映射(Mapping)和(2)去卷积(Deconvolution)两种方法。前面空转 | 结合scRNA完成空转spot注释(Seurat Mapping) & 彩蛋(封面的空转主图代码)介绍了使用Seurat Mapping的方式进行spot注释,本文介绍一种经典的解卷积方法-SPOTlight。
但是我们直接是对gsea分析结果的最终es值在可视化,所以是行是通路,列是癌症的,数值是gsea的es打分的矩阵。对初学者来说, 跳过了大量细节,所以跟这个教程会比较吃力,有粉丝就提问了希望可以对这些通路在在具体的癌症里面细化展示,比如绘制gsea图,热图和火山图。
最近将使用的R版本升级到4.0+之后,遇到了一个以前从未遇到的报错,报错信息如下所示:
在混合效应逻辑回归用于建立二元结果变量的模型,其中,当数据被分组或同时存在固定和随机效应时,结果的对数几率被建模为预测变量的线性组合(点击文末“阅读原文”获取完整代码数据)。
单细胞常见的可视化方式有DimPlot,FeaturePlot ,DotPlot ,VlnPlot 和 DoHeatmap几种 ,Seurat中均可以很简单的实现,但是文献中的图大多会精美很多。
同理,我们会问另外一个问题,就是癌基因都是肿瘤的风险因子吗,它高表达会导致癌症比如死的越来越快吗?反之,抑癌基因一定是肿瘤的保护因子吗,它表达量越高癌症病人越受到保护吗,因为想当然的我们会认为抑癌基因能抑制癌症嘛,所以它表达量越高越好。
总共4个分组的差异分析,频率为4的基因就是共同的差异表达基因。我们选择3个来显示:
我简单看了看页面(https://bis.zju.edu.cn/binfo/textbook/)上面的对应的各个章节的ppt路径,很清晰:
单次差异分析其实很容易可视化,火山图即可,大家都非常熟悉了。但是单细胞转录组数据分析首先就会降维聚类分群成为了很多个单细胞亚群,比如昨天我们分享的:使用单细胞技术发文章不要纠结于样品数量 就是总共就4个病人,8个单细胞样品,不到6万的细胞数量,29个群后归类成:
之前在公众号中分享过绘制LOGO的R包"gglogo",详情请戳蓝字“绘制序列标识图-gglogo”。今天再给大家分享一个R包-"ggseqlogo",绘制序列LOGO完全无需美颜。这个R包是ggplot2的扩展包,应用起来简单明了,下边就给大家详细测试下,看看是不是那么美,那么好!
上面的代码获取全部的书籍的大标题和小标题,接下来就是针对它们的标题内容进行一个简单的汇总整理。简单的看了看生物信息学相关非常少:
在不同癌症里面,蛋白质编码相关基因数量一直在一万八附近,而非编码基因数量跨度比较大,从一万二到两万七不等。因为非编码基因的组织病人特异性都很强,恰好最近看到了一个很有意思图可以说明这件事,如下所示:
Hepatocytes direct the formation of a pro-metastatic niche in the liver. Nature 2019 Mar;567(7747):249-252.
我们将在已有的数十篇从主观角度对比Python和R的文章中加入自己的观点,但是这篇文章旨在更客观地看待这两门语言。我们会平行使用Python和R分析一个数据集,展示两种语言在实现相同结果时需要使用什么样的代码。这让我们了解每种语言的优缺点,而不是猜想。在Dataquest,我们教授两种语言,并认为两者在数据科学工具箱中都占据各自的地位。 我们将会分析一个NBA数据集,包含运动员和他们在2013-2014赛季的表现,可以在这里下载这个数据集。我们展示Python和R的代码,同时做出一些解释和讨论。事不宜
本文章旨在更客观地看待这两门语言。我们会平行使用Python和R分析一个数据集,展示两种语言在实现相同结果时需要使用什么样的代码。这让我们了解每种语言的优缺点,而不是猜想。 我们将会分析一个NBA数据集,包含运动员和他们在2013-2014赛季的表现,可以在这里下载这个数据集。我们展示Python和R的代码,同时做出一些解释和讨论。 读取CSV文件 ---- R nba <- read.csv("nba_2013.csv") Python import pandas nba = pandas.read
发表论文一般需要三步,写,投,改。好不容易定好了题,好不容易算完了数据,好不容易改完了稿,却不知道如何选择最适合自己的期刊,实在有一些可惜。因此,对本领域发文情况做一次检索是非常必要的。
我一直在寻找一种直观的方法来绘制流程中状态之间的流程或连接。R软件恰好满足了我的需求。
通常,bagging 与树有关,用于生成森林。但实际上,任何类型的模型都有可能使用bagging 。回顾一下,bagging意味着 "boostrap聚合"。因此,考虑一个模型m:X→Y。让
其实简单的R 拼图,我喜欢patchwork 的加减乘除。但这种4x4 布局的图片,对象又多,一个个创建不现实;代码写起来,也非常不优雅。
经常有对比R,Python和Julia之间的讨论,似乎R语言在这三者之中是最为逊色的,实则不可一概而论。
install.packages("devtools");
本文大纲: 问题背景 数据获取 数据信息描述 分词分析 短评文本词汇关联分析 存在的问题 用的到R package有: Rwordseg:中文分词 wordcloud:词频可视化 arules & arules :关联分析及可视化 1. 问题背景 《王的盛宴》上映后,网络评论呈现两极化趋势,而负责该片宣传方则认为这其中暗藏“水军”搅局,为了挽回口碑,雇佣水军在豆瓣刷分。双方水军对战如何,只有获取到原始数据才能一探究竟。本文获取到豆瓣关于《王的盛宴》影评部分数据,并作简要分析。 2. 数据获取 数据的获
文章标题:《Single-cell analysis supports a luminal-neuroendocrine transdifferentiation in human prostate cancer》
考虑到有大量研究生即将开学,可能要面对老板的批量文献查阅任务,在此适时为大家安利PubMed文件检索利器(提高效率,增加摸鱼时间)。
到目前为止,单细胞转录组费用仍然是居高不下,所以绝大部分情况下大家做两个分组,每个组内也就是三五个样品而已。这样的话两个分组之间的不同单细胞亚群的比例差异其实往往是需要最后使用流式细胞等价格相对低廉的实验技术去扩大样品队列去验证一下。 而不同单细胞样品的不同亚群比例差异,前面我们介绍过:展示细胞比例变化之balloonplot和马赛克图,以及 展示细胞比例变化之桑基图,但它们通常并没有分组比较。最近看到了2020发表在NC杂志的文章:《Integrated single cell analysis of b
韦恩图(venn)又称文氏图,是科研文章中最常见的图,可以用来表示多个数据集之间的关系。当然也可以进行集合运算。一般用于展示2-5个集合之间的交并集关系。集合数目更多时,将会比较难分辨,更多集合的展示方式一般使用upSetView。绘制韦恩图的工具有很多,这里小编先给没有任何编程基础的人推荐几款比较好用的网络工具。
文章标题:《Single-cell RNA sequencing reveals the epithelial cell heterogeneity and invasive subpopulation in human bladder cancer》
GSVA对数据库中的每一个通路在每个样本中算了一个值,相当于GSEA的enrichment score, 如果得分越高,说明这个通路在该样本中被改变的越严重。
#调入分词的库 library("rJava") library("Rwordseg") #调入绘制词云的库 library("RColorBrewer") library("wordcloud") #读入数据(特别注意,read.csv竟然可以读取txt的文本) myfile<-read.csv(file.choose(),header=FALSE) #预处理,这步可以将读入的文本转换为可以分词的字符,没有这步不能分词 myfile.res <- myfile[myfile!=" "] #分词,并将分词结果转换为向量 myfile.words <- unlist(lapply(X = myfile.res,FUN = segmentCN)) #剔除URL等各种不需要的字符,还需要删除什么特殊的字符可以依样画葫芦在下面增加gsub的语句 myfile.words <- gsub(pattern="http:[a-zA-Z\\/\\.0-9]+","",myfile.words) myfile.words <- gsub("\n","",myfile.words) myfile.words <- gsub(" ","",myfile.words) #去掉停用词 data_stw=read.table(file=file.choose(),colClasses="character") stopwords_CN=c(NULL) for(i in 1:dim(data_stw)[1]){ stopwords_CN=c(stopwords_CN,data_stw[i,1]) } for(j in 1:length(stopwords_CN)){ myfile.words <- subset(myfile.words,myfile.words!=stopwords_CN[j]) } #过滤掉1个字的词 myfile.words <- subset(myfile.words, nchar(as.character(myfile.words))>1) #统计词频 myfile.freq <- table(unlist(myfile.words)) myfile.freq <- rev(sort(myfile.freq)) #myfile.freq <- data.frame(word=names(myfile.freq),freq=myfile.freq); #按词频过滤词,过滤掉只出现过一次的词,这里可以根据需要调整过滤的词频数 #特别提示:此处注意myfile.freq$Freq大小写 myfile.freq2=subset(myfile.freq, myfile.freq$Freq>=10) #绘制词云 #设置一个颜色系: mycolors <- brewer.pal(8,"Dark2") #设置字体 windowsFonts(myFont=windowsFont("微软雅黑")) #画图 wordcloud(myfile.freq2$word,myfile.freq2$Freq,min.freq=10,max.words=Inf,random.order=FALSE, random.color=FALSE,colors=mycolors,family="myFont")
根据上面的生存分析的介绍可以大概的了解了生存分析的概念和原理以及KM曲线的绘制。但是生存分析中COX回归的结果不容易直接输出,本文简单的介绍一种自定义函数,批量并且规则的输出结果的方式。
我们以大家熟知的pbmc3k数据集为例。大家先安装这个数据集对应的包,并且对它进行降维聚类分群,参考前面的例子:人人都能学会的单细胞聚类分群注释 ,而且每个亚群找高表达量基因,都存储为Rdata文件。标准代码是:
📷 视频地址:http://mpvideo.qpic.cn/0bc3ueaacaaagqalujrtqfrvbiodagqqaaia.f10002.mp4? 代码: library(TCGAbioli
领取专属 10元无门槛券
手把手带您无忧上云