改变你的睡眠模式:根据数据创建健康的睡眠习惯(特色:R)
一天中最重要的时间是什么? 瞬间为身心充电 睡眠时间.但是,如果你的睡眠质量很差,那么无论你睡多少个小时,早上醒来时都不会有好心情。在这篇文章中,我们将对数据进行分析,并为您提供改变睡眠模式的实用方法。

分析睡眠数据
上面的睡眠模式图片来自 总睡眠时间为 6 小时 31 分钟和 实际睡眠时间为 6 小时 26 分钟图中。如果按睡眠阶段来分析这些模式,我们可以看到以下特征
1. 深度睡眠
- 图表底部的深蓝色条带。
- 时间集中在夜间 23:30 至 01:00。
- 特点深度睡眠:它在身体恢复和免疫力方面发挥着重要作用,但数据表明,深度睡眠的持续时间相当短。
2. 浅睡眠(核心睡眠)
- 中间蓝色部分
- 它占睡眠总时间的大部分,也是睡眠阶段中最长的一个。
- 特点过渡到深度睡眠和快速动眼期睡眠之前的阶段,在这一阶段身体得到了休息,但还没有深度恢复。
3. 快速动眼期睡眠(REM Sleep)
- 浅蓝色标记的部分。
- 它定期出现,被称为做梦阶段。
- 特点对记忆和情绪恢复能力很重要。数据显示这是一个相对稳定的周期。
4. 唤醒时间(唤醒)
- 红色部分
- 6:00 之后有短暂的清醒,这似乎是正常的清醒。
睡眠数据的问题所在及改进方法
问题 1:缺乏深度睡眠
-. 分析与总睡眠时间相比,深度睡眠时间显得很短,这会对身体的恢复和免疫系统的增强产生负面影响。
-. 解决方案
- 睡前尽量少用电子产品,在黑暗环境中入睡。
- 保持规律的就寝和起床时间,稳定睡眠节奏。
- 通过做放松运动(冥想、伸展运动)为睡眠做准备。
问题 2:浅睡眠比例高
-. 分析浅睡眠:浅睡眠时间似乎过长,向深睡眠和快速动眼期睡眠的过渡可能会延迟。
-. 解决方案
- 白天多晒太阳,进行适当的体育锻炼,以促进睡眠激素(褪黑激素)的分泌。
- 睡前 6 小时避免摄入咖啡因。
睡眠模式分析--R 可视化示例

为了更好地分析睡眠数据,我们推荐使用 R 可视化技术。下面是一个可视化类似睡眠数据的代码示例。
# 安装所需软件包
install.packages("ggplot2")
install.packages("lubridate")
install.packages("tidyr")
install.packages("dplyr")
# 加载所需的库
library(ggplot2)
library(lubridate)
library(dplyr)
library(tidyr)
# 1. 生成时间和睡眠阶段数据
time_range <- seq(from = as.POSIXct("2023-01-01 23:00")、
to = as.POSIXct("2023-01-02 06:30")、
by = "10 min")
stages <- c(0, 1, 2, 1, 3, 0, 1, 2, 1, 3, 0, 1, 2, 1, 3, 0, 1, 2, 1, 3, 0, 1, 2, 1, 3) # 示例数据
创建 # 数据框
sleep_data <- data.frame(Time = time_range[1:length(stages)], Stage = stages)
# 2. 清理数据:添加 "Next_Time",为阶段图做准备
sleep_data %
mutate(Next_Time = lead(Time), Next_Stage = lead(Stage)) %>% # 添加下一个阶段和时间
filter(!is.na(Next_Time)) %>% # 删除带有 NA 的最后一行
pivot_longer(cols = c(Stage, Next_Stage), names_to = "类型", values_to = "阶段")
# 3.可视化(阶段图)
stage_colours <- c("darkblue", "blue", "cyan", "red") # 按睡眠阶段分类的颜色
names(stage_colours) <- c("深度睡眠"、"浅度睡眠"、"快速动眼期睡眠"、"清醒")
stage_labels <- c("Deep Sleep", "Light Sleep", "REM Sleep", "Awake") # 阶段标签
绘制 # 图表
ggplot(sleep_data, aes(x = 时间, y = 阶段, group = 1)) +
geom_step(aes(color = factor(Stage)), size = 1.2) + 绘制 # 阶段图
scale_y_continuous(
breaks = 0:3、
labels = stage_labels set # y-axis labels
) + #
scale_colour_manual(
values = stage_colours, # 按阶段分配颜色
labels = stage_labels,# 为每个阶段指定标签
name = "睡眠阶段" # 图例标题
)
实验室(
title = "睡眠模式可视化", # 图表标题
x = "时间",# X 轴标签
y = "睡眠阶段",# Y 轴标签
) + Β
theme_minimal()
主题(
axis.text.x = element_text(angle = 45, hjust = 1) # 旋转 X 轴标签
)代码评注
- 安装和加载软件包
- 安装并加载 ggplot2、lubridate、tidyr 和 dplyr 软件包。
- 这些软件包提供了处理和可视化数据所需的工具。
- 生成数据:
- 从 2023 年 1 月 1 日 23:00 到 2023 年 1 月 2 日 06:30,创建一个 10 分钟间隔的时间范围。
- 创建代表睡眠阶段的示例数据(0-3)。
- 创建一个包含时间和睡眠阶段的数据帧。
- 清理数据
- 使用 lead() 函数添加下一个时间和步长信息。
- 删除最后一行的 NA 值。
- 使用 pivot_longer() 函数重组数据。
- 准备你的可视化:
- 为每个睡眠阶段定义颜色和标签。
- 将睡眠阶段分为 "深度睡眠"、"浅度睡眠"、"快速动眼期睡眠 "和 "清醒"。
- 使用 ggplot 生成图形:
- 使用 geom_step() 绘制阶梯图。
- 使用 scale_y_continuous() 设置 y 轴。
- 使用 scale_color_manual() 指定颜色。
- 使用 labs() 设置图表标题和坐标轴标签。
- 使用 theme_minimal() 应用极简主题。
- 将 X 轴标签旋转 45 度,使其更清晰易读。
改变睡眠模式的更多建议
1. 保持规律的睡眠习惯养成每天在同一时间睡觉和起床的习惯。
2. 改善睡眠环境卧室:保持黑暗、安静和适宜的温度。
3. 增加一项放松活动睡前冥想或伸展运动:睡前冥想或伸展运动能让身心平静下来。
4. 限制咖啡因和酒精的摄入量注意:睡前 6 小时内避免摄入咖啡因,尽量少喝酒。
有条不紊--改变睡眠模式
分析您的睡眠模式并根据数据做出改进,可以帮助您过上更健康的生活,尤其是在发现睡眠模式问题并做出改进时,而不仅仅是增加睡眠时间。 R 可视化和数据分析让你的睡眠习惯更上一层楼。
如果你想知道能否用 Python 将睡眠模式可视化,可以使用 睡眠模式分析和 Python 可视化:利用数据促进健康睡眠 看看这篇文章。





