和鲸携手上海交大医学院张维拓老师,混合式教学聚焦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

相关文章

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

Nginx搭建前端本地预览环境的完整步骤教学

《Nginx搭建前端本地预览环境的完整步骤教学》这篇文章主要为大家详细介绍了Nginx搭建前端本地预览环境的完整步骤教学,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录项目目录结构核心配置文件:nginx.conf脚本化操作:nginx.shnpm 脚本集成总结:对前端的意义很多

Go语言中json操作的实现

《Go语言中json操作的实现》本文主要介绍了Go语言中的json操作的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录 一、jsOChina编程N 与 Go 类型对应关系️ 二、基本操作:编码与解码 三、结构体标签(Struc

python语言中的常用容器(集合)示例详解

《python语言中的常用容器(集合)示例详解》Python集合是一种无序且不重复的数据容器,它可以存储任意类型的对象,包括数字、字符串、元组等,下面:本文主要介绍python语言中常用容器(集合... 目录1.核心内置容器1. 列表2. 元组3. 集合4. 冻结集合5. 字典2.collections模块

基于Go语言开发一个 IP 归属地查询接口工具

《基于Go语言开发一个IP归属地查询接口工具》在日常开发中,IP地址归属地查询是一个常见需求,本文将带大家使用Go语言快速开发一个IP归属地查询接口服务,有需要的小伙伴可以了解下... 目录功能目标技术栈项目结构核心代码(main.go)使用方法扩展功能总结在日常开发中,IP 地址归属地查询是一个常见需求:

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

GO语言短变量声明的实现示例

《GO语言短变量声明的实现示例》在Go语言中,短变量声明是一种简洁的变量声明方式,使用:=运算符,可以自动推断变量类型,下面就来具体介绍一下如何使用,感兴趣的可以了解一下... 目录基本语法功能特点与var的区别适用场景注意事项基本语法variableName := value功能特点1、自动类型推

GO语言中函数命名返回值的使用

《GO语言中函数命名返回值的使用》在Go语言中,函数可以为其返回值指定名称,这被称为命名返回值或命名返回参数,这种特性可以使代码更清晰,特别是在返回多个值时,感兴趣的可以了解一下... 目录基本语法函数命名返回特点代码示例命名特点基本语法func functionName(parameters) (nam

Go语言连接MySQL数据库执行基本的增删改查

《Go语言连接MySQL数据库执行基本的增删改查》在后端开发中,MySQL是最常用的关系型数据库之一,本文主要为大家详细介绍了如何使用Go连接MySQL数据库并执行基本的增删改查吧... 目录Go语言连接mysql数据库准备工作安装 MySQL 驱动代码实现运行结果注意事项Go语言执行基本的增删改查准备工作

Go语言使用Gin处理路由参数和查询参数

《Go语言使用Gin处理路由参数和查询参数》在WebAPI开发中,处理路由参数(PathParameter)和查询参数(QueryParameter)是非常常见的需求,下面我们就来看看Go语言... 目录一、路由参数 vs 查询参数二、Gin 获取路由参数和查询参数三、示例代码四、运行与测试1. 测试编程路