数据分析:完整的成体系的生存分析的结果汇总

详细情况请前往

数据分析:完整的成体系的生存分析的结果汇总

科研绘图系列:组合多个文章图

介绍

本章节全面汇总了生存分析的相关各类分析方法,形成了一个系统化的生存分析教程。通过这个教程,读者可以深入了解生存分析所涵盖的多种分析技术。组合下列结果的可视化可见: 科研绘图系列:组合多个文章图

数据下载

本教程所需要的所有数据下载链接见:

  • 百度网盘链接: https://pan.baidu.com/s/1KZLVvyrU1Yj78KL0CYYygQ
  • 提取码:

多变量生存分析

多变量生存分析模块是一个统计分析工具,它提供了两个主要步骤来识别和评估影响生存时间的变量:

  1. 单变量生存分析筛选:首先,该模块基于单变量生存分析来筛选与生存时间相关的特征。这一步骤涉及对每个变量单独进行生存分析,以确定它们与生存时间的关联程度。通过这种方式,可以识别出在单变量分析中显著相关的变量,为后续的多变量分析打下基础。
  2. 多变量生存分析:其次,将单变量分析中显著相关的特征组合在一起,进行多变量生存分析。这一步骤旨在评估多个变量同时对生存时间的影响,以及它们之间的相互作用。多变量生存分析可以提供更全面的风险评估,因为它考虑了多个变量的联合效应,从而允许更精确地预测生存时间和识别重要的预后因素。
library(tidyverse)
library(survminer)
library(survival)
library(reshape2)
library(cowplot)
library(caret)
library(pROC)# Load data
############
load("./data/MHC_immunotherapy.RData")
ICB_data <- ICB_study[ICB_study$study == "Liu_2019", ]# Remove NA
############
ICB_data <- na.omit(ICB_data)# Binarize
#############
ICB_data$highTMB <- ICB_data$TMB > quantile(ICB_data$TMB, 0.5, na.rm = T)
ICB_data$strongMHC1 <- ICB_data$MGBS1 > quantile(ICB_data$MGBS1, 0.5, na.rm = T)
ICB_data$strongMHC2 <- ICB_data$MGBS2 > quantile(ICB_data$MGBS2, 0.5, na.rm = T)
ICB_data$strongMHCnorm <- ICB_data$MGBSnorm > quantile(ICB_data$MGBSnorm, 0.5, na.rm = T)
ICB_data$highPD1 <- ICB_data$PD1_noBatch > quantile(ICB_data$PD1_noBatch, 0.5, na.rm = T)
ICB_data$highCYT <- ICB_data$CYT_noBatch > quantile(ICB_data$CYT_noBatch, 0.5, na.rm = T)
ICB_data$highMHC1 <- ICB_data$MHC1_noBatch > quantile(ICB_data$MHC1_noBatch, 0.5, na.rm = T)
ICB_data$highMHC2 <- ICB_data$MHC2_noBatch > quantile(ICB_data$MHC2_noBatch, 0.5, na.rm = T)
ICB_data$highPurity <- ICB_data$purity > quantile(ICB_data$purity, 0.5, na.rm = T)
ICB_data$highPloidy <- ICB_data$ploidy > quantile(ICB_data$ploidy, 0.5, na.rm = T)
ICB_data$highHeterogeneity <- ICB_data$heterogeneity > quantile(ICB_data$heterogeneity, 0.5, na.rm = T)
ICB_data$highLDH <- ICB_data$LDH == 1# Save
######
dir.create("./results/data/", recursive = T)
save.image(file = "./results/data/manuscript_multivariate.RData")
saveRDS(list(Cox_model_ls = Cox_model_ls, LR_model_ls = LR_model_ls), file = "./results/data/manuscript_multivariate.rds")

相关分析

library(corrplot)
library(RColorBrewer)
library(cowplot)load("./data/MHC_immunotherapy.RData")
ICB_data <- ICB_study[ICB_study$study == "Liu_2019", ]head(ICB_data)# Create correlation plot
###########################
vars <- c("TMB", "neoAgB1", "neoAgB2", "neoAgBnorm", "pMHC1", "pMHC2", "pMHCnorm", "MGBS1", "MGBS2", "MGBSnorm", "MHC1_noBatch", "MHC2_noBatch", "heterogeneity", "ploidy", "purity", "MHC1_zyg", "MHC2_zyg", "PD1_noBatch", "B2M_noBatch", "CYT_noBatch")cor_df <- ICB_data[, vars]
colnames(cor_df) <- c("TMB", "abs. MHC-I neoAgB", "abs. MHC-II neoAgB", "abs. diff. neoAgB", "norm. MHC-I neoAgB", "norm. MHC-II neoAgB", "norm. diff. neoAgB", "MGBS-I", "MGBS-II", "MGBS-d", "MHC-I expr.", "MHC-II expr.", "heterogeneity", "ploidy", "purity", "MHC-I zygosity", "MHC-II zygosity", "PD-L1 (CD274) expr.", "B2M expr.", "CYT")# Save
#########
save.image(file = "./results/data/manuscript_correlation_analysis.RData")
saveRDS(p, file = "./results/data/manuscript_correlation_analysis.rds")

