news 2026/9/3 1:11:58

智能输液监控系统:从传感器到云端的物联网毕业设计实战指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
智能输液监控系统:从传感器到云端的物联网毕业设计实战指南

简介:本资源是一套面向计算机科学、电子信息工程等专业本科生的智能输液监控系统毕设/课设完整实现,聚焦医疗场景下输液过程的实时监测与安全预警,解决传统人工巡检效率低、易出错等实际问题。压缩包共62个文件,含12个Java源码文件(核心业务逻辑)、20个class编译文件(可直接运行验证)、10个WAV/AU音频资源(报警提示音)、6个PNG/GIF界面素材(含MainUI.png等关键UI图)及README.md、思路.txt等说明文档,整体仅2.1MB,轻量易部署。已有40人学习下载,适合课程设计、期末大作业或毕业设计参考。读者可直接导入Eclipse运行调试,完整掌握传感器数据采集模拟、无线通信逻辑、多模块报警机制(声光联动)、用户交互界面设计及系统集成思路,代码结构清晰、注释充分,配套文档明确标注了各模块功能与扩展接口,便于二次开发与功能迭代。

1. 从“滴答”声到数据流:一个工科生的毕业设计实战

又到了一年一度的毕业季,对于电子信息、物联网、计算机相关专业的同学来说,最头疼的莫过于毕业设计和课程设计。选题既要有点技术含量,又不能太脱离实际,最好还能和当下热点结合。如果你正在为选题发愁,或者已经锁定了“智能医疗”这个方向,那么“智能输液监控系统”绝对是一个值得深入挖掘的“宝藏”项目。它听起来高大上,但拆解开来,核心模块清晰,技术栈可选范围广,从简单的单片机到复杂的物联网云平台都能玩得转,完美适配不同难度和周期的课设与毕设需求。

我当年做类似项目时,最大的感受是:它绝不仅仅是把几个传感器和屏幕连起来那么简单。真正的挑战在于,如何将一个临床护理中“看液滴、听报警”的模糊过程,转化为一套稳定、可靠、且具备实际应用价值的数据采集与决策系统。你需要考虑传感器的选型与精度、数据的抗干扰处理、异常状态的智能判断,以及最终信息如何有效传达给护士或患者家属。这个过程,恰好完整覆盖了从感知层、网络层到应用层的经典物联网三层架构,是一个绝佳的练手项目。

接下来,我将以一个“老司机”的身份,带你彻底拆解这个项目。我不会给你一个现成的、只能照抄的代码包,而是会重点分享架构设计的思路、关键技术的选型逻辑、开发中必然会踩的坑,以及如何让你的项目报告脱颖而出。无论你是想用51单片机快速实现核心功能应付课设,还是打算用STM32+ESP8266+阿里云打造一个完整的物联网毕设,这篇文章都能给你提供清晰的路径和实用的建议。

2. 系统顶层设计:明确需求与定义边界

在动手写第一行代码之前,搞清楚“你要做什么”和“不做什么”至关重要。一个模糊的需求会导致后期频繁返工,甚至整个项目推倒重来。

2.1 核心功能需求拆解

智能输液监控,顾名思义,核心是“监控”。我们需要将它分解为可执行、可测量的具体任务:

  1. 液滴速度检测:这是系统的基石。需要实时、准确地统计单位时间内(通常是每分钟)液滴的下落数量,并据此计算当前的输液速度(滴/分)。
  2. 剩余液量与时间估算:基于已知的输液瓶总容量、滴管系数(每毫升多少滴)和当前速度,动态计算瓶内剩余药液体积和预计输完所需时间。
  3. 异常状态报警:这是系统价值的集中体现。必须能识别几种关键异常:
    • 输液结束(空瓶):液滴长时间停止。
    • 输液过快/过慢:速度超出预设的安全阈值(如成人通常40-60滴/分,儿童更慢)。
    • 管路堵塞(滴壶液面过高):液滴速度骤降甚至停止,但瓶内仍有液体。
    • 管路脱落或漏液(滴壶液面过低或干涸):这是一个高风险情况,需要立即报警。
  4. 人机交互:需要一个界面来显示关键信息(当前速度、剩余时间、剩余液量)和报警状态。可以是LCD屏幕、OLED屏,甚至是简单的LED指示灯和蜂鸣器组合。
  5. 数据上报与远程监控(进阶需求):将输液状态、报警信息通过网络发送到护士站电脑或家属手机APP,实现远程看护。

