首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >生信技能树R作业答案-中级

生信技能树R作业答案-中级

作者头像
Y大宽
发布于 2019-06-02 06:59:05
发布于 2019-06-02 06:59:05
1.9K01
代码可运行
举报
文章被收录于专栏:Y大宽Y大宽
运行总次数:1
代码可运行

作业在这里

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
rm(list = ls()) 
options()$repos 
options()$BioC_mirror
options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/")
options("repos" = c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/"))
options()$repos 
options()$BioC_mirror
# https://bioconductor.org/packages/release/bioc/html/GEOquery.html
if (!requireNamespace("BiocManager", quietly = TRUE))
  install.packages("BiocManager")
BiocManager::install("KEGG.db",ask = F,update = F)
BiocManager::install(c("GSEABase","GSVA","clusterProfiler" ),ask = F,update = F)
BiocManager::install(c("GEOquery","limma","impute" ),ask = F,update = F)
BiocManager::install(c("genefu","org.Hs.eg.db","hgu133plus2.db" ),ask = F,update = F)
options()$repos
install.packages('WGCNA')
install.packages(c("FactoMineR", "factoextra"))
install.packages(c("ggplot2", "pheatmap","ggpubr"))
library("FactoMineR")
library("factoextra")
library(GSEABase)
library(GSVA)
library(clusterProfiler)
library(genefu)
library(ggplot2)
library(ggpubr)
library(hgu133plus2.db)
library(limma)
library(org.Hs.eg.db)
library(pheatmap)

Task1: 通过R注释包从ensemble到symbol

请根据R包org.Hs.eg.db找到下面ensembl 基因ID 对应的基因名(symbol)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# ENSG00000000003.13
# ENSG00000000005.5
# ENSG00000000419.11
# ENSG00000000457.12
# ENSG00000000460.15
# ENSG00000000938.11
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
library(org.Hs.eg.db)
ls("package:org.Hs.eg.db")
g2s <- toTable(org.Hs.egSYMBOL)
g2e <- toTable(org.Hs.egENSEMBL)
head(g2s)
head(g2e)
g2se <- merge(g2s, g2e, by='gene_id')
head(g2se)
ensID1 <- c("ENSG00000000003.13","ENSG00000000005.5","ENSG00000000419.11",
           "ENSG00000000457.12","ENSG00000000460.15","ENSG00000000938.11")
ensID <- data.frame(ensID1)

Method1:for循环

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
for (i in 1:nrow(ensID)) {
  ens_i <- strsplit(as.character(ensID[i,1]),'.',fixed = TRUE)[[1]][1]
  ensID[i,2]<-ens_i
}
ensID$ensembl_id  <- NULL
colnames(ensID)[1] <- 'ensembl_id' 
ensID_last <- merge(ensID, g2se, 'ensembl_id')
ensID_last

Method2:apply函数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ensID$ensembl_id <- unlist(lapply(ensID1,  function(x) {strsplit(as.character(x),'.',fixed = TRUE)[[1]][1]
  }))
ensID_last2 <- merge(ensID, g2se,"ensembl_id")

Task2:由探针找到对应的基因名

根据R包hgu133a.db找到下面探针对应的基因名(symbol) 053_at 117_at 121_at 1255_g_at 1316_at 1320_at 1405_i_at 1431_at 1438_at 1487_at 1494_f_at 1598_g_at 160020_at 1729_at 177_at

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
library(hgu133a.db)
ids <- toTable(hgu133aSYMBOL)
head(ids)
myids <- read.table(file = "my_probe_ids.txt")
colnames(myids) <- "probe_id"
myid_sym <- merge(myids, ids, by="probe_id")
head(myid_sym)

Task3 找某个基因在表达矩阵中的值并分组绘图

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 找到RCLL内置的数据集的表达矩阵里面的TP53基因的表达量,并且绘制在 progres.-stable分组的boxplot图
# 提示:
# suppressPackageStartupMessages(library(CLL))
# data(sCLLex)
# sCLLex
# exprSet=exprs(sCLLex)   
# library(hgu95av2.db)

以下是代码部分

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
rm(list=ls())
library(CLL)
data(sCLLex)
expr <- exprs(sCLLex)
pdata <- pData(sCLLex)
head(expr)
library(hgu95av2.db)
probe_sym <- toTable(hgu95av2SYMBOL)
tp53_probes <- probe_sym[grep("TP53$", probe_sym$symbol),]
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# probe_id symbol
# 966    1939_at   TP53
# 997  1974_s_at   TP53
# 1420  31618_at   TP53
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
boxplot(expr['1939_at',]~pdata$Disease)

ggpubr http://www.sthda.com/english/articles/24-ggpubr-publication-ready-plots/

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
library(ggpubr)
tp53_pub <- cbind(expr['1939_at',], as.data.frame(pdata$Disease))
colnames(tp53_pub) <- c('Expression',"Group")
p <- ggboxplot(tp53_pub, y='Expression', x='Group',fill = 'Group', 
            palette = 'aaas' ,add = 'jitter')
# "npg", "aaas", "lancet", "jco", "ucscgb", "uchicago", "simpsons" "rickandmorty"
p + stat_compare_means()
p + stat_compare_means(method = 't.test')
#the violin plot
my_comparisons <- list(c("progress.", "stable"))
ggviolin(tp53_pub, y='Expression', x='Group',fill = 'Group', 
         palette = 'aaas' ,add = 'boxplot', add.params = list(fill = 'white'))+
         stat_compare_means(comparisons = my_comparisons, method = "t.test")+
         stat_compare_means(label.y = 5)

Task4:对任意肿瘤的任意基因进行分类做图(用cBioPortal)

cbioportal下载,即利用在线数据(下载),本地进行改观 http://www.cbioportal.org/index.do Select Studies 选项中输入Breast Invasive Carcinoma PanCancer 搜索并选中目标数据集 Enter Genes 数据框中输入目标基因BRCA1 点击Submit Query提交搜索请求 结果页面中,Plots选项卡选择合适数据进行绘图,或下载数据

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
rm(list = ls())
options(stringsAsFactors = F)
a=read.table('e4-plot.txt',sep = '\t',fill = T,header = T)
View(a)
colnames(a)=c('id','subtype','expression','mut')
dat=a
library(ggstatsplot)
ggbetweenstats(data =dat, x = subtype,  y = expression)
library(ggplot2)
ggsave('plot-again-BRCA1-TCGA-BRCA-cbioportal.png')

Task5:某基因在某肿瘤中的生存曲线作图美化

找到TP53基因在TCGA数据库的乳腺癌数据集的表达量分组看其是否影响生存 提示使用:http://www.oncolnc.org/ 值得商榷的问题,low和high分组问题,若50:50分组,无差异 个人理解,这里不必平分,可以30:30,也就是就挑高和低的30%,这是可以说明问题的

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
rm(list = ls())
options(stringsAsFactors = F)
a=read.table('BRCA_7157_50_50.csv',sep = ',',fill = T,header = T)
#View(a)
dat=a
library(ggplot2)
library(survival)
library(survminer) 
table(dat$Status)
dat$Status=ifelse(dat$Status=='Dead',1,0)
sfit <- survfit(Surv(Days, Status)~Group, data=dat)
sfit
summary(sfit)
ggsurvplot(sfit, conf.int=F, pval=TRUE)
ggsave('survival_TP53_in_BRCA_TCGA.png')

Task6:GEO下载表达数据并提取特定的基因做热图(要去重复)

下载数据集GSE17215的表达矩阵并且提取下面的基因画热图 ACTR3B ANLN BAG1 BCL2 BIRC5 BLVRA CCNB1 CCNE1 CDC20 CDC6 CDCA1 CDH3 CENPF CEP55 CXXC5 EGFR ERBB2 ESR1 EXO1 FGFR4 FOXA1 FOXC1 GPR160 GRB7 KIF2C KNTC2 KRT14 KRT17 KRT5 MAPT MDM2 MELK MIA MKI67 MLPH MMP11 MYBL2 MYC NAT1 ORC6L PGR PHGDH PTTG1 RRM2 SFRP1 SLC39A6 TMEM45B TYMS UBE2C UBE2T GSE17215数据在https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE17215 可知,是U133A的芯片数据,共6个样本 title为Expression data from paclitaxel and salinomycin-treated HMLER breast cancer cells

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
library(hgu133a.db)

有三种方法得到表达数据

1.下载.CEL格式文件,自己进行处理

2.手动下载series Matrix Files,然后读入

3.利用R下载表达数据

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
library(GEOquery)
library(GEOquery)
#GEO使用https://www.bioconductor.org/packages/release/bioc/vignettes/GEOquery/inst/doc/GEOquery.html
gse17215 <- getGEO('GSE17215',
                   AnnotGPL = F,     ## 注释文件
                   getGPL = F)       ## 平台文件
show(gse17215)
dat <- exprs(gse17215[[1]])
pdata_17215 <- pData(gse17215[[1]])
pdata_17215$`agent:ch1`

#提取hgu133a包中的probe_id和symbol
ids <- toTable(hgu133aSYMBOL)
dat <- dat[ids$probe_id,]#合并,也可以用merge
#这里有个问题,一共50个基因名,但是得到的是87个探针,也就是有一个gene对应几个探针的情况
#怎么处理? 取median或者去p最小的,也有取均值的,
#先把median加到ids最后一列
ids$median <- apply(dat, 1, median)
head(ids)
ids <- ids[order(ids$symbol, ids$median, decreasing = T),]
head(ids)
ids_dup <- ids[!duplicated(ids$symbol),]
head(ids_dup)
dat <- dat[ids_dup$probe_id,]
dim(dat)
#这样就得到了去重重复的探针在6个样本中的表达信息,但没有基因名
dat <- as.data.frame(dat)
dat$probe_id <- rownames(dat)
dat_symbol <- merge(dat, ids, by ="probe_id")
#载入50个基因名
genes <- 'ACTR3B ANLN BAG1 BCL2 BIRC5 BLVRA CCNB1 CCNE1 CDC20 CDC6 CDCA1 CDH3 CENPF CEP55 CXXC5 EGFR ERBB2 ESR1 EXO1 FGFR4 FOXA1 FOXC1 GPR160 GRB7 KIF2C KNTC2 KRT14 KRT17 KRT5 MAPT MDM2 MELK MIA MKI67 MLPH MMP11 MYBL2 MYC NAT1 ORC6L PGR PHGDH PTTG1 RRM2 SFRP1 SLC39A6 TMEM45B TYMS UBE2C UBE2T'
genes <- strsplit(genes, ' ')[[1]]
genes <- data.frame(genes)
colnames(genes) <- 'symbol'
genes_expr <- merge(genes, dat_symbol, by ='symbol')
#至此完成了探针过滤,加基因名等操作
#取对数
genes_expr <- log2(dat+1)
heat_expr <- genes_expr[,-c(2,9)]
rownames(heat_expr) <- heat_expr$symbol 
heat_expr <- heat_expr[,-1]
heat_expr <- log2(heat_expr+1)
pheatmap::pheatmap(heat_expr, scale = 'row')
ggcorrplot::ggcorrplot(cor(heat_expr))

Task7:GEO下载表达矩阵做样本的相关性热图,需要标记样本分组信息

作业7 下载数据集GSE24673的表达矩阵计算样本的相关性并且绘制热图,需要标记上样本分组信息 数据地址https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE24673

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
rm(list=ls())
options(stringsAsFactors = F)   
gse24673 <- getGEO('GSE24673',
                   AnnotGPL = F,     ## 注释文件
                   getGPL = F)       ## 平台文件
show(gse24673)
dat <- exprs(gse24673[[1]])
pdata_24673 <- pData(gse24673[[1]]) 
pdata_24673 <- pdata_24673$source_name_ch1
pdata_24673 <- data.frame(Group = pdata_24673)
#添加分组信息
rownames(pdata_24673) <- colnames(cor_dat)
pheatmap::pheatmap(cor_dat, annotation_col=pdata_24673)

Task8: 找到芯片对应平台的注释包并进行安装

找到 GPL6244 platform of Affymetrix Human Gene 1.0 ST Array 对应的R的bioconductor注释包,并且安装它! 参考http://www.bio-info-trainee.com/1399.html

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
options()$repos
options()$BioC_mirror 
options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/")
options("repos" = c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/"))
BiocManager::install("hugene10sttranscriptcluster.db",ask = F,update = F)
options()$repos
options()$BioC_mirror

Task9:GEO下载表达矩阵,所有样本中挑选所需要的探针

下载数据集GSE42872的表达矩阵,并且分别挑选出所有样本的(平均表达量/sd/mad/)最大的探针, 并且找到它们对应的基因。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
rm(list=ls())
options(stringsAsFactors = F)   
gse42872 <- getGEO('GSE42872',
                   AnnotGPL = F,     ## 注释文件
                   getGPL = F)       ## 平台文件
show(gse42872)
dat <- as.data.frame(exprs(gse42872[[1]]))
pdata_42872 <- pData(gse42872[[1]]) 
pdata_42872 <- pdata_42872$source_name_ch1
pdata_42872 <- data.frame(Group = pdata_42872)

max_mean <- names(sort(apply(dat,1, mean), decreasing = T))[1]
max_sd <- names(sort(apply(dat,1, sd), decreasing = T))[1]
max_mad <- names(sort(apply(dat,1, mad), decreasing = T))[1]
str(max_max)
library(hugene10sttranscriptcluster.db)
list(hugene10sttranscriptcluster.db)
###find the corresponding genes for the probes
ids <- toTable(hugene10sttranscriptclusterSYMBOL)
ids[match(max_mad, ids$probe_id),]
#或者
select(hugene10sttranscriptcluster.db,
       keys = c(max_sd, max_mad, max_mean),
       columns = c("SYMBOL"),
       keytype = "PROBEID")
##注意,max_mad探针对应着很多基因名

10 Task10

这部分内容参考http://www.bio-info-trainee.com/bioconductor_China/software/limma.html 下载数据集GSE42872的表达矩阵,并且根据分组使用limma做差异分析, 得到差异结果矩阵

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
library(GEOquery)
rm(list=ls())
options(stringsAsFactors = F)   
gse42872 <- getGEO('GSE42872', GSEMatrix = TRUE,
                   AnnotGPL = F,     ## 注释文件
                   getGPL = F)       ## 平台文件
show(gse42872)
dat <- as.data.frame(exprs(gse42872[[1]]))
pdata_42872 <- pData(gse42872[[1]]) 
pdata_42872 <- pdata_42872$title


group <- unlist(lapply(pdata_42872, function(x)
{
  strsplit(x,' ')[[1]][4]
}
  ))
#pdata_42872 <- data.frame(Group = pdata_42872)
library(hugene10sttranscriptcluster.db)
ids <- toTable(hugene10sttranscriptclusterSYMBOL)
dim(ids)
dim(dat)
# > dim(ids)
# [1] 19827     2
# > dim(dat)
# [1] 33297     6
#很多探针没有注释信息,进行过滤,/可以用merge但是需要加列
dat_filter <- dat[match(ids$probe_id,rownames(dat)),]
dim(dat_filter)
#用%in%进行筛选
dat_filter2 <- dat[rownames(dat) %in% ids$probe_id,]
# > dim(dat_filter)
# [1] 19827     6
#dat_filter is the expression matrix

差异表达分析

需要分组矩阵(design),比较矩阵(contrast)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
library(limma)
##########分组矩阵design,group中的说明。1代表是。用于每张芯片的RNA样本分类
design <- model.matrix(~0+factor(group))
colnames(design) <- levels(factor(group))
rownames(design) <- colnames(dat_filter)
design
# Control Vemurafenib
# GSM1052615       1           0
# GSM1052616       1           0
# GSM1052617       1           0
# GSM1052618       0           1
# GSM1052619       0           1
# GSM1052620       0           1
###############比较矩阵
colnames(design) <- levels(factor(group))
rownames(design) <- colnames(dat_filter)
design
#再做一个比较矩阵【一般是case比control】,规定实验组和对照组并定义谁比谁
contrast.matrix<-makeContrasts(paste0(unique(group),collapse = "-"),levels = design)
#或者下面。注意是Vemurafenib/Control
contrast.matrix_2 <- makeContrasts("Vemurafenib-Control" ,levels = design)

筛选差异基因DEGs

分步进行1,这步用到实验设计矩阵

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
fit <- lmFit(dat_filer, design)

分步进行2,用到比较矩阵

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
fit2 <- contrasts.fit(fit, contrast.matrix)
fit2 <- eBayes(fit2)

分步进行3

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
tem_output <- topTable(fit2, coef = 1, n= Inf)
mydegs <- na.omit(tem_output)

写成函数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
deg<- function(dat_filter,design,contrast){
  ##step1
  fit <- lmFit(dat_filter,design)#用到实验设计矩阵
  ##step2
  fit2 <- contrasts.fit(fit, contrast) #用到比较矩阵
  fit2 <- eBayes(fit2)  
  ##step3
  mtx = topTable(fit2, coef=1, n=Inf)
  deg_mtx = na.omit(mtx) 
  return(deg_mtx)
}
deg_mtx <- DEG(dat_filter,design,contrast) #得到全部的差异基因矩阵
head(DEG_mtx)

下面和symbole对应

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
library(hugene10sttranscriptcluster.db)
ids <- toTable(hugene10sttranscriptclusterSYMBOL)
deg_mtx$probe_id <- rownames(deg_mtx)
deg_mtx <- merge(ids,deg_mtx, by = 'probe_id')
write.csv(deg_mtx, 'GSE42872_DEGs_limma.csv', quote = F)
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019.06.01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
R语言BUGS/JAGS贝叶斯分析: 马尔科夫链蒙特卡洛方法(MCMC)采样|附代码数据
在许多情况下,我们没有足够的计算能力评估空间中所有n维像素的后验概率 。在这些情况下,我们倾向于利用称为Markov-Chain Monte Carlo 算法的程序 。此方法使用参数空间中的随机跳跃来(最终)确定后验分布(点击文末“阅读原文”获取完整代码数据)。
拓端
2022/10/28
1.8K0
R语言BUGS/JAGS贝叶斯分析: 马尔科夫链蒙特卡洛方法(MCMC)采样
在许多情况下,我们没有足够的计算能力评估空间中所有n维像素的后验概率 。在这些情况下,我们倾向于利用称为Markov-Chain Monte Carlo 算法的程序 。此方法使用参数空间中的随机跳跃来(最终)确定后验分布。MCMC的关键如下:
拓端
2020/11/30
2.4K0
R语言BUGS/JAGS贝叶斯分析: 马尔科夫链蒙特卡洛方法(MCMC)采样
R语言MCMC:Metropolis-Hastings采样用于回归的贝叶斯估计|附代码数据
如果需要计算有复杂后验pdf p(θ| y)的随机变量θ的函数f(θ)的平均值或期望值。
拓端
2023/04/28
4200
R语言MCMC:Metropolis-Hastings采样用于回归的贝叶斯估计|附代码数据
如果需要计算有复杂后验pdf p(θ| y)的随机变量θ的函数f(θ)的平均值或期望值。
拓端
2022/10/27
8520
R语言Gibbs抽样的贝叶斯简单线性回归仿真分析|附代码数据
最近我们被客户要求撰写关于Gibbs抽样的研究报告,包括一些图形和统计输出。 贝叶斯分析的许多介绍都使用了相对简单的教学实例(例如,根据伯努利数据给出成功概率的推理)。虽然这很好地介绍了贝叶斯原理,但是这些原则的扩展并不是直截了当的
拓端
2022/12/21
1.1K0
R语言MCMC:Metropolis-Hastings采样用于回归的贝叶斯估计
如果需要计算有复杂后验pdf p(θ| y)的随机变量θ的函数f(θ)的平均值或期望值。
拓端
2021/01/29
1.4K0
R语言MCMC:Metropolis-Hastings采样用于回归的贝叶斯估计
R语言贝叶斯MCMC:用rstan建立线性回归模型分析汽车数据和可视化诊断|附代码数据
尽管Stan提供了使用其编程语言的文档和带有例子的用户指南,但对于初学者来说,这可能是很难理解的。
拓端
2023/02/14
2.3K0
马尔可夫链蒙特卡洛(MCMC)算法
在之前的推送中我们了解到什么是马尔可夫链(Markov Chain)。下面我们来介绍一下马尔可夫链蒙特卡洛算法(Markov Chain Monte Carlo), 在此之前,我们需要回顾一下马尔可夫
量化投资与机器学习微信公众号
2018/01/29
3.5K0
R语言使用Metropolis-Hastings采样算法自适应贝叶斯估计与可视化
1)定义模型(即概率先验)。在此示例中,让我们构建一个简单的线性回归模型(对数)。
拓端
2023/09/25
3540
R语言使用Metropolis-Hastings采样算法自适应贝叶斯估计与可视化
R语言蒙特卡洛方法:方差分量的Metropolis Hastings(M-H)、吉布斯Gibbs采样比较分析
蒙特卡洛方法利用随机数从概率分布P(x)中生成样本,并从该分布中评估期望值,该期望值通常很复杂,不能用精确方法评估。在贝叶斯推理中,P(x)通常是定义在一组随机变量上的联合后验分布。然而,从这个分布中获得独立样本并不容易,这取决于取样空间的维度。因此,我们需要借助更复杂的蒙特卡洛方法来帮助简化这个问题;例如,重要性抽样、拒绝抽样、吉布斯抽样和Metropolis Hastings抽样。这些方法通常涉及从建议密度Q(x)中取样,以代替P(x)。
拓端
2021/07/16
1.2K0
R语言蒙特卡洛方法:方差分量的Metropolis Hastings(M-H)、吉布斯Gibbs采样比较分析
【深度干货】专知主题链路知识推荐#7-机器学习中似懂非懂的马尔科夫链蒙特卡洛采样(MCMC)入门教程02
【导读】主题链路知识是我们专知的核心功能之一,为用户提供AI领域系统性的知识学习服务,一站式学习人工智能的知识,包含人工智能( 机器学习、自然语言处理、计算机视觉等)、大数据、编程语言、系统架构。使用请访问专知 进行主题搜索查看 - 桌面电脑访问www.zhuanzhi.ai, 手机端访问www.zhuanzhi.ai 或关注微信公众号后台回复" 专知"进入专知,搜索主题查看。今天给大家继续介绍我们独家整理的机器学习——马尔科夫链蒙特卡洛采样(MCMC)方法。 上一次我们详细介绍了机器学习中似懂非懂的马尔
WZEARW
2018/04/08
4.1K1
【深度干货】专知主题链路知识推荐#7-机器学习中似懂非懂的马尔科夫链蒙特卡洛采样(MCMC)入门教程02
R语言coda贝叶斯MCMC Metropolis-Hastings采样链分析和收敛诊断可视化|附代码数据
最近我们被客户要求撰写关于MCMC Metropolis-Hastings采样的研究报告,包括一些图形和统计输出。
拓端
2023/09/06
4920
MCMC原理解析(马尔科夫链蒙特卡洛方法)
马尔科夫链蒙特卡洛方法(Markov Chain Monte Carlo),简称MCMC,MCMC算法的核心思想是我们已知一个概率密度函数,需要从这个概率分布中采样,来分析这个分布的一些统计特性,然而这个这个函数非常之复杂,怎么去采样?这时,就可以借助MCMC的思想。
种花家的奋斗兔
2020/11/13
3K0
MCMC原理解析(马尔科夫链蒙特卡洛方法)
R语言JAGS贝叶斯回归模型分析博士生延期毕业完成论文时间|附代码数据
本文为读者提供了如何进行贝叶斯回归的基本教程。包括完成导入数据文件、探索汇总统计和回归分析
拓端
2022/12/23
9640
PYTHON用时变马尔可夫区制转换(MARKOV REGIME SWITCHING)自回归模型分析经济时间序列|附代码数据
最近我们被客户要求撰写关于MARKOV REGIME SWITCHING的研究报告,包括一些图形和统计输出。 本文提供了一个在统计模型中使用马可夫转换模型模型的例子,来复现Kim和Nelson(1999)中提出的一些结果。它应用了Hamilton(1989)的滤波器和Kim(1994)的平滑器 ( 点击文末“阅读原文”获取完整代码数据******** ) 。
拓端
2022/11/29
1K0
R语言贝叶斯Metropolis-Hastings采样 MCMC算法理解和应用可视化案例
例如,使用的rstan包采用了一个Hamiltonian Monte Carlo算法。用于贝叶斯建模的另一个rjags包采用了Gibbs sampling算法。尽管细节有所不同,但这两种算法都是基于基本的Metropolis-Hastings算法的变体。
拓端
2023/12/14
3420
R语言贝叶斯Metropolis-Hastings采样 MCMC算法理解和应用可视化案例
使用R语言进行Metroplis-in-Gibbs采样和MCMC运行分析
这篇文章展示了我们如何使用Metropolis-Hastings(MH)从每次Gibbs迭代中的非共轭条件后验对象中进行采样–比网格方法更好的替代方法。
拓端
2020/08/07
1.4K0
R语言实现MCMC中的Metropolis–Hastings算法与吉布斯采样|附代码数据
第一步,我们创建一些测试数据,用来拟合我们的模型。我们假设预测变量和因变量之间存在线性关系,所以我们用线性模型并添加一些噪音。
拓端
2023/08/15
3900
MATLAB随机波动率SV、GARCH用MCMC马尔可夫链蒙特卡罗方法分析汇率时间序列|附代码数据
最近我们被客户要求撰写关于波动率的研究报告。 波动率是一个重要的概念,在金融和交易中有许多应用。它是期权定价的基础。波动率还可以让您确定资产配置并计算投资组合的风险价值 (VaR)。
拓端
2022/11/16
7980
R语言贝叶斯非参数模型:密度估计、非参数化随机效应meta分析心肌梗死数据|附代码数据
最近,我们使用贝叶斯非参数(BNP)混合模型进行马尔科夫链蒙特卡洛(MCMC)推断。
拓端
2024/06/25
2100
推荐阅读
R语言BUGS/JAGS贝叶斯分析: 马尔科夫链蒙特卡洛方法(MCMC)采样|附代码数据
1.8K0
R语言BUGS/JAGS贝叶斯分析: 马尔科夫链蒙特卡洛方法(MCMC)采样
2.4K0
R语言MCMC:Metropolis-Hastings采样用于回归的贝叶斯估计|附代码数据
4200
R语言MCMC:Metropolis-Hastings采样用于回归的贝叶斯估计|附代码数据
8520
R语言Gibbs抽样的贝叶斯简单线性回归仿真分析|附代码数据
1.1K0
R语言MCMC:Metropolis-Hastings采样用于回归的贝叶斯估计
1.4K0
R语言贝叶斯MCMC:用rstan建立线性回归模型分析汽车数据和可视化诊断|附代码数据
2.3K0
马尔可夫链蒙特卡洛(MCMC)算法
3.5K0
R语言使用Metropolis-Hastings采样算法自适应贝叶斯估计与可视化
3540
R语言蒙特卡洛方法:方差分量的Metropolis Hastings(M-H)、吉布斯Gibbs采样比较分析
1.2K0
【深度干货】专知主题链路知识推荐#7-机器学习中似懂非懂的马尔科夫链蒙特卡洛采样(MCMC)入门教程02
4.1K1
R语言coda贝叶斯MCMC Metropolis-Hastings采样链分析和收敛诊断可视化|附代码数据
4920
MCMC原理解析(马尔科夫链蒙特卡洛方法)
3K0
R语言JAGS贝叶斯回归模型分析博士生延期毕业完成论文时间|附代码数据
9640
PYTHON用时变马尔可夫区制转换(MARKOV REGIME SWITCHING)自回归模型分析经济时间序列|附代码数据
1K0
R语言贝叶斯Metropolis-Hastings采样 MCMC算法理解和应用可视化案例
3420
使用R语言进行Metroplis-in-Gibbs采样和MCMC运行分析
1.4K0
R语言实现MCMC中的Metropolis–Hastings算法与吉布斯采样|附代码数据
3900
MATLAB随机波动率SV、GARCH用MCMC马尔可夫链蒙特卡罗方法分析汇率时间序列|附代码数据
7980
R语言贝叶斯非参数模型:密度估计、非参数化随机效应meta分析心肌梗死数据|附代码数据
2100
相关推荐
R语言BUGS/JAGS贝叶斯分析: 马尔科夫链蒙特卡洛方法(MCMC)采样|附代码数据
更多 >
LV.1
这个人很懒,什么都没有留下~
目录
  • 作业在这里
  • Task1: 通过R注释包从ensemble到symbol
    • Method1:for循环
    • Method2:apply函数
  • Task2:由探针找到对应的基因名
  • Task3 找某个基因在表达矩阵中的值并分组绘图
  • Task4:对任意肿瘤的任意基因进行分类做图(用cBioPortal)
  • Task5:某基因在某肿瘤中的生存曲线作图美化
  • Task6:GEO下载表达数据并提取特定的基因做热图(要去重复)
    • 有三种方法得到表达数据
      • 1.下载.CEL格式文件,自己进行处理
      • 2.手动下载series Matrix Files,然后读入
      • 3.利用R下载表达数据
  • Task7:GEO下载表达矩阵做样本的相关性热图,需要标记样本分组信息
  • Task8: 找到芯片对应平台的注释包并进行安装
  • Task9:GEO下载表达矩阵,所有样本中挑选所需要的探针
  • 10 Task10
    • 差异表达分析
    • 筛选差异基因DEGs
      • 分步进行1,这步用到实验设计矩阵
      • 分步进行2,用到比较矩阵
      • 分步进行3
      • 写成函数
    • 下面和symbole对应
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档