比例分析

library(survminer)
library(survival)
library(reshape2)# Load data
############
load("./data/MHC_immunotherapy.RData")ICB_data <- ICB_study[ICB_study$study == "Liu_2019", ]# MHC binders
#############
ICB_data$highTMB <- ICB_data$TMB > quantile(ICB_data$TMB, 0.5, na.rm = T)
ICB_data$strongMHC1 <- ICB_data$MGBS1 > quantile(ICB_data$MGBS1, 0.5, na.rm = T)
ICB_data$strongMHC2 <- ICB_data$MGBS2 > quantile(ICB_data$MGBS2, 0.5, na.rm = T)
ICB_data$strongMHCnorm <- ICB_data$MGBSnorm > quantile(ICB_data$MGBSnorm, 0.5, na.rm = T)# Save
######
save.image(file = "./results/data/manuscript_RECIST.RData")
saveRDS(p_BR_ls, file = "./results/data/manuscript_RECIST.rds")

生存分析

生存分析是一种统计方法,用于描述、测量和分析事件的特征,寻找其发生的原因,并对生存以及事件发生的时间进行预测。生存分析的目的在于研究哪些因素影响了事件的发生速度及生存时间的长短,它探索的因变量是一个包含了删失或者截除数据的事件时间变量。生存分析涉及的事件可以是患者的存活时间、疾病的复发、企业的存活时间等。

生存分析的目的包括但不限于以下几点:

  1. 描述生存时间:描述生存时间的分布情况,包括生存时间的中位数、平均值等统计量。
  2. 识别风险因素:识别和评估影响生存时间的各种风险因素。
  3. 预测生存概率:预测个体在特定时间点之前生存或事件发生的概率。
  4. 比较生存情况:比较不同群体或不同条件下的生存情况,例如比较不同治疗方案的效果。
  5. 评估干预效果:评估医疗干预、政策或其他措施对生存时间的影响。

生存分析统计方法涉及统计描述、差异性分析和回归分析三大类。其中,统计描述主要有Kaplan-Meier估计法和Life table估计法;差异性分析主要有对数秩检验和Wilcoxon test;而回归分析主要有Cox比例和非比例风险回归模型、参数回归模型。

library(survminer)
library(survival)
library(reshape2)
library(tidyverse)# Load data
############
load("./data/MHC_immunotherapy.RData")# Save
#########
save.image(file = "./results/data/manuscript_validation.RData")
saveRDS(list(p_val_ls = p_val_ls, HR_df_all = HR_df_all), file = "./results/data/manuscript_validation.rds")

生存分析2

生存分析是一种统计方法,用于描述、测量和分析事件的特征,寻找其发生的原因,并对生存以及事件发生的时间进行预测。生存分析的目的在于研究哪些因素影响了事件的发生速度及生存时间的长短,它探索的因变量是一个包含了删失或者截除数据的事件时间变量。生存分析涉及的事件可以是患者的存活时间、疾病的复发、企业的存活时间等。

生存分析的目的包括但不限于以下几点:

  1. 描述生存时间:描述生存时间的分布情况,包括生存时间的中位数、平均值等统计量。
  2. 识别风险因素:识别和评估影响生存时间的各种风险因素。
  3. 预测生存概率:预测个体在特定时间点之前生存或事件发生的概率。
  4. 比较生存情况:比较不同群体或不同条件下的生存情况,例如比较不同治疗方案的效果。
  5. 评估干预效果:评估医疗干预、政策或其他措施对生存时间的影响。

生存分析统计方法涉及统计描述、差异性分析和回归分析三大类。其中,统计描述主要有Kaplan-Meier估计法和Life table估计法;差异性分析主要有对数秩检验和Wilcoxon test;而回归分析主要有Cox比例和非比例风险回归模型、参数回归模型。

library(tidyverse)
library(scales)
library(survival)# Load expression data and metadata
## Load ICB metadata in an encapsulated object "all_data"
all_data <- new.env()
load("./data/MHC_immunotherapy.RData", all_data)metadata <- all_data$ICB_study# Save
#########
save.image(file = "./results/data/manuscript_validation_compare_variables.RData")
saveRDS(p_ls, file = "./results/data/manuscript_validation_compare_variables.rds")

