和鲸携手上海交大医学院张维拓老师,混合式教学聚焦R语言医学数据分析,从图表开始复现顶刊论文

本文主要是介绍和鲸携手上海交大医学院张维拓老师,混合式教学聚焦R语言医学数据分析,从图表开始复现顶刊论文,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

历时一个月,和鲸社区内的 R 语言医学数据分析训练营暂告一段落。

本次训练营由上海交通大学医学院副研究员张维拓老师联合和鲸社区共同发起,是面向医学生、临床医生及相关从业人员开展的医学数据科学推广公益活动,旨在帮助大家快速入门 R 语言,了解临床研究标准分析流程,并能在论文复现的过程中学会做出符合顶刊发表要求的论文图表。

考虑到报名的大多数医学专业的学员可能不具备 R 语言编程基础,本次活动别开生面地采用了“线上训练营+线下工作坊”的混合式教学模式:线上训练营提供三份“提前学”教案,搭配张老师的讲解,帮助大家打下必要的医学数据分析的概念和技术基础;线下工作坊拔高难度,学员在老师和助教的指导下完成分组实操练习。

线上训练营:顶刊论文复现从图表开始

线上训练营的目标是带领大家复现 2015 年发表于 NEJM 的 A Randomized Trial of Intensive versusStandard Blood-Pressure Control(又被称为 SPRINT 研究)论文中的主要统计分析方法,并制作符合论文发表要求的图表

医学论文中的图表制作一直是个难点,对于医学生来说很少有特定的课程专门教授图表的制作,计算机或统计学专业的学生也无法胜任,因为它不仅需要编程技术,更需要对专业知识的理解与分析思路。张维拓老师在线上第一节课中讲解医学数据分析的三个基本概念——“数据+科学问题+分析框架”时就说到,很多学生一上来就做很多各式各样的图表,但关注的问题是散的,这是不对的。

图:线上训练营的三次课程

首次课程从如何用 R 画出一张基线特征表(简称“基线表”)开始,通过这张表可以观察研究人群的代表性和可比性。张老师为大家讲解了医学数据分析的基本概念,以及零基础的同学也能听懂的用 R 处理数据的基本操作,带领大家一步步画出这张大多数临床研究报告或论文中的 Table1 。

第二次课程的主题为长表分析,长表格式是多次随访数据比较推荐的记录形式。这节课的内容包括了宽表转长表的方法、长表分析的核心技巧(分组汇总)、以及基于 ggplot和 ggpubr 的随访统计图的绘制。过程中,张老师也穿插了讲解了一些临床研究的基本概念,比如观察指标和结局之间的差异。

第三次课作为线上训练营的收官,聚焦于主要结果图和主要结果表的制作——这 1 图 1 表用于支撑论文的核心观点,囊括了全文 80% 的精华。为了便于初学者更快上手,张老师还自编了个包名叫 litertable,可用于快速生成临床医学研究中的常用表格。过程中,学员们进一步理解了,技术只是手段,思维和逻辑才是主导。

我们在进行医学结局判定的时候,是不能以,或者说不能主要以单一的医学实践作为我们的研究重点的,这也是为什么医学数据分析很多时候只得靠医生来做,而不能靠专业的数据分析人员来做。

图:线上训练营的第三次课课件展示

线下 workshop:3 小时顶刊论文复现实操

线下 workshop 是线上训练营的进阶,以“老师讲解+分组实操”的形式,要求参与的学员现场复现 2016 年发表于 NEJM 的论文 Randomized Trial of Introduction of Allergenic Foods in Breast-Fed Infants(可简称 Eat 研究 )。来自仁济医院、瑞金医院、上海第九人民医院、上海交大医学院的近 30 名临床医生与医学生共同参与

图:线下工作坊,张维拓老师正在讲解课件

筹备时,张老师曾担忧学生会不会因为跟不上进度而失去信心,产生畏难情绪,因为线下的课程内容在数据量增大的同时,更设置了五项挑战任务,除了线上训练营所涉及到的绘制基线表、主要结果图之外,还要求学生自主进行探索性分析,在原有结论的基础上进一步深入挖掘。

而令人喜出望外的是,现场的所有学员都十分积极主动,即使过程中遇到了解不了的疑难问题,也能在老师和助教的帮助下坚持探索,最终有 60% 的小组都顺利完成了 5 项挑战任务,其他小组也平均完成了 3-4 项,并收获了对应的纪念礼品。

图:学生们正在分组实操

图:张维拓老师与5位学生的合影

活动结束后,我们收集了大家的反馈。

来自上海交通大学医学院护理学院的何同学从没有用过 R 语言,这次坚持“跑完了整个马拉松”,她说:“作为小白听线上课程很受益,线下课程内容很丰富,但我没来得及做完所有挑战,希望后续能通过一次次活动逐步提升能力,更高效率地完成培训。”

来自仁济医院的王同学虽然过去有跑通过别人的代码,但是没有自己编写代码的经验,这次只参加了线下工作坊,他说:“感谢张老师,内容很专业,对我们科研有很大帮助!希望以后能有更多类似培训。”

还有几名参加了线上训练营但未能来到现场的同学,不约而同地称赞了论文复现实操这样的形式。

活动的背后

“线上训练营+线下工作坊”,事实上,这也是和鲸社区第一次以二者相结合的形式举办活动。过程中,不管是张维拓老师还是和鲸运营人员都花费了成倍的时间精力,但我们很开心地看到,这样的投入确实让学员们得到了更好的学习体验。

感谢张维拓老师,从确定活动举办开始毫无保留的付出,到策划沟通时一切为学生考虑,还有上课时专业与风趣兼备,张老师的优秀与热情感染了大家,激发了大家探索医学数据分析的兴趣。