2.2 技术方案选型:从简到繁的三种路径

根据你的时间、技术基础和导师要求,可以选择不同层次的技术方案:

路径一:基础本地监控系统(适合2-4周课设)

  • 核心控制器:STC89C52(51单片机)或 Arduino Uno。优点是资料极多,上手快,专注于逻辑实现。
  • 滴速检测:红外对管传感器(如TCRT5000)。成本低,电路简单。
  • 显示:1602字符LCD屏或0.96寸OLED屏。
  • 报警:有源蜂鸣器+LED。
  • 输出:本地声光报警,屏幕显示信息。
  • 特点:功能聚焦,开发周期短,能完整演示输液监控的核心闭环(检测-计算-显示-报警),但缺乏网络功能,扩展性一般。

路径二:联网型监控终端(适合8-12周毕设)

  • 核心控制器:STM32F103C8T6(蓝色小板)。性能更强,外设丰富,有实时操作系统(如FreeRTOS)加持的可能性,更适合处理多任务和复杂逻辑。
  • 滴速检测:同上,可考虑更高精度或带调理电路的专业模块。
  • 显示:OLED屏或TFT液晶屏,能显示更丰富的图形化信息。
  • 网络模块:ESP8266(Wi-Fi)或 SIM800C(4G)。这是实现物联网的关键。
  • 云平台:阿里云物联网平台、腾讯云IoT Explorer、OneNET。提供设备接入、数据存储、规则引擎和可视化开发工具。
  • 输出:本地显示报警 + 手机APP/小程序远程查看报警。
  • 特点:技术栈完整,符合当前物联网主流架构,项目报告“含金量”高,可以深入探讨MQTT/CoAP通信协议、云端数据可视化等话题。

路径三:多功能集成终端(挑战性毕设)在路径二基础上,增加更多传感器和执行器,例如:

  • 增加称重传感器(HX711模块):通过监测输液瓶重量变化来交叉验证液滴传感器计算的剩余液量,极大提高系统可靠性。当两种方式数据冲突时,触发“系统自检异常”报警。
  • 增加蓝牙模块(HC-05/06):除了上云,同时支持护士通过平板电脑蓝牙近距离巡检,作为网络中断的备份通信方案。
  • 小型执行机构:设计一个简单的机械夹子,由舵机控制,在输液结束时或发生严重异常时,自动夹闭输液管(需谨慎设计,强调安全冗余,实际产品需严格认证)。

对于大多数同学,我强烈推荐路径二。它在难度和展示度上取得了很好的平衡。下面,我们就以STM32+ESP8266+阿里云这套组合为例,深入各个环节的实战细节。

3. 硬件设计与传感器选型的核心考量

硬件是系统稳定性的根基。这里面的坑,很多是原理图上看起来没问题,一上电就现原形。

3.1 液滴检测:为什么红外对管是首选,以及如何用好它

检测液滴,常见思路有红外、称重、图像识别。对于学生项目,红外对管方案是性价比和可行性的绝对王者

  • 选型逻辑:我们选择调制型红外对管(如TCRT5000),而不是简单的红外发射接收管。因为TCRT5000内部集成了发射管、接收管和比较器,输出已经是数字信号(高低电平),极大地简化了单片机的处理程序,抗干扰能力也更强。如果你用分离元件,需要自己搭建放大和整形电路,光环境光干扰就够你调试一阵子。
  • 安装的“魔鬼细节”
    1. 对准是生命线:必须将传感器紧密地固定在输液滴壶的两侧,确保发射的红外光能穿过滴壶中的液滴,被接收管接收到。液滴下落时,会引起光路强度的突变,从而产生一个脉冲信号。可以用3D打印一个卡扣,或者用黑色热缩管包裹传感器以减少外界光干扰。
    2. 背景干扰处理:滴壶内的液体本身、滴壶的塑料材质都会透光。你需要调整传感器上的电位器(或通过代码设置比较阈值),使得有液滴通过时,输出电平翻转;没有液滴时,输出稳定在另一个状态。实测时,用手电筒照一下,看看输出会不会乱跳,这是简单的抗干扰测试。
    3. 消抖至关重要:机械振动或液滴撞击可能产生毛刺信号。必须在单片机程序中进行软件消抖。我的经验是,检测到下降沿(或上升沿)后,延时10-20ms再次检测,如果状态依然成立,则判定为一个有效的液滴信号。这个延时时间需要根据你的具体安装情况进行微调。