logreg分析 & ROC分析

logreg分析和ROC分析是两种不同的统计方法,它们在机器学习和数据分析中有着各自的应用和目的。

logreg分析(Logistic Regression Analysis)

logreg分析,即逻辑回归分析,是一种用于二分类问题的统计方法。它通过估计特定变量(或变量组合)对结果发生概率的影响来工作。逻辑回归使用最大似然估计(MLE)方法来估计模型参数,即找到能够使得观测数据出现概率(似然函数)最大的参数值。

ROC分析(Receiver Operating Characteristic Analysis)

ROC分析是一种用于评估分类模型性能的方法,特别适用于比较不同分类器的性能。ROC分析通过绘制真正例率(True Positive Rate, TPR)和假正例率(False Positive Rate, FPR)的对比图来展示分类器的性能。TPR是正确分类为正例的比例,而FPR是错误分类为正例的比例。ROC曲线下的面积(AUC)是衡量分类器性能的一个重要指标,AUC值越高,表明分类器的区分能力越强

library(tidyverse)
library(survminer)
library(survival)
library(reshape2)
library(cowplot)
library(caret)
library(pROC)# Load data
load("./data/MHC_immunotherapy.RData")
p_ls <- list()# Get model from Liu - preIpi
ICB_data <- ICB_study[!is.na(ICB_study$study) & ICB_study$study == "Liu_2019", ]
ICB_data <- ICB_data[ICB_data$preIpi == T, ]ICB_data$MGBS2_z <- (mean(ICB_data$MGBS2, na.rm = T) - ICB_data$MGBS2) / sd(ICB_data$MGBS2, na.rm = T) # Z-score normalization
ICB_data$MHC2_z <- (mean(ICB_data$MHC2, na.rm = T) - ICB_data$MHC2) / sd(ICB_data$MHC2, na.rm = T) # Z-score normalization
model <- glm(R ~ MHC2_z + MGBS2_z, data = ICB_data, family = binomial)
p_ls$model <- model
# summary(model)# Save
#########
save.image(file = "./results/data/manuscript_validation_multivariate.RData")
saveRDS(p_ls, file = "./results/data/manuscript_validation_multivariate.rds")

生存分析3

生存分析是一种统计方法,用于描述、测量和分析事件的特征,寻找其发生的原因,并对生存以及事件发生的时间进行预测。生存分析的目的在于研究哪些因素影响了事件的发生速度及生存时间的长短,它探索的因变量是一个包含了删失或者截除数据的事件时间变量。生存分析涉及的事件可以是患者的存活时间、疾病的复发、企业的存活时间等。

生存分析的目的包括但不限于以下几点:

  1. 描述生存时间:描述生存时间的分布情况,包括生存时间的中位数、平均值等统计量。
  2. 识别风险因素:识别和评估影响生存时间的各种风险因素。
  3. 预测生存概率:预测个体在特定时间点之前生存或事件发生的概率。
  4. 比较生存情况:比较不同群体或不同条件下的生存情况,例如比较不同治疗方案的效果。
  5. 评估干预效果:评估医疗干预、政策或其他措施对生存时间的影响。

生存分析统计方法涉及统计描述、差异性分析和回归分析三大类。其中,统计描述主要有Kaplan-Meier估计法和Life table估计法;差异性分析主要有对数秩检验和Wilcoxon test;而回归分析主要有Cox比例和非比例风险回归模型、参数回归模型。

library(survminer)
library(survival)
library(reshape2)
library(tidyverse)# Load data
############
load("./data/MHC_immunotherapy.RData")
ICB_data <- ICB_study[ICB_study$study == "Liu_2019", ]
ICB_data$highTMB <- ICB_data$TMB > quantile(ICB_data$TMB, 0.5, na.rm = T)# Save
#########
save.image(file = "./results/data/manuscript_surv_neoAgB.RData")
saveRDS(list(p_TMB = p_TMB, p_pMHC1 = p_pMHC1, p_pMHC2 = p_pMHC2, p_pMHCnorm = p_pMHCnorm, p_neoAgB1 = p_neoAgB1, p_neoAgB2 = p_neoAgB2, p_neoAgBnorm = p_neoAgBnorm, fp_pMHC = fp_pMHC, fp_neoAgB = fp_neoAgB), file = "./results/data/manuscript_surv_neoAgB.rds")

生存分析4

生存分析是一种统计方法,用于描述、测量和分析事件的特征,寻找其发生的原因,并对生存以及事件发生的时间进行预测。生存分析的目的在于研究哪些因素影响了事件的发生速度及生存时间的长短,它探索的因变量是一个包含了删失或者截除数据的事件时间变量。生存分析涉及的事件可以是患者的存活时间、疾病的复发、企业的存活时间等。