很高兴能够有机会同和鲸平台共同组织此次 R 语言医学数据分析训练营线下工作坊活动。本次活动通过和鲸平台现场演示的形式,帮助零基础医学生上手 R 语言,通过复现医学顶刊论文,掌握临床研究数据分析思路和图表制作方法。活动过程中,同学积极提问,互相帮助沟通,多数同学都完成了活动挑战任务,对医学数据的处理和使用有了更深的认知。此次线下工作坊,帮助更多医学专业相关的同学打开了医学数据 R 语言分析的大门,也为后续的线下工作坊活动打下了良好范本。

图:张维拓老师正在讲解教案

另外,和鲸为本次活动提供全流程运营与实训平台支持。训练营和 Workshop 都是和鲸社区内的常规活动形式,实操所使用的工具是和鲸旗下的数据科学教学-实训平台 ModelWhale,云端环境让学生“打开网页学编程”,数据、算力自动连接,学生可以一键复现老师的教案,Jupyter Notebook 搭配简单易用的版本管理,能让初学者放心大胆地编写与修改,同时平台支持作业的在线收发与自动评审,节省老师时间。

图:和鲸社区活动页

最后感谢南京师范大学教授胡传鹏老师、中国科学院新疆理化技术研究所胡鹏伟博士对本次活动宣推上的贡献。应同学们的强烈呼声,明年张维拓老师或将与和鲸共同举办二期工作坊,敬请期待!

如果您对本次活动感兴趣,或也想以“线上训练营+线下工作坊”这样的形式举办类似数据科学实践活动,欢迎点此链接联系我们(添加时烦请备注“医学workshop”)。您也可以点此链接免费试用全程支持本次活动开展的 ModelWhale 平台,了解、体验论文复现过程。

这篇关于和鲸携手上海交大医学院张维拓老师,混合式教学聚焦R语言医学数据分析,从图表开始复现顶刊论文的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/570140

相关文章

C语言进阶(预处理命令详解)

《C语言进阶(预处理命令详解)》文章讲解了宏定义规范、头文件包含方式及条件编译应用,强调带参宏需加括号避免计算错误,头文件应声明函数原型以便主函数调用,条件编译通过宏定义控制代码编译,适用于测试与模块... 目录1.宏定义1.1不带参宏1.2带参宏2.头文件的包含2.1头文件中的内容2.2工程结构3.条件编

Go语言并发之通知退出机制的实现

《Go语言并发之通知退出机制的实现》本文主要介绍了Go语言并发之通知退出机制的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录1、通知退出机制1.1 进程/main函数退出1.2 通过channel退出1.3 通过cont

Go语言编译环境设置教程

《Go语言编译环境设置教程》Go语言支持高并发(goroutine)、自动垃圾回收,编译为跨平台二进制文件,云原生兼容且社区活跃,开发便捷,内置测试与vet工具辅助检测错误,依赖模块化管理,提升开发效... 目录Go语言优势下载 Go  配置编译环境配置 GOPROXYIDE 设置(VS Code)一些基本

深入理解Go语言中二维切片的使用

《深入理解Go语言中二维切片的使用》本文深入讲解了Go语言中二维切片的概念与应用,用于表示矩阵、表格等二维数据结构,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧... 目录引言二维切片的基本概念定义创建二维切片二维切片的操作访问元素修改元素遍历二维切片二维切片的动态调整追加行动态

Go语言中make和new的区别及说明

《Go语言中make和new的区别及说明》:本文主要介绍Go语言中make和new的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1 概述2 new 函数2.1 功能2.2 语法2.3 初始化案例3 make 函数3.1 功能3.2 语法3.3 初始化

Go语言中nil判断的注意事项(最新推荐)

《Go语言中nil判断的注意事项(最新推荐)》本文给大家介绍Go语言中nil判断的注意事项,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.接口变量的特殊行为2.nil的合法类型3.nil值的实用行为4.自定义类型与nil5.反射判断nil6.函数返回的

Go语言数据库编程GORM 的基本使用详解

《Go语言数据库编程GORM的基本使用详解》GORM是Go语言流行的ORM框架,封装database/sql,支持自动迁移、关联、事务等,提供CRUD、条件查询、钩子函数、日志等功能,简化数据库操作... 目录一、安装与初始化1. 安装 GORM 及数据库驱动2. 建立数据库连接二、定义模型结构体三、自动迁

Go语言代码格式化的技巧分享

《Go语言代码格式化的技巧分享》在Go语言的开发过程中,代码格式化是一个看似细微却至关重要的环节,良好的代码格式化不仅能提升代码的可读性,还能促进团队协作,减少因代码风格差异引发的问题,Go在代码格式... 目录一、Go 语言代码格式化的重要性二、Go 语言代码格式化工具:gofmt 与 go fmt(一)

Go语言中泄漏缓冲区的问题解决

《Go语言中泄漏缓冲区的问题解决》缓冲区是一种常见的数据结构,常被用于在不同的并发单元之间传递数据,然而,若缓冲区使用不当,就可能引发泄漏缓冲区问题,本文就来介绍一下问题的解决,感兴趣的可以了解一下... 目录引言泄漏缓冲区的基本概念代码示例:泄漏缓冲区的产生项目场景:Web 服务器中的请求缓冲场景描述代码

Go语言如何判断两张图片的相似度

《Go语言如何判断两张图片的相似度》这篇文章主要为大家详细介绍了Go语言如何中实现判断两张图片的相似度的两种方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 在介绍技术细节前,我们先来看看图片对比在哪些场景下可以用得到:图片去重:自动删除重复图片,为存储空间"瘦身"。想象你是一个