tidyplots学习超详细注释版-基于Cursor-(4)

文摘   2024-12-04 00:06   北京  
教程首页

教程地址:https://jbengler.github.io/tidyplots/articles/tidyplots.html#themes

Rename, reorder, sort, and reverse

一组特殊的调整函数处理绘图中的数据标签。这些函数很特别,因为它们需要修改绘图的底层数据。此外,它们不是从adjust_开始,而是从rename_、reorder_、sort_和reverse_开始。

例如,要重命名x轴上治疗变量的数据标签,您可以这样做。


# 使用管道操作符 %>% 将study数据集传递给后续函数
study %>% 
  # 创建基础散点图
  # x轴为treatment(处理)变量
  # y轴为score(得分)变量
  # 根据treatment变量设置不同颜色区分不同处理组
  tidyplot(x = treatment, y = score, color = treatment) %>% 
  # 添加原始数据点
  # 将每个样本的实际观测值以点的形式展示
  add_data_points() %>% 
  # 添加均值条形
  # 用半透明(alpha=0.4)的条形表示各组的平均值
  add_mean_bar(alpha = 0.4) %>% 
  # 添加标准误误差棒
  # 在均值处添加误差棒表示标准误范围
  add_sem_errorbar() %>% 
  # 重命名x轴标签
  # 将原始的A、B、C、D标签分别替换为:
  # A -> This
  # B -> is  
  # C -> totally
  # D -> new
  rename_x_axis_labels(new_names = c("A" = "This",
                                     "B" = "is"
                                     "C" = "totally",
                                     "D" = "new"))

请注意,我们提供了一个命名字符向量来明确应该用哪个新标签替换哪个旧标签。

从reorder_、sort_和reverse_开始的其余函数不会更改标签的名称,而是更改它们在绘图中的顺序。

例如,您可以将治疗“D”和“C”带到前面。

# 使用管道操作符 %>% 将study数据集传递给后续函数
study %>% 
  # 创建基础散点图
  # x轴为treatment(处理)变量
  # y轴为score(得分)变量
  # 根据treatment变量设置不同颜色区分不同处理组
  tidyplot(x = treatment, y = score, color = treatment) %>% 
  # 添加原始数据点
  # 将每个样本的实际观测值以点的形式展示
  add_data_points() %>% 
  # 添加均值条形
  # 用半透明(alpha=0.4)的条形表示各组的平均值
  add_mean_bar(alpha = 0.4) %>% 
  # 添加标准误误差棒
  # 在均值处添加误差棒表示标准误范围
  add_sem_errorbar() %>% 
  # 重新排序x轴标签
  # 将D和C两个处理组的顺序调换
  reorder_x_axis_labels("D""C")

按得分对治疗进行排序。

study %>% 
    # 创建基础散点图
    # x轴为treatment(处理)变量
    # y轴为score(得分)变量
    # 根据treatment变量设置不同颜色区分不同处理组
    tidyplot(x = treatment, y = score, color = treatment) %>% 
    # 添加原始数据点
    # 将每个样本的实际观测值以点的形式展示
    add_data_points() %>% 
    # 添加均值条形
    # 用半透明(alpha=0.4)的条形表示各组的平均值
    add_mean_bar(alpha = 0.4) %>% 
    # 添加标准误误差棒
    # 在均值处添加误差棒表示标准误范围
    add_sem_errorbar() %>% 
    # 对x轴标签按字母顺序排序
    sort_x_axis_labels()
# 使用管道操作符 %>% 将study数据集传递给后续函数
    study %>% 
      # 创建基础散点图
      # x轴为treatment(处理)变量
      # y轴为score(得分)变量
      # 根据treatment变量设置不同颜色区分不同处理组
      tidyplot(x = treatment, y = score, color = treatment) %>% 
      # 添加原始数据点
      # 将每个样本的实际观测值以点的形式展示
      add_data_points() %>% 
      # 添加均值条形
      # 用半透明(alpha=0.4)的条形表示各组的平均值
      add_mean_bar(alpha = 0.4) %>% 
      # 添加标准误误差棒
      # 在均值处添加误差棒表示标准误范围
      add_sem_errorbar() %>% 
      # 反转x轴标签顺序
      # 将x轴标签按相反顺序排列
      reverse_x_axis_labels()

主题