生存分析的目的包括但不限于以下几点:

  1. 描述生存时间:描述生存时间的分布情况,包括生存时间的中位数、平均值等统计量。
  2. 识别风险因素:识别和评估影响生存时间的各种风险因素。
  3. 预测生存概率:预测个体在特定时间点之前生存或事件发生的概率。
  4. 比较生存情况:比较不同群体或不同条件下的生存情况,例如比较不同治疗方案的效果。
  5. 评估干预效果:评估医疗干预、政策或其他措施对生存时间的影响。

生存分析统计方法涉及统计描述、差异性分析和回归分析三大类。其中,统计描述主要有Kaplan-Meier估计法和Life table估计法;差异性分析主要有对数秩检验和Wilcoxon test;而回归分析主要有Cox比例和非比例风险回归模型、参数回归模型。

library(survminer)
library(survival)
library(reshape2)
library(tidyverse)# Load data
############
load("./data/MHC_immunotherapy.RData")
ICB_data <- ICB_study[ICB_study$study == "Liu_2019", ]
ICB_data$highTMB <- ICB_data$TMB > quantile(ICB_data$TMB, 0.5, na.rm = T)# Save
#########
save.image(file = "./results/data/manuscript_surv.RData")
saveRDS(p_surv_ls, file = "./results/data/manuscript_surv.rds")

差异分析

limma差异分析是一种用于基因表达数据的统计分析方法,它主要用于识别差异表达的基因。以下是对limma差异分析的详细解释:

  1. limma包简介: limma(Linear Models for Microarray Data)是一个R/Bioconductor软件包,它提供了一套集成的解决方案,用于分析基因表达实验数据。limma包含了丰富的功能,用于处理复杂的实验设计,并通过信息借用来克服样本量小的问题。
  2. 主要特点
  • 线性模型:limma使用线性模型来分析基因表达数据,这包括简单复制设计、多组实验、直接设计、因子设计和时间序列实验等。
  • 经验贝叶斯统计:limma解释了经验贝叶斯测试统计量,这些统计量用于在基因表达分析中获得后验方差估计器。
  • 质量权重:limma允许使用质量权重、自适应背景校正和控制点与线性模型结合使用,以提高小样本实验中基因和基因集水平的推断能力。
  1. 应用范围
  • 最初,limma主要用于微阵列数据的分析,但随着技术的发展,limma的能力已经显著扩展,现在可以执行RNA sequencing(RNA-seq)数据的差异表达和差异剪接分析。
  • 这使得之前仅限于微阵列数据的下游分析工具现在也可以用于RNA-seq数据。
  • 分析流程
  • limma分析的主要步骤包括数据预处理、线性模型拟合、经验贝叶斯方法应用以及结果的诊断和解释。
  • limma提供了一系列的函数,用于存储数据或结果的不同类别,以及在线文档页面,用于每个单独的函数和每个主要步骤。
  • 与其他方法的比较
  • 在RNA-seq数据的差异分析中,limma、EdgeR和DESeq2是三种有效的工具。虽然它们的分析协议在某些步骤上有所不同(例如,limma使用线性模型进行统计分析,而EdgeR和DESeq2使用负二项分布),但它们的结果部分重叠,每种方法都有其自身的优势。
library(tidyverse)
library(edgeR)
library(limma)
library(fgsea)load("./data/MHC_immunotherapy.RData")# Added: mapping table as ENSG -> HGNC must occur here (created by create_ENSG_HGNC_map_table.R)
ENSG_HGNC_map_table <- ENSG_HGNC_map_table %>%select(gene_id = ensembl_gene_id, gene = external_gene_name, gene_biotype)# Save
dir.create("./results/temp/", recursive = TRUE)
saveRDS(DGE_ls, "./results/temp/DGE_ls.rds")

功能分析

功能富集分析GSEA(Gene Set Enrichment Analysis)是一种用于解释基因表达数据的计算方法,它能够确定特定基因集是否在某种生物学状态下显著富集。GSEA的核心思想是,相比单个基因的分析,一群基因(基因集)的协同变化可能更具有生物学意义。

GSEA分析的主要步骤包括:

  1. 计算富集分数:评估每个基因集在排名列表中的表现,富集分数(Enrichment Score, ES)是一个介于0到1之间的值,用来衡量基因集的富集程度。
  2. 估计富集分数显著性水平:通过计算基因集的p值来评估其统计显著性,这通常涉及到使用排列测试来确定基因集富集分数的随机分布。
  3. 矫正多重假设验证:由于GSEA会同时测试多个基因集,因此需要对p值进行校正以控制假阳性率,常用的方法包括Bonferroni校正和FDR(False Discovery Rate)校正。