注意:千万不要以为买到传感器接上线就能用。花半天时间精心调整它的物理位置和阈值,能为你后续的软件开发省去无数麻烦。这是硬件项目中“慢就是快”的典型体现。

3.2 控制器与网络模块:STM32与ESP8266的协作

  • STM32的角色:它是整个系统的“大脑”,负责所有实时性要求高的任务:定时扫描液滴传感器信号、计算速度、判断异常、控制本地显示和声光报警。它的稳定可靠直接决定了系统本地的核心功能是否可用。
  • ESP8266的角色:它是系统的“通信官”。STM32通过串口(UART)将封装好的数据(如{“speed”:55, “time_left”:125, “alarm”:0})发送给ESP8266。ESP8266负责连接Wi-Fi,并通过MQTT协议将数据发布到阿里云物联网平台。同时,它也订阅云平台下发的指令(如远程修改输液速度阈值)。
  • 连接要点:两者之间通常只需连接三根线:TX、RX、GND。切记:STM32的TX接ESP8266的RX,STM32的RX接ESP8266的TX。供电要充足,ESP8266在发射信号时瞬时电流较大,建议单独用一个AMS1117-3.3V模块为其供电,或确保你的主板3.3V电源能提供至少500mA的电流。

3.3 电源设计:容易被忽略的稳定性基石

很多同学的作品在实验室用USB供电好好的,一旦换成电池或用久了就重启、乱报警。问题多半出在电源上。

  • 需求分析:STM32核心板约需100mA,ESP8266峰值电流可达300mA,传感器、屏幕等约50mA。所以系统峰值电流可能接近500mA。
  • 方案选择
    • 实验室演示:用手机充电头(5V/1A以上)通过Micro USB给开发板供电是最简单的。
    • 追求便携/拟真:使用单节18650锂电池(3.7V)配合一个高效的DC-DC升压模块(输出5V/1A)。关键点:升压模块的输出电容要够大(建议470μF以上),以应对ESP8266发射时的瞬时电流冲击。
    • 备用电源:可以考虑加入一个小容量超级电容(如0.1F),在主电源意外断开时,为系统提供完成最后一次“紧急报警”数据上传和本地报警的能量,这个设计思路能在答辩时为你加分。

4. 软件逻辑与算法:让系统真正“智能”起来

硬件收集原始信号,软件则赋予系统灵魂。这里的算法不需要多高深,但一定要健壮。

4.1 液滴速度计算的稳健算法

最朴素的方法是“数固定时间内的脉冲数”,比如每60秒数一次。但这会导致显示的速度值每分钟才更新一次,不实时,且在每分钟的开头结尾可能误差很大。

推荐采用“滑动时间窗”算法:

  1. 在单片机内维护一个固定长度的队列(比如记录最近100个液滴的时间戳)。
  2. 每检测到一个新液滴,就记录当前系统时间(毫秒级),并放入队列。
  3. 当前速度 =(队列长度 - 1) / (队列中最后一个时间戳 - 第一个时间戳) * 60000。单位是滴/分。
  4. 这个算法的好处是:速度值近乎实时更新(每来一滴新液滴就更新一次),且对单次检测误差不敏感,结果平滑。
// 伪代码示例 #define WINDOW_SIZE 100 uint32_t time_queue[WINDOW_SIZE]; int queue_index = 0; void droplet_detected() { uint32_t current_time = get_system_tick_ms(); time_queue[queue_index] = current_time; queue_index = (queue_index + 1) % WINDOW_SIZE; // 计算有效窗口内的速度 int valid_count = 0; uint32_t oldest_time = current_time; // ... 遍历队列,找出最早的有效时间戳并计数 ... if (valid_count > 1) { float period_ms = (float)(current_time - oldest_time) / (valid_count - 1); float speed_dpm = 60000.0 / period_ms; // 滴/分钟 update_speed_display(speed_dpm); } }

4.2 异常状态判定的策略与容错