主题是在不改变数据表示的情况下修改情节外观的好方法。您可以保留默认的tidyplots主题。

study %>% 
  tidyplot(x = treatment, y = score, color = treatment) %>% 
  add_data_points() %>% 
  add_sem_errorbar() %>% 
  add_mean_dash() %>% 
  theme_tidyplot()

或者尝试更像ggplot2的主题。

# 使用管道操作符 %>% 将study数据集传递给后续函数
      study %>% 
        # 创建基础散点图
        # x轴为treatment(处理)变量
        # y轴为score(得分)变量
        # 根据treatment变量设置不同颜色区分不同处理组
        tidyplot(x = treatment, y = score, color = treatment) %>% 
        # 添加原始数据点
        # 将每个样本的实际观测值以点的形式展示
        add_data_points() %>% 
        # 添加标准误误差棒
        # 在均值处添加误差棒表示标准误范围
        add_sem_errorbar() %>% 
        # 添加均值虚线
        # 用虚线表示各组的平均值
        add_mean_dash() %>% 
        # 使用ggplot2默认主题
        # 设置图形的整体视觉风格为ggplot2默认主题
        theme_ggplot2()

minimal主题

study %>% 
  tidyplot(x = treatment, y = score, color = treatment) %>% 
  add_data_points() %>% 
  add_sem_errorbar() %>% 
  add_mean_dash() %>% 
  theme_minimal_y() %>% 
  remove_x_axis_line()

Split

当您有一个复杂的数据集时,您可能希望将图拆分为多个子图。在tidyplots中,这可以通过函数split_plot()来完成。

从研究数据集开始,您可以根据实验组绘制分数,并按剂量将该图分成高剂量和低剂量图。


        # 使用管道操作符 %>% 将study数据集传递给后续函数
        study %>% 
          # 创建基础散点图
          # x轴为group(组别)变量
          # y轴为score(得分)变量
          # 根据group变量设置不同颜色区分不同组别
          tidyplot(x = group, y = score, color = group) %>% 
          # 添加原始数据点
          # 将每个样本的实际观测值以点的形式展示
          add_data_points() %>% 
          # 添加标准误误差棒
          # 在均值处添加误差棒表示标准误范围
          add_sem_errorbar() %>% 
          # 添加均值虚线
          # 用虚线表示各组的平均值
          add_mean_dash() %>% 
          # 按dose(剂量)变量拆分图形
          # 根据不同剂量水平将图形分成多个子图
          split_plot(by = dose)

Output

输出绘图的经典方法是将其写入PDF或PNG文件。这可以通过将绘图通过管道传输到函数save_plot()中轻松完成。

study %>% 
  tidyplot(x = group, y = score, color = group) %>% 
  add_data_points() %>% 
  add_sem_errorbar() %>% 
  add_mean_dash() %>% 
  save_plot("my_plot.pdf")

方便的是,save_plot()还返回了它收到的绘图,允许它在管道中间使用。如果save_plot()是管道的结尾,则绘图将在屏幕上呈现,提供保存到文件中的内容的可视化配置


课程更新-课程应用Cursor进行代码编写演示

1. 基于R语言的动态预测模型课程将采用Cursor进行代码编写及课程讲授

2. 课程会演示并协助同学完成Cursor配置工作

为什么要用cursor

随时可唤起AI模型

ctrl+L可唤起对话

丰富的AI模型(ctrl+L)

仅从某宝或某鱼可购买无限制低价会员

根据注释自动生成代码

根据代码区要求生成代码(ctrl+K)

可SSH登录远程服务器R语言环境

与R studio类似的工作环境-workspace

支持类似于R studio的快捷键设定

设定界面
官网教程

将R与Cursor一起使用的优缺点

  • 优点:
    • AI编码工作流程的极其强大的界面
    • 非常好的git GUI工具
    • 强大的跨语言工具,用于JSON解析、Github操作和Dockerfile脚本等
  • 缺点:
    • 与renv一起使用很烦人

总结

  1. 低成本使用AI辅助代码工具
  2. 类似于R studio体验,无缝切换,AI 辅助10倍速度
  3. 基于vscode可以多开线程
  4. 可同时作为python编辑器
  5. 插件丰富,可扩展性强大

开课目的及前言