GSEA分析的目的在于:

  • 识别生物过程中的关键基因集:GSEA能够识别在特定条件下显著富集的基因集,这些基因集可能涉及特定的生物学过程或疾病相关的通路。
  • 揭示基因表达的总体趋势:GSEA不仅关注差异表达的基因,而是利用所有基因的表达数据,揭示整个基因集的表达趋势,从而判断特定通路是被激活还是抑制。
  • 提高数据分析的可解释性:通过将基因集与已知的生物学知识相联系,GSEA提高了基因表达数据的解释性,使得研究者能够更好地理解数据背后的生物学意义。
library(tidyverse)
library(ggrepel)
library(fgsea)
library(cowplot)load("./data/MHC_immunotherapy.RData")
DGE_ls <- readRDS("./results/temp/DGE_ls.rds")# Save
#########
p_DGE_ls <- list(p_fGSEA = fGSEA_plot, p_RS_ls = p_RS_ls, p_GSEA_preIpi = p_GSEA_preIpi)
save.image(file = "./results/data/manuscript_DGE_analysis.RData")
saveRDS(p_DGE_ls, file = "./results/data/manuscript_DGE_analysis.rds")

介绍

组合多个文章图,图所需要的结果文件见:数据分析:完整的成体系的生存分析的结果汇总

数据下载

数据下载链接见:

  • 百度网盘链接: https://pan.baidu.com/s/1KZLVvyrU1Yj78KL0CYYygQ
  • 提取码:

图所需要的结果文件见:数据分析:完整的成体系的生存分析的结果汇总

图1

p_ls <- readRDS("./results/data/manuscript_surv.rds")
p_BR_ls <- readRDS("./results/data/manuscript_RECIST.rds")# Create fig
p1 <- p_ls$p_TMB +ggtitle("Tumor Mutation Burden")
p2 <- p_ls$p_strongMHC1 +ggtitle("MGBS-I")
p3 <- p_ls$p_strongMHC2 +ggtitle("MGBS-II")
p4 <- p_ls$p_strongMHCnorm +ggtitle("MGBS-d")dir.create("./results/figs/", recursive = T)
ggplot2::ggsave(paste0("./results/figs/manuscript_fig1.pdf"), p, width = 178, height = 265 / 1.5, units = "mm")

img

图2

p_ls <- readRDS("./results/data/manuscript_surv.rds")p1 <- plot_grid(NA, p_ls$p_ipi_vs_noIpi,ncol = 2
)ggplot2::ggsave(paste0("./results/figs/manuscript_fig2.pdf"), p, width = 178, height = 0.5 * 265, units = "mm")

img

图3

p_ls <- readRDS("./results/data/manuscript_multivariate.rds")# ROC & surv
p_ROC_surv <- plot_grid(p_ls$LR_model_ls$"TRUE"$p_ROC, p_ls$LR_model_ls$"TRUE"$p_surv, NA,ncol = 1,labels = c("a", "c"),label_size = 8
)ggplot2::ggsave("./results/figs/manuscript_fig3.pdf", p, width = 178, height = 265 / 2, units = "mm")

img

图4

p_ls <- readRDS("./results/data/manuscript_DGE_analysis.rds")ggplot2::ggsave("./results/figs/manuscript_fig4.pdf", p, width = 3 / 4 * 178, height = 265 / 3, units = "mm")

img

附图2

p_ls <- readRDS("./results/data/manuscript_surv.rds")p <- plot_grid(p_ls$p_th_ls$TMBclass$`0.75` + ggtitle("Tumor Mutation Burden") + theme(legend.background = element_blank()),p_ls$p_th_ls$TMBclass$`0.9` + ggtitle("Tumor Mutation Burden") + theme(legend.background = element_blank()),p_ls$p_th_ls$TMBclass$`0.95` + ggtitle("Tumor Mutation Burden") + theme(legend.background = element_blank()),p_ls$p_th_ls$MHC1class$`0.75` + ggtitle("MGBS-I") + theme(legend.background = element_blank()),p_ls$p_th_ls$MHC1class$`0.9` + ggtitle("MGBS-I") + theme(legend.background = element_blank()),p_ls$p_th_ls$MHC1class$`0.95` + ggtitle("MGBS-I") + theme(legend.background = element_blank()),p_ls$p_th_ls$MHC2class$`0.75` + ggtitle("MGBS-II") + theme(legend.background = element_blank()),p_ls$p_th_ls$MHC2class$`0.9` + ggtitle("MGBS-II") + theme(legend.background = element_blank()),p_ls$p_th_ls$MHC2class$`0.95` + ggtitle("MGBS-II") + theme(legend.background = element_blank()),p_ls$p_th_ls$MHCnormclass$`0.75` + ggtitle("MGBS-d") + theme(legend.background = element_blank()),p_ls$p_th_ls$MHCnormclass$`0.9` + ggtitle("MGBS-d") + theme(legend.background = element_blank()),p_ls$p_th_ls$MHCnormclass$`0.95` + ggtitle("MGBS-d") + theme(legend.background = element_blank()),ncol = 3
)ggplot2::ggsave(paste0("./results/figs/manuscript_figS2_surv_th.pdf"), p, width = 178, height = 265, units = "mm")