报警逻辑不能太“敏感”,否则误报频频;也不能太“迟钝”,否则失去意义。需要加入状态机和延时判定。

  • 输液结束判断:不能因为检测到30秒没液滴就报警。可能是病人调整姿势暂时影响。可以设定为:连续2分钟速度为零,且估算剩余液量已低于5毫升。两个条件同时满足才触发“输液结束”报警。
  • 速度异常判断:设定安全范围(如20-80滴/分)。当连续3次计算的速度值都超出此范围,才触发“速度异常”报警。这能过滤掉因液滴粘连或振动产生的瞬时错误速度。
  • 管路堵塞判断:这是一个难点。一个可行的思路是结合“速度接近于零”但“重量传感器显示瓶重未明显减少”(如果装了称重模块)。如果没有重量传感器,可以辅助判断滴壶上端液面是否持续过高(这需要另一个红外传感器),但复杂度激增。对于基础项目,可以暂不实现或简化处理。
  • 报警优先级与互斥:定义报警优先级,例如“管路脱落” > “输液结束” > “速度异常”。高优先级报警触发时,屏蔽低优先级报警的显示,但日志中可以记录。

4.3 基于FreeRTOS的多任务管理(进阶)

如果你的系统功能较多(实时检测、刷新屏幕、处理网络数据、响应按键),使用裸机循环可能会显得混乱且响应不及时。引入FreeRTOS可以让逻辑更清晰。

  • 任务划分建议
    • Task_Sensor:高优先级任务,专门处理液滴传感器中断,将事件放入队列。
    • Task_Calculate:中优先级任务,从队列读取事件,计算速度、液量,判断状态。
    • Task_Display:低优先级任务,定期更新屏幕信息。
    • Task_Network:中优先级任务,管理ESP8266通信,定时上传数据或接收指令。
  • 好处:各司其职,互不阻塞。即使网络通信暂时卡住,也不会影响液滴检测这个核心功能的实时性。在答辩时,你能清晰地画出任务框图,并解释实时操作系统的优势,这非常加分。

5. 物联网平台接入与数据可视化

这是将项目从“玩具”升级为“物联网应用”的关键一步,也是报告和演示的亮点。

5.1 阿里云物联网平台快速上手

  1. 创建产品与设备:在阿里云物联网平台控制台,创建一个新产品,品类可选“医疗设备”。定义好产品的功能定义(物模型),这是核心。你需要定义几个属性(如Speed,RemainingTime,BatteryLevel)和几个事件(如DropEndEvent,SpeedAbnormalEvent)。然后,创建设备,获取三元组(ProductKey, DeviceName, DeviceSecret),这相当于设备的身份证。
  2. ESP8266端开发:使用Arduino IDE或PlatformIO,导入阿里云提供的ESP8266 SDK。代码的核心是:
    • 用三元组信息连接Wi-Fi和阿里云。
    • 定时(如每10秒)调用property.post上报属性数据。
    • 发生报警时,调用event.post上报事件。
    • 实现property.set的回调函数,以接收云端下发的指令(如修改速度阈值)。
  3. 主题(Topic)订阅与发布:阿里云SDK已经封装了这些细节,你只需要调用对应的接口即可,无需手动拼接MQTT主题。

5.2 打造炫酷的Web可视化界面

阿里云物联网平台自带“IoT Studio”应用开发工具,可以让你零代码搭建一个监控大屏。

  • 组件拖拽:添加数字仪表盘显示当前滴速,添加进度条显示剩余时间,添加开关显示报警状态,添加地图显示设备位置(可模拟)。
  • 数据绑定:将这些组件的属性与你设备物模型中定义的属性或事件进行绑定。
  • 交互设置:你可以添加一个“阈值设置”滑块组件,并将其与一个“服务”关联,这个服务就是向设备下发设置指令。
  • 生成链接:完成后,可以生成一个独立的网页链接。你可以在答辩时直接用浏览器全屏展示这个动态更新的监控大屏,效果非常专业。

5.3 手机APP的另一种选择

如果觉得Web不够“移动”,可以使用云平台提供的APP开发工具(如阿里云的“公版APP”或“自定义APP”),或者使用更灵活的MIT App InventorFlutter快速开发一个简易APP。核心是通过调用云平台的API来获取设备数据。这一步可以作为项目的扩展亮点。

