训练状态看板“Ready to Train?”“Ready to Train?” Dashboard
R Shiny · 公开数据 PMDataR Shiny · public PMData dataset
- 项目背景:课程作业,为运动爱好者和教练设计看板,展示每天的状态自评、睡眠、训练和酸痛,找出与次日状态相关的习惯。
- 工作内容:用 16 人 5 个月公开数据做看板,逐一检验 16 个习惯并校正,仅“比平时晚睡 1 小时以上”与次日状态明确相关。
- 项目结果:状态评分和人体酸痛图后来复用进 AIO 的晨间自评;作业 92/100(全班 291 人中最高),获最高档 H1。
- Coursework: a dashboard for athletes and coaches showing each day's self-rated readiness (out of 10), sleep, training and soreness, and which everyday habits go with how ready people feel the next morning.
- Analysed public data on 16 people over 5 months, testing 16 habits one by one and correcting for chance links: only going to bed 1 h+ later than usual had a clear link (next-morning readiness about 0.5 points lower).
- Its readiness rating and soreness body map were later reused in AIO's morning check-in, read with heart rate and sleep to judge recovery after training; assignment 92/100 (top mark of 291), an H1 (top band).
这是独立完成的课程项目。做完后,我把状态评分和人体酸痛图的设计复用到This is an independent coursework project. After completing it, I reused its readiness rating and soreness body map in AIO 的晨间自评AIO’s morning check-in:记录自己的感受后,可以结合睡眠、心率等恢复背景查看。: after logging how you feel, you can view it alongside recovery context such as sleep and heart rate. 看这段演进 →Explore that progression →
- 作业要求The brief
- 自定用户与用途,为真实数据设计交互Pick an audience and purpose, and design interaction for a real dataset
- 数据Data
- PMData:16 人、5 个月(Thambawita 等,2020,CC BY 4.0)PMData: 16 people, 5 months (Thambawita et al., 2020, CC BY 4.0)
- 页面Pages
- 3 页:今天、日常习惯、习惯对比;卡片可以点开看明细3 pages: Today, Everyday habits, Compare habits; cards open detail views
- 无障碍Accessibility
- 通过 WCAG 2.2 AA 自动检查(axe)Passed automated WCAG 2.2 AA checks (axe)
- 成绩Mark
- 92/100,全班 291 人中最高(班均 71.8)92/100, the top mark of 291 (class mean 71.8)
从数据看板,到 AIO 的恢复场景From a data dashboard to recovery in AIO
项目本身仍是独立的课程项目。The project itself remains independent coursework.
- 课程探索 · 回看一天Coursework · looking back at a day用公开 PMData 把状态自评、睡眠、训练与酸痛放在一起,让人可以比较某一天与平常、查看习惯与次日状态的关联。Bring readiness, sleep, training and soreness together using public PMData, so people can compare a day with their usual patterns and explore associations with next-day readiness.
- 已复用 · 晨间自评Reused · the morning check-in把看板中的状态评分和人体酸痛图转成 AIO 的晨间输入。记录自己的感受后,再结合睡眠、心率等恢复背景查看。Turn the dashboard’s readiness rating and soreness body map into morning inputs in AIO, viewing personal experience alongside sleep, heart-rate and other recovery context.
- 升级方向 · 连续跟进Next direction · following through从“这一天是什么状态”延伸到“上次训练后有什么变化、今天的安排要不要调整、之后怎样回看”。靠本人的连续记录把这几步串起来。这一步还是设计方向。Extend “What was this day like?” to “What changed after the last session, should today’s plan change, and what should I review later?” Personal records would tie these steps together. This step is still a design direction.
迁移的是记录感受、组织证据和解释状态的方法。PMData 中的群体关联不能直接变成个人健康判断的阈值;AIO 需要结合本人的记录、基线与使用情境。What transfers is a way to record experience, organize evidence and explain readiness. Group associations in PMData cannot directly become thresholds for an individual’s health; AIO needs personal records, baselines and context.
打开浏览器就能用的网页版A web version that runs in the browser
三页都移植到了网页版;统计量用原版 R 代码导出,逐个参与者、逐天对过 R 的原值。The web version runs in the browser with all three pages ported; its statistics are exported with the original R code and checked against R for every participant and day.
真实应用的操作录屏A screen recording of the real app
Shiny 应用需要 R 服务器,这里放一段 65 秒的录屏:在本机运行提交版,真实操作录下来。画面里的光标和参与者下拉菜单是录屏时加的示意,其余都是应用真实的反应。可以点下面的章节直接跳转。Shiny apps need an R server, so this is a 65-second recording of the submitted version running locally and used for real. The cursor and the participant drop-down are overlays added for the recording; everything else is the app's real behaviour. Jump to a chapter below.
我做的四个取舍Four trade-offs I made
每张卡片标明时间范围Every card states its time window
同一个日期里混着昨晚的睡眠、昨天的训练和今早的自评,不写清楚就会被误读,所以每张卡片都标明它说的是哪一段时间。One date mixes last night's sleep, yesterday's training and this morning's check-in; without labels it gets misread, so each card says which window it covers.
证据不足就直说Say so when evidence is weak
16 个日常习惯里,只有“比平时晚睡 1 小时以上”和第二天的状态有清楚的关联;预测模型没跑赢简单基线,页面也直接写出来。Of 16 everyday habits, only going to bed an hour or more later than usual has a clear link with the next morning; the forecast model didn't beat a simple baseline, and the page says so.
一起做的检验一起校正Correct for testing many things at once
16 个习惯加 2 个对照用的状态,共 18 个检验,一起做了多重比较校正,避免把偶然当发现。The 18 tests (16 habits plus 2 reference states) were corrected together for multiple comparisons, so chance doesn't pass as a finding.
不写成训练建议Not training advice
这是回看和探索的工具,页面写明不是训练建议。It's a tool for looking back and exploring, and the page states that it is not training advice.
提交版设计说明里的配图Figures from the submitted design summary