img

附图3

p <- readRDS("./results/data/manuscript_correlation_analysis.rds")# Create figure
ggplot2::ggsave(paste0("./results/figs/manuscript_figS3_correlation.pdf"), p, width = 178, height = 265, units = "mm")

img

附图4

p_ls <- readRDS("./results/data/manuscript_validation.rds")# Forest plot
# Adjust sizes facet
gt <- ggplot_gtable(ggplot_build(p_ls$p_val_ls$fp))
# gtable_show_layout(gt)
gt$heights[10] <- 1 / 2 * gt$heights[10]
# fp<- grid.draw(gt)# Forest plot preIpi
fp_preIpi <- p_ls$p_val_ls$fp_preIpi# Create figure
ggplot2::ggsave(paste0("./results/figs/manuscript_figS4_validation.pdf"), p, width = 178, height = 265, units = "mm")

img

附图5

p_ls <- readRDS("./results/data/manuscript_surv_neoAgB.rds")p <- plot_grid(p_ls$fp_neoAgB + ggtitle("Absolute Neoantigen Burden") + theme(title = element_text(size = 8)), p_ls$fp_pMHC + ggtitle("Normalized Neoantigen Burden") + theme(title = element_text(size = 8)),p_ls$p_neoAgB1 + ggtitle("MHC-I NeoAgB"), p_ls$p_pMHC1 + ggtitle("norm. MHC-I NeoAgB"),p_ls$p_neoAgB2 + ggtitle("MHC-II NeoAgB"), p_ls$p_pMHC2 + ggtitle("norm. MHC-II NeoAgB"),p_ls$p_neoAgBnorm + ggtitle("diff. NeoAgB"), p_ls$p_pMHCnorm + ggtitle("norm. diff. NeoAgB"),ncol = 2
)# Create figures
ggplot2::ggsave(paste0("./results/figs/manuscript_figS5_neoAgB.pdf"), p_neoAgB, width = 178, height = 265, units = "mm")

img

附图6-7

p_ls <- readRDS("./results/data/manuscript_multivariate.rds")# 1. COX
t_preIpi <- p_ls$Cox_model_ls$"TRUE"$t_uni
t_ipiNaive <- p_ls$Cox_model_ls$"FALSE"$t_unip1 <- plot_grid(t_ipiNaive, t_preIpi,ncol = 2
)p_cox <- plot_grid(p1, p_ls$Cox_model_ls$fp_multi + scale_y_continuous(limits = c(0.15, 12), trans = "log10"), NA,ncol = 1,rel_heights = c(1, 1 / 2, 1)
)# Create figures
ggplot2::ggsave(paste0("./results/figs/manuscript_figS6_LogReg.pdf"), p_logReg, width = 178, height = 265, units = "mm")
ggplot2::ggsave(paste0("./results/figs/manuscript_figS7_Cox.pdf"), p_cox, width = 178, height = 265, units = "mm")

img

img

附图8

p_ls <- readRDS("./results/data/manuscript_validation_multivariate.rds")
p_compare_ls <- readRDS("./results/data/manuscript_validation_compare_variables.rds")# Create figure
ggplot2::ggsave(paste0("./results/figs/manuscript_figS8_validation_multivariate.pdf"), p, width = 178, height = 265, units = "mm")

img

附图9

p_ls <- readRDS("./results/data/manuscript_DGE_analysis.rds")ggplot2::ggsave(paste0("./results/figs/manuscript_figS9_GSEA.pdf"), p, width = 178, height = 265, units = "mm")

img

系统信息

  • 数据分析