6. 系统集成、调试与排坑实录

这是最考验耐心和工程能力的阶段。硬件和软件单独测试都OK,一联调就出问题。

6.1 分模块调试法

绝对不要一上来就把所有东西连在一起。务必分步进行:

  1. 传感器测试:单独给红外对管供电,用单片机读取其输出,用串口打印出来。用一滴水模拟液滴通过,观察输出是否产生干净的脉冲。解决所有抖动和误触发问题。
  2. 核心逻辑测试:在传感器OK的基础上,编写速度计算和报警逻辑,用串口打印出计算结果。你可以用有规律地遮挡传感器来模拟不同滴速。
  3. 显示模块测试:单独测试屏幕,确保能正常显示文字和图形。
  4. 网络模块测试:单独测试ESP8266,让它连接Wi-Fi,并尝试向一个公共的MQTT服务器发布消息,验证其基本功能。
  5. 串口通信测试:将STM32和ESP8266连接,让STM32定时通过串口发送一段固定的字符串,ESP8266收到后通过串口打印出来。确保波特率、数据位、停止位一致。
  6. 云平台对接测试:在ESP8266程序中,先注释掉所有业务逻辑,只做一件事:连接阿里云并定时上报一个测试属性。在物联网平台控制台查看设备是否在线,数据是否成功上报。
  7. 逐步集成:从1+2开始,然后+(3),再+(4,5,6)。每集成一个模块,就充分测试。

6.2 常见问题与解决方案

  • 问题:液滴计数不准,时多时少。

    • 排查:首先用示波器或逻辑分析仪查看传感器输出波形(如果没有,可以用单片机翻转一个IO口并用软件模拟串口发出来看)。看波形是否有毛刺,高低电平是否干净。
    • 解决:调整传感器阈值电位器;加强软件消抖逻辑;在传感器输出端对地并联一个104(0.1uF)电容滤除高频干扰;检查机械固定是否牢固,避免振动。
  • 问题:ESP8266经常断线重连。

    • 排查:检查电源电压,在ESP8266启动和发射时用万用表测量其VCC引脚,看是否有大幅跌落(低于3.0V就很危险)。
    • 解决:加强电源滤波(加大输入输出电容);在程序中加入更完善的网络重连机制和看门狗;确保Wi-Fi信号强度(RSSI)良好。
  • 问题:STM32和ESP8266串口通信乱码。

    • 排查:确认双方波特率是否精确匹配(常用115200)。检查接线TX/RX是否交叉连接。检查共地是否良好。
    • 解决:在程序初始化时,精确配置串口时钟源和分频系数;发送和接收都启用校验位进行测试;降低波特率到9600测试是否稳定。
  • 问题:系统运行一段时间后死机。

    • 排查:最可能是堆栈溢出或内存泄漏(如果用了动态内存)。或者是中断服务程序处理时间过长。
    • 解决:检查FreeRTOS中每个任务的堆栈大小,适当调大;避免在中断中进行复杂操作或调用阻塞式函数;使用静态内存分配;开启硬件看门狗。

7. 项目文档、答辩与扩展思考

完成作品只成功了60%,剩下的40%在于如何展示它。

7.1 如何撰写一份出色的设计报告

报告不是代码的堆砌,要体现你的设计思想和工程能力。

  • 摘要与引言:清晰说明项目背景(传统输液监护的痛点)、设计目标、系统总体功能和创新点。
  • 系统总体设计:画出系统框图(传感器->MCU->网络->云->用户),并解释每一层的作用。
  • 硬件设计详解:给出核心电路原理图(传感器接口、电源部分、串口连接),并解释为什么这么设计(如为什么要加上拉电阻,为什么电源要加电容)。
  • 软件设计详解:给出主程序流程图、关键算法(如速度计算、状态判断)的流程图或伪代码。重点解释你的算法如何提高鲁棒性
  • 物联网平台应用:截图展示你在阿里云上创建的产品、物模型、以及IoT Studio搭建的可视化界面。说明数据流是如何流转的。
  • 系统测试与分析:设计测试用例。例如:用不同频率的模拟信号测试滴速计算精度;模拟网络中断看本地报警是否正常;记录系统连续运行24小时的稳定性。用图表展示测试数据(如实际滴速与测量滴速的对比曲线)。
  • 总结与展望:客观总结项目的成果与不足(例如:滴速检测在强光下仍有误报可能),并提出可行的改进方案(如:增加光强传感器自动补偿,或采用图像识别方案作为下一代研究方向)。