预测模型作为真实世界研究的重要组成部分,其研究被广泛开展。但是,传统的预测模型利用基线数据对最终的生存结果进行预测,这种模型无法纳入患者在后续随访中可能会动态变化的重要数据(比如肿瘤标记物的动态变化)。 以上情况在统计学中会产生估计偏差情况,也是不符合临床实际的。近年来发展起来的动态预测模型方法,利用患者的多次随访数据,结合患者的基线数据,对最终患者的额生存结果(或类似的time to event事件)进行估计。其发文量呈现快速增长趋势。

在临床实际中,医生会根据患者的动态变化指标做出进一步诊断及治疗的判断。动态预测模型结合患者的纵向数据与最终的生存结果,对于最终结果进行更加准备的预测。由于当前R语言在医学统计工作中占据重要地位,但很多临床大夫、护士因为时间工作关系很难将R语言与临床科研相结合,故开设R语言动态预测模型课程,旨在快速让学员掌握统计工作中常用到的R语言,助力临床科研工作。天企助力(天津)生产力促进有限公司特举办“基于R语言的动态预测模型课程培训班”。

预测模型类文章目前总结起来发展经历了以下三个阶段:

  1. 基于传统流行病学的列线图模型(本质都是cox回归及glm回归),简单的统计学分析模型,是模型依赖的方法,临床上实际情况很难满足其前提假设,实际效果不好。

  2. 基于机器学习/深度学习的预测模型的构建(在数据上提高了维度,在算法上引入了机器学习),虽然算法上引入了机器学习模型,处理数据更加灵活,模型的假设也更少。但是在使用的数据上还是患者的一次基线数据进行预测,与临床实际不符。

  3. 基于纵向数据的动态预测模型(基于纵向多次随访数据,模型应用联合模型等动态预测模型方法),应用患者的多次随访数据对最终的生存结果进行预测,从数据和方法上都更类似于临床实际。

考虑到动态预测模型有以下特点,因此必然是后续高分文章的必备方法:

  1. 数据上必须有同一个患者的多次随访数据,相对于既往横断面一次基线数据,数据的收集难度更大,而且动态预测模型需拟合纵向的线性混合模型,因此需要的数据量较大。这就提示我们如果能收集到如上数据更加容易发高分文章。

  2. 应用方法学动态预测模型需首先掌握普通生存分析及普通预测模型的方法,并且还需要熟悉纵向数据分析的广义线性混合模型,再次基础上还需要掌握tidyverse语法基础来将自己的数据转换为满足函数要求的纵向数据,另外对于联合模型,模型的结合形式及变量选择也均需要从临床背景及统计学方法考虑。

近期高分文章举例

文章示例-动态预测模型预测筛查肠癌患者
文章示例-动态预测模型预测前列腺癌预后
文章示例-动态预测用于创伤外科
文章示例-动态预测对比传统模型在糖尿病患者中的应用
顶刊文章示例-动态预测模型用于肾移植后再次肾功能不全诊断
杂志情况

授课老师

灵活胖子-独自

双一流学校肿瘤学博士毕业,目前就职于国内五大肿瘤中心之一。科研方向为真实世界研究,生物信息学分析及人工智能研究。目前以第一或共同第一作者身份发表SCI论文10余篇,累计IF50+。目前与国内多个院校及医院有科研合作。联合翻译小组同学,在国内第一次将jmbayes2及dynamicLM全文翻译为中文并在公众号发表。

课程目录及安排

授课形式及时间

授课形式:远程在线实时直播授课。

授课时间:2024年12月开课,总课时不少于30小时,每周进行3-5小时的授课,有充分时间学习,预计6-8周完成所有授课内容。

答疑支持:建立课程专属微信群,1年内课程内容免费答疑。

视频回看:3年内免费无限次回看。

课程售价及售后保证

课程售价:总价3000元,报名可先交300元预定即可,开课后2周内交齐即可

对公转账等手续务必提前联系助教

承办公司:天企助力(天津)生产力促进有限公司

奖励政策:学员应用所学内容发表IF 10+文章可退还学费(具体要求及流程需要咨询助教)

报名咨询

可联系我的助教进行咨询

我的助教微信

助教联系电话:18502623993

正式通知

pdf版通知可联系助教获取


灵活胖子的科研进步之路
医学博士,R语言及Python爱好者,科研方向为真实世界研究,生信分析与人工智能研究。
 最新文章