R version 4.3.3 (2024-02-29)
Platform: aarch64-apple-darwin20 (64-bit)
Running under: macOS Sonoma 14.2Matrix products: default
BLAS:   /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib 
LAPACK: /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/lib/libRlapack.dylib;  LAPACK version 3.11.0locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8time zone: Asia/Shanghai
tzcode source: internalattached base packages:
[1] grid      stats     graphics  grDevices utils     datasets  methods   base     other attached packages:[1] lubridate_1.9.3 forcats_1.0.0   stringr_1.5.1   dplyr_1.1.4     purrr_1.0.2     readr_2.1.5    [7] tidyr_1.3.1     tibble_3.2.1    tidyverse_2.0.0 gridExtra_2.3   ggplot2_3.5.1   cowplot_1.1.3  loaded via a namespace (and not attached):[1] vctrs_0.6.5       cli_3.6.3         rlang_1.1.4       stringi_1.8.3     generics_0.1.3   [6] glue_1.7.0        colorspace_2.1-0  hms_1.1.3         scales_1.3.0      fansi_1.0.6      
[11] munsell_0.5.0     tzdb_0.4.0        lifecycle_1.0.4   compiler_4.3.3    timechange_0.3.0 
[16] pkgconfig_2.0.3   rstudioapi_0.16.0 R6_2.5.1          tidyselect_1.2.1  utf8_1.2.4       
[21] pillar_1.9.0      magrittr_2.0.3    tools_4.3.3       withr_3.0.0       gtable_0.3.4
  • 画图
R version 4.3.3 (2024-02-29)
Platform: aarch64-apple-darwin20 (64-bit)
Running under: macOS Sonoma 14.2Matrix products: default
BLAS:   /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib 
LAPACK: /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/lib/libRlapack.dylib;  LAPACK version 3.11.0locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8time zone: Asia/Shanghai
tzcode source: internalattached base packages:
[1] grid      stats     graphics  grDevices utils     datasets  methods   base     other attached packages:[1] ggrepel_0.9.5   fgsea_1.28.0    edgeR_4.0.16    limma_3.58.1    scales_1.3.0    pROC_1.18.5    [7] caret_6.0-94    lattice_0.22-6  reshape2_1.4.4  survival_3.7-0  survminer_0.4.9 ggpubr_0.6.0   
[13] lubridate_1.9.3 forcats_1.0.0   stringr_1.5.1   dplyr_1.1.4     purrr_1.0.2     readr_2.1.5    
[19] tidyr_1.3.1     tibble_3.2.1    tidyverse_2.0.0 gridExtra_2.3   ggplot2_3.5.1   cowplot_1.1.3  loaded via a namespace (and not attached):[1] tidyselect_1.2.1     timeDate_4032.109    digest_0.6.35        rpart_4.1.23        [5] timechange_0.3.0     lifecycle_1.0.4      statmod_1.5.0        magrittr_2.0.3      [9] compiler_4.3.3       rlang_1.1.4          tools_4.3.3          utf8_1.2.4          
[13] data.table_1.15.2    knitr_1.45           ggsignif_0.6.4       plyr_1.8.9          
[17] BiocParallel_1.36.0  abind_1.4-5          withr_3.0.0          nnet_7.3-19         
[21] stats4_4.3.3         fansi_1.0.6          xtable_1.8-4         colorspace_2.1-0    
[25] future_1.33.1        globals_0.16.3       iterators_1.0.14     MASS_7.3-60.0.1     
[29] cli_3.6.3            generics_0.1.3       rstudioapi_0.16.0    future.apply_1.11.1 
[33] km.ci_0.5-6          tzdb_0.4.0           splines_4.3.3        parallel_4.3.3      
[37] survMisc_0.5.6       vctrs_0.6.5          hardhat_1.3.1        Matrix_1.6-5        
[41] carData_3.0-5        car_3.1-2            hms_1.1.3            rstatix_0.7.2       
[45] listenv_0.9.1        locfit_1.5-9.9       foreach_1.5.2        gower_1.0.1         
[49] recipes_1.0.10       glue_1.7.0           parallelly_1.37.1    codetools_0.2-19    
[53] stringi_1.8.3        gtable_0.3.4         munsell_0.5.0        pillar_1.9.0        
[57] ipred_0.9-14         lava_1.8.0           R6_2.5.1             KMsurv_0.1-5        
[61] backports_1.4.1      broom_1.0.5          class_7.3-22         fastmatch_1.1-4     
[65] Rcpp_1.0.12          nlme_3.1-164         prodlim_2023.08.28   xfun_0.43           
[69] zoo_1.8-12           pkgconfig_2.0.3      ModelMetrics_1.2.2.2

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/835989.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

20222417 2024-2025-1 《网络与系统攻防技术》实验六实验报告

1.本周内容回顾Metasploit Framework(MSF)是一款开源安全漏洞检测工具,附带数千个已知的软件漏洞,并保持持续更新。Metasploit可以用来信息收集、漏洞探测、漏洞利用等渗透测试的全流程,被安全社区冠以“可以黑掉整个宇宙”之名。旨在帮助安全专家和IT专家识别安全问题、验证…