7.2 答辩演示技巧

  • 演示脚本:提前写好一个1-2分钟的演示脚本,边操作边讲解。“大家好,现在系统正在平稳运行,屏幕上显示当前滴速是55滴/分,剩余时间约30分钟。我现在模拟输液结束(停止模拟液滴),系统在检测到长时间无液滴后,先触发本地声光报警,同时大家可以看到,云端大屏上的状态也立刻变成了红色报警,并推送了消息。”
  • 准备“包袱”:可以故意制造一个异常(比如拔掉传感器),然后展示系统如何报警,并演示如何通过手机APP远程确认报警。这能生动体现系统的完整性。
  • 应对提问:提前思考老师可能会问的问题:你的系统和市面上已有的产品比有什么优缺点?(答:成本低,可定制化程度高,但医疗认证和可靠性远不及专业产品)如果网络断了怎么办?(答:本地报警依然工作,并会尝试重连,网络恢复后补传关键报警日志)液滴检测除了红外还有别的方法吗?(答:有,称重法和图像识别法,并简要分析利弊)

7.3 项目扩展与深化思路

如果想做得更出彩,可以考虑以下方向:

  • 大数据与预测:在云端收集大量输液过程数据(速度变化曲线),尝试用简单的算法(如移动平均)预测输液结束时间,并在后期提前预警。
  • 多床位集中监控:设计一个护士站监控中心,可以同时查看多个病房、多个床位的输液状态。这需要设计更复杂的设备管理和通信协议。
  • 与医院信息系统(HIS)集成(概念):在报告中探讨,如果实际部署,如何通过安全接口将报警信息写入护士工作站系统,生成电子护理记录。这涉及到系统架构和安全性的思考。
  • 低功耗设计:如果考虑电池供电,需要选用低功耗MCU(如STM32L系列),并让系统大部分时间处于休眠模式,仅定时唤醒检测或发生报警时激活。

本文还有配套的精品资源,点击获取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/3 1:11:01

本科毕业论文开题报告写作全攻略:选题、文献综述与技术路线详解

又是一年毕业季,很多本科生在写开题报告时才发现,大学四年好像从来没有一门课专门教过这件事。选题怎么定?国内外研究现状是不是就是把知网摘要拼在一起?文献综述和论文正文有什么区别?技术路线图到底该画成什么样&…

作者头像 李华
网站建设 2026/9/3 1:09:23

开源智慧农业物联网平台3.0.1:从MQTT协议到规则引擎的实战解析

简介:这是一套面向Java开发者与农业数字化从业者的开源智慧农业物联网平台(v3.0.1),覆盖设备端、APP端、平台端与管理端全链路,解决中小型农业企业及个人开发者在物联网系统搭建中常见的协议缺失、模块不全、部署复杂等…

作者头像 李华
网站建设 2026/9/3 1:05:37

Python批量处理图片:重命名、压缩与归档完整方案

看到你正在整理“暗影花仙精灵王”系列的卡牌图片,这种图片素材通常数量多、文件名混乱、格式不统一,手动一张张重命名和压缩非常低效。结合我过去的批量图片处理经验,整理了一套完整的 Python 批量处理方案,可以把图片整理这件事…

作者头像 李华
网站建设 2026/9/3 1:04:02

Code as Worlds:智能体用可执行代码构建世界模型

在 Agent 研究和工程实践中,一个正在快速升温的方向是 “Code as Worlds”:智能体不再把对环境的理解只保存在自然语言描述或网络参数里,而是把环境规则写成一段可执行代码。也就是说,Agent 用 Python 函数表示自己学到的东西&…

作者头像 李华
网站建设 2026/9/3 0:56:13

为了更好地理解tidyr包的实际应用,我们来看看一个真实案例

下面的内容摘录自《用R探索医药数据科学》专栏文章的部分内容(原文6047字)。 2篇2章3节:处理医学类原始数据的重要技巧,R语言中的宽长数据转换,tidyr包的使用指南_r语言 医学公共数据库 变量类型及转换-CSDN博客 在数…

作者头像 李华