Red Hat Enterprise Linux 9.5 发布下载,新增功能亮点概述

Red Hat Enterprise Linux 9.5 发布下载,新增功能亮点概述Red Hat Enterprise Linux 9.5 发布下载,新增功能亮点概述 Red Hat Enterprise Linux 9.5 (x86_64, aarch64) - 红帽企业 Linux RHEL 9 | 红帽企业 Linux 9 请访问原文链接:https://sysin.org/blog/rhel-9/ 查看最新…

2024.11.14(周四)

某物资管理系统中物资采购需要分级审批,主任可以审批1万元及以下的采购单,部门经理可以审批5万元及以下的采购单,副总经理可以审批10万元及以下的采购单,总经理可以审批20万元及以下的采购单,20万元以上的采购单需要开职工大会确定。现用职责链模式设计该系统。 实验要求:…

2024.11.15(周五)

某系统需要提供一个命令集合(注:可以使用链表,栈等集合对象实现),用于存储一系列命令对象,并通过该命令集合实现多次undo()和redo()操作,可以使用加法运算来模拟实现。 实验要求: 1. 提交类图; 2. 提交源代码; 3. 注意编程规范。1、类图2、源代码 #include<iostre…

C#/.NET/.NET Core技术前沿周刊 | 第 13 期(2024年11.11-11.17)

前言 C#/.NET/.NET Core技术前沿周刊,你的每周技术指南针!记录、追踪C#/.NET/.NET Core领域、生态的每周最新、最实用、最有价值的技术文章、社区动态、优质项目和学习资源等。让你时刻站在技术前沿,助力技术成长与视野拓宽。欢迎投稿、推荐或自荐优质文章、项目、学习资源等…

2024.11.13(周三)

婚介所其实就是找对象的一个代理,请仿照我们的课堂例子“论坛权限控制代理”完成这个实际问题,其中如果年纪小于18周岁,婚介所会提示“对不起,不能早恋!”,并终止业务。 实验要求: 1. 提交类图; 2. 提交源代码; 3. 注意编程规范。1、类图2、源代码 #include <iostr…

读数据质量管理:数据可靠性与数据质量问题解决之道07异常检测

异常检测1. 监控和异常检测 1.1. 在数据方面,所有明面上的测试和数据质量检查都不能完全保护你免受数据宕机的影响1.1.1. 宕机可能由于各种原因而出现在管道内部和外部的各个阶段1.1.2. 这些原因通常与数据本身无关1.2. 要了解数据何时中断,最好的做法是依靠数据监控,特别是…

2024.11.18 鲜花

浅谈多线程浅谈多线程打上花火 あの日(ひ)见渡(みわた)した渚(なぎさ)を 那天所眺望的海岸 a no hi mi wa ta shi ta na gi sa wo 今(いま)も思(おも)い出(だ)すんだ 直至今日仍能想起 i ma mo o mo i da su n da 砂(すな)の上(うえ)に刻(きざ)んだ言叶(ことば) 在沙滩上刻下的…

Rocky9.3安装snipe-it

全新安装最小化rocky 使用root用户登入系统,避免之后麻烦 安装几个工具yum -y install net-tools wget vim gcc按照官方文档要求安装必须的软件我们首先安装一下php,因为现在仓库中的php版本不满足8.1以上的要求,所以我们到php官网下载8.3.13使用wget下载到根目录下的tmp好了…

【圆圆的日语教室】日语入门第2课-平假名的书写+了解日本

第二课 相似的假名平假名的书写あ (a) 的书写第二笔不要太直,它是从草书演变过来的,特点是圆润有弧度 第三笔要交叉 长得像“安”い (i) 的书写第一笔要勾上去う (u) 的书写第一笔:点第二笔:起笔不要太平,先往上走再往下拐。联想记忆:u住耳朵え (e) 的书写联想:e,见到一…

Scrum 冲刺博客-day3

这个作业属于哪个课程 班级的链接这个作业要求在哪里 作业要求的链接这个作业的目标 Scrum 冲刺博客-day3团队成员 梁志聪 李永杰 曾繁曦一、会议照片二、工作情况成员 昨天已完成工作 今日计划工作梁志聪 编写主菜单,人物移动相关代码 设计障碍物,实现人物碰撞李永杰 构思大…

基于RDK X5的智慧交通监控系统

本Blogs同步发表至CSDN:https://blog.csdn.net/xiongqi123123/article/details/143840675?sharetype=blogdetail&sharerId=143840675&sharerefer=PC&sharesource=xiongqi123123&spm=1011.2480.3001.8118 一、项目背景在当前高等教育普及化、大学持续扩招的宏…