#安装必要的库
install.packages("dplyr", repos = "https://cran.r-project.org")
## 程序包'dplyr'打开成功,MD5和检查也通过
## Warning: 无法删除软件包 'dplyr' 的先前安装
## Warning in file.copy(savedcopy, lib, recursive = TRUE):
## 拷贝D:\D下载\R-4.4.1\library\00LOCK\dplyr\libs\x64\dplyr.dll到D:\D下载\R-4.4.1\library\dplyr\libs\x64\dplyr.dll时出了问题:Permission
## denied
## Warning: 回复了'dplyr'
##
## 下载的二进制程序包在
## C:\Users\Lenovo\AppData\Local\Temp\RtmpGQNpNe\downloaded_packages里
install.packages("ggplot2", repos = "https://cran.r-project.org")
## 程序包'ggplot2'打开成功,MD5和检查也通过
##
## 下载的二进制程序包在
## C:\Users\Lenovo\AppData\Local\Temp\RtmpGQNpNe\downloaded_packages里
install.packages("tidyr", repos = "https://cran.r-project.org")
## 程序包'tidyr'打开成功,MD5和检查也通过
## Warning: 无法删除软件包 'tidyr' 的先前安装
## Warning in file.copy(savedcopy, lib, recursive = TRUE):
## 拷贝D:\D下载\R-4.4.1\library\00LOCK\tidyr\libs\x64\tidyr.dll到D:\D下载\R-4.4.1\library\tidyr\libs\x64\tidyr.dll时出了问题:Permission
## denied
## Warning: 回复了'tidyr'
##
## 下载的二进制程序包在
## C:\Users\Lenovo\AppData\Local\Temp\RtmpGQNpNe\downloaded_packages里
# 加载必要的库
library(dplyr)
## Warning: 程序包'dplyr'是用R版本4.4.2 来建造的
##
## 载入程序包:'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(ggplot2)
## Warning: 程序包'ggplot2'是用R版本4.4.2 来建造的
library(tidyr)
## Warning: 程序包'tidyr'是用R版本4.4.2 来建造的
#(2)
data <- read.csv("D:\\本科课程\\大一秋\\普通统计学\\csv副本.csv")
# 血压列拆分
data$Blood.systolic <- sapply(strsplit(as.character(data$Blood.Pressure), "/"), `[`, 1)
data$Blood.diastolic <- sapply(strsplit(as.character(data$Blood.Pressure), "/"), `[`, 2)
# 转换为数值型变量
data$Blood.systolic <- as.numeric(data$Blood.systolic)
data$Blood.diastolic <- as.numeric(data$Blood.diastolic)
#(3)
nume.cols<-data[c("Quality.of.Sleep", "Age", "Sleep.Duration", "Physical.Activity.Level", "Blood.systolic", "Blood.diastolic", "Heart.Rate", "Daily.Steps")]
cate.cols<-data[c("Gender", "Occupation", "Stress.Level", "BMI.Category", "Sleep.Disorder")]
# 把分类变量都转换成分类类型的变量
data$Gender <- as.factor(data$Gender)
data$Occupation <- as.factor(data$Occupation)
data$Stress.Level <- as.factor(data$Stress.Level)
data$BMI.Category <- as.factor(data$BMI.Category)
data$Sleep.Disorder <- as.factor(data$Sleep.Disorder)
# 性别比例的条形图
ggplot(data, aes(x = Gender)) +
geom_bar() +
labs(title = "性别分布", x = "性别", y = "频数")

# 参与人数与年龄折线图
#find how much people in each age first
age_counts<-data%>%
group_by(Age)%>%
summarise(nums.of.age=n())
#then draw the picture
ggplot(age_counts,aes(x=Age,y=nums.of.age))+
geom_line(color="blue",linewidth=1)+
labs(title="各年龄参与人数折线图",x="年龄",y="参与人数")+
theme_minimal()

# 职业饼图、BMI类别饼图、睡眠障碍类型饼图
apie <- table(data$BMI.Category)
pie(apie, labels = paste(names(apie), round(apie / sum(apie) * 100, 1), "%"))

# 睡眠时间分布的直方图、主观睡眠质量直方图
ggplot(data, aes(x = Sleep.Duration)) +
geom_histogram(bins = 30, fill = "blue", color = "black") +
labs(title = "睡眠时间的分布", x = "睡眠时间(小时)", y = "频数")

# 每日身体活动时间的密度图
ggplot(data, aes(x = Physical.Activity.Level)) +
geom_density(fill = "blue", alpha = 0.5) +
labs(title = "每日身体活动时间的密度图", x = "每日身体活动时间(小时)", y = "密度")

# 画血压茎叶图
x=c(data$Blood.systolic)
stem(x)
##
## The decimal point is at the |
##
## 114 | 0000000000000000000000000000000000
## 116 | 00
## 118 | 00000
## 120 | 0000000000000000000000000000000000000000000000
## 122 | 0
## 124 | 00000000000000000000000000000000000000000000000000000000000000000000
## 126 | 00
## 128 | 0000000
## 130 | 00000000000000000000000000000000000000000000000000000000000000000000+23
## 132 | 000
## 134 | 00000000000000000000000000000
## 136 |
## 138 | 00
## 140 | 00000000000000000000000000000000000000000000000000000000000000000000
## 142 | 00
x=c(data$Blood.diastolic)
stem(x)
##
## The decimal point is at the |
##
## 75 | 0000000000000000000000000000000000
## 76 | 000
## 77 | 00
## 78 | 00
## 79 | 0
## 80 | 00000000000000000000000000000000000000000000000000000000000000000000+31
## 81 |
## 82 | 0000
## 83 | 00
## 84 | 0000
## 85 | 00000000000000000000000000000000000000000000000000000000000000000000+22
## 86 | 0000
## 87 | 000
## 88 | 00
## 89 |
## 90 | 0000000000000000000000000000000
## 91 | 00
## 92 | 00
## 93 |
## 94 |
## 95 | 00000000000000000000000000000000000000000000000000000000000000000
# 每日步数与睡眠质量的散点图
ggplot(data, aes(x = Daily.Steps, y = Quality.of.Sleep)) +
geom_point() +
labs(title = "每日步数与睡眠质量的关系", x = "每日步数", y = "主观睡眠质量")

# 按性别分组绘制睡眠时间的箱线图
ggplot(data, aes(x = Gender, y = Sleep.Duration, fill = Gender)) +
geom_boxplot() +
labs(title = "不同性别的睡眠时间分布", x = "性别", y = "睡眠时间(小时)") +
theme_minimal()

#(4)
# 计算数值型变量的均值、中位数、方差、标准差
nume.cols <- c( "Quality.of.Sleep", "Age", "Sleep.Duration", "Physical.Activity.Level", "Blood.systolic",
"Blood.diastolic", "Heart.Rate", "Daily.Steps")
numeric_stats <- data %>%
select(all_of(nume.cols)) %>%
summarise(across(everything(), list(Mean = ~mean(. , na.rm = TRUE),
Median = ~median(. , na.rm = TRUE),
Variance = ~var(. , na.rm = TRUE),
SD = ~sd(. , na.rm = TRUE))))
numeric_stats
## Quality.of.Sleep_Mean Quality.of.Sleep_Median Quality.of.Sleep_Variance
## 1 7.312834 7 1.432703
## Quality.of.Sleep_SD Age_Mean Age_Median Age_Variance Age_SD
## 1 1.196956 42.18449 43 75.22324 8.673133
## Sleep.Duration_Mean Sleep.Duration_Median Sleep.Duration_Variance
## 1 7.132086 7.2 0.6330696
## Sleep.Duration_SD Physical.Activity.Level_Mean Physical.Activity.Level_Median
## 1 0.7956567 59.17112 60
## Physical.Activity.Level_Variance Physical.Activity.Level_SD
## 1 433.9224 20.8308
## Blood.systolic_Mean Blood.systolic_Median Blood.systolic_Variance
## 1 128.5535 130 60.03333
## Blood.systolic_SD Blood.diastolic_Mean Blood.diastolic_Median
## 1 7.748118 84.64973 85
## Blood.diastolic_Variance Blood.diastolic_SD Heart.Rate_Mean Heart.Rate_Median
## 1 37.96546 6.161611 70.16578 70
## Heart.Rate_Variance Heart.Rate_SD Daily.Steps_Mean Daily.Steps_Median
## 1 17.10381 4.135676 6816.845 7000
## Daily.Steps_Variance Daily.Steps_SD
## 1 2617651 1617.916
#绘制数值型变量箱线图
ggplot(data, aes(x = "", y = Quality.of.Sleep)) +
geom_boxplot(fill = "lightblue", color = "black") +
labs(title = "主观睡眠质量箱线图", y = "主观睡眠质量") +
theme_minimal()

#分类型变量计算众数
cate.cols <- c("Gender", "Occupation", "Stress.Level", "BMI.Category", "Sleep.Disorder")
get_mode <- function(x) {
uniq_x <- unique(x)
uniq_x[which.max(tabulate(match(x, uniq_x)))]
}
categorical_modes <- data %>%
summarise(across(all_of(cate.cols), get_mode))
categorical_modes
## Gender Occupation Stress.Level BMI.Category Sleep.Disorder
## 1 Male Nurse 3 Normal None
#输出两个数据框
print(numeric_stats)
## Quality.of.Sleep_Mean Quality.of.Sleep_Median Quality.of.Sleep_Variance
## 1 7.312834 7 1.432703
## Quality.of.Sleep_SD Age_Mean Age_Median Age_Variance Age_SD
## 1 1.196956 42.18449 43 75.22324 8.673133
## Sleep.Duration_Mean Sleep.Duration_Median Sleep.Duration_Variance
## 1 7.132086 7.2 0.6330696
## Sleep.Duration_SD Physical.Activity.Level_Mean Physical.Activity.Level_Median
## 1 0.7956567 59.17112 60
## Physical.Activity.Level_Variance Physical.Activity.Level_SD
## 1 433.9224 20.8308
## Blood.systolic_Mean Blood.systolic_Median Blood.systolic_Variance
## 1 128.5535 130 60.03333
## Blood.systolic_SD Blood.diastolic_Mean Blood.diastolic_Median
## 1 7.748118 84.64973 85
## Blood.diastolic_Variance Blood.diastolic_SD Heart.Rate_Mean Heart.Rate_Median
## 1 37.96546 6.161611 70.16578 70
## Heart.Rate_Variance Heart.Rate_SD Daily.Steps_Mean Daily.Steps_Median
## 1 17.10381 4.135676 6816.845 7000
## Daily.Steps_Variance Daily.Steps_SD
## 1 2617651 1617.916
print(categorical_modes)
## Gender Occupation Stress.Level BMI.Category Sleep.Disorder
## 1 Male Nurse 3 Normal None
#(5)
# 抽取数据
set.seed(2024)
train_indices <- sample(1:nrow(data), size = 200)
# 将数据分成训练集和评估集
train_data <- data[train_indices, ]
test_data <- data[-train_indices, ]
# 查看训练集和评估集的维度
print(train_data) # 200个样本
## Gender Age Occupation Sleep.Duration Quality.of.Sleep
## 66 Male 32 Doctor 6.2 6
## 37 Male 31 Doctor 6.1 6
## 45 Male 31 Doctor 7.7 7
## 188 Male 43 Salesperson 6.3 6
## 255 Female 45 Teacher 6.5 7
## 109 Male 37 Engineer 7.8 8
## 105 Female 36 Teacher 7.2 8
## 122 Female 37 Accountant 7.2 8
## 226 Male 44 Salesperson 6.3 6
## 29 Male 30 Doctor 7.9 7
## 11 Male 29 Doctor 6.1 6
## 272 Female 49 Nurse 6.1 6
## 62 Male 32 Doctor 6.0 6
## 252 Female 45 Teacher 6.8 7
## 26 Male 30 Doctor 7.9 7
## 172 Male 41 Lawyer 7.7 8
## 50 Male 31 Doctor 7.7 7
## 32 Female 30 Nurse 6.4 5
## 213 Male 43 Engineer 7.8 8
## 203 Male 43 Engineer 7.8 8
## 35 Male 31 Doctor 7.7 7
## 238 Female 44 Teacher 6.5 7
## 81 Female 34 Scientist 5.8 4
## 284 Female 50 Nurse 6.0 6
## 304 Female 51 Nurse 6.0 6
## 216 Male 43 Engineer 7.8 8
## 84 Male 35 Teacher 6.7 7
## 340 Female 55 Nurse 8.1 9
## 276 Female 49 Nurse 6.2 6
## 87 Male 35 Engineer 7.2 8
## 371 Female 59 Nurse 8.0 9
## 106 Male 36 Teacher 6.6 5
## 135 Male 38 Lawyer 7.3 8
## 336 Female 54 Engineer 8.4 9
## 212 Male 43 Engineer 7.8 8
## 323 Female 53 Engineer 8.4 9
## 281 Female 50 Nurse 6.0 6
## 290 Female 50 Nurse 6.1 6
## 217 Male 43 Engineer 7.8 8
## 313 Female 52 Engineer 8.4 9
## 305 Female 51 Nurse 6.1 6
## 310 Female 52 Accountant 6.6 7
## 131 Female 38 Accountant 7.1 8
## 153 Male 39 Lawyer 7.2 8
## 193 Male 43 Salesperson 6.5 6
## 6 Male 28 Software Engineer 5.9 4
## 346 Female 57 Nurse 8.2 9
## 207 Male 43 Engineer 7.7 8
## 205 Male 43 Engineer 7.6 8
## 186 Female 42 Teacher 6.8 6
## 334 Female 54 Engineer 8.4 9
## 115 Female 37 Accountant 7.2 8
## 108 Male 37 Engineer 7.8 8
## 261 Female 45 Teacher 6.6 7
## 208 Male 43 Engineer 7.7 8
## 332 Female 53 Engineer 8.4 9
## 331 Female 53 Engineer 8.5 9
## 211 Male 43 Engineer 7.7 8
## 189 Female 43 Teacher 6.7 7
## 259 Female 45 Teacher 6.6 7
## 365 Female 59 Nurse 8.0 9
## 235 Female 44 Teacher 6.6 7
## 328 Female 53 Engineer 8.5 9
## 16 Male 29 Doctor 6.0 6
## 36 Male 31 Doctor 6.1 6
## 209 Male 43 Engineer 7.7 8
## 73 Male 33 Doctor 6.1 6
## 312 Female 52 Accountant 6.6 7
## 240 Male 44 Salesperson 6.4 6
## 118 Female 37 Accountant 7.2 8
## 162 Female 40 Accountant 7.2 8
## 147 Male 39 Lawyer 7.2 8
## 140 Male 38 Lawyer 7.1 8
## 363 Female 59 Nurse 8.2 9
## 173 Male 41 Lawyer 7.7 8
## 190 Male 43 Salesperson 6.5 6
## 68 Male 33 Doctor 6.0 6
## 31 Female 30 Nurse 6.4 5
## 283 Female 50 Nurse 6.0 6
## 113 Female 37 Accountant 7.2 8
## 326 Female 53 Engineer 8.5 9
## 224 Male 44 Salesperson 6.4 6
## 123 Female 37 Accountant 7.2 8
## 298 Female 50 Nurse 6.1 6
## 94 Male 35 Lawyer 7.4 7
## 253 Female 45 Teacher 6.5 7
## 270 Female 49 Nurse 6.1 6
## 355 Female 58 Nurse 8.0 9
## 149 Female 39 Lawyer 6.9 7
## 194 Male 43 Salesperson 6.5 6
## 266 Female 48 Nurse 5.9 6
## 303 Female 51 Nurse 7.1 7
## 34 Male 31 Doctor 6.1 6
## 295 Female 50 Nurse 6.1 6
## 187 Female 43 Teacher 6.7 7
## 374 Female 59 Nurse 8.1 9
## 356 Female 58 Nurse 8.0 9
## 324 Female 53 Engineer 8.5 9
## 225 Female 44 Teacher 6.6 7
## 258 Female 45 Teacher 6.6 7
## 99 Female 36 Teacher 7.1 8
## 369 Female 59 Nurse 8.1 9
## 373 Female 59 Nurse 8.1 9
## 350 Female 57 Nurse 8.1 9
## 119 Female 37 Accountant 7.2 8
## 56 Male 32 Doctor 6.0 6
## 164 Male 40 Lawyer 7.9 8
## 64 Male 32 Doctor 6.2 6
## 254 Female 45 Teacher 6.5 7
## 80 Male 33 Doctor 6.0 6
## 297 Female 50 Nurse 6.1 6
## 286 Female 50 Nurse 6.0 6
## 130 Male 38 Lawyer 7.3 8
## 74 Male 33 Doctor 6.1 6
## 51 Male 32 Engineer 7.5 8
## 249 Male 44 Salesperson 6.4 6
## 307 Female 52 Accountant 6.5 7
## 185 Female 42 Teacher 6.8 6
## 129 Male 38 Lawyer 7.3 8
## 40 Male 31 Doctor 7.6 7
## 247 Male 44 Salesperson 6.3 6
## 8 Male 29 Doctor 7.8 7
## 311 Female 52 Accountant 6.6 7
## 343 Female 56 Doctor 8.2 9
## 133 Male 38 Lawyer 7.3 8
## 197 Male 43 Salesperson 6.5 6
## 139 Female 38 Accountant 7.1 8
## 167 Male 41 Engineer 7.3 8
## 1 Male 27 Software Engineer 6.1 6
## 319 Female 53 Engineer 8.4 9
## 206 Male 43 Engineer 7.7 8
## 24 Male 30 Doctor 7.7 7
## 88 Male 35 Engineer 7.2 8
## 137 Female 38 Accountant 7.1 8
## 92 Male 35 Engineer 7.3 8
## 288 Female 50 Nurse 6.0 6
## 192 Male 43 Salesperson 6.4 6
## 314 Female 52 Engineer 8.4 9
## 60 Male 32 Doctor 7.7 7
## 117 Female 37 Accountant 7.2 8
## 132 Male 38 Lawyer 7.3 8
## 154 Male 39 Lawyer 7.2 8
## 359 Female 59 Nurse 8.0 9
## 333 Female 54 Engineer 8.4 9
## 19 Female 29 Nurse 6.5 5
## 152 Male 39 Lawyer 7.2 8
## 163 Female 40 Accountant 7.2 8
## 301 Female 51 Engineer 8.5 9
## 221 Female 44 Teacher 6.6 7
## 49 Male 31 Doctor 7.7 7
## 14 Male 29 Doctor 6.0 6
## 165 Male 40 Lawyer 7.9 8
## 25 Male 30 Doctor 7.8 7
## 200 Male 43 Salesperson 6.5 6
## 233 Female 44 Teacher 6.6 7
## 289 Female 50 Nurse 6.0 6
## 280 Female 50 Engineer 8.3 9
## 236 Male 44 Salesperson 6.3 6
## 177 Male 41 Lawyer 7.6 8
## 77 Male 33 Doctor 6.0 6
## 70 Female 33 Scientist 6.2 6
## 65 Male 32 Doctor 6.2 6
## 337 Female 54 Engineer 8.4 9
## 204 Male 43 Engineer 6.9 6
## 58 Male 32 Doctor 6.0 6
## 41 Male 31 Doctor 7.7 7
## 10 Male 29 Doctor 7.8 7
## 103 Female 36 Teacher 7.2 8
## 159 Male 39 Lawyer 7.2 8
## 318 Female 53 Engineer 8.5 9
## 161 Male 39 Lawyer 7.2 8
## 9 Male 29 Doctor 7.8 7
## 76 Male 33 Doctor 6.0 6
## 339 Female 54 Engineer 8.5 9
## 59 Male 32 Doctor 6.0 6
## 52 Male 32 Engineer 7.5 8
## 275 Female 49 Nurse 6.2 6
## 260 Female 45 Teacher 6.6 7
## 126 Female 37 Nurse 7.5 8
## 294 Female 50 Nurse 6.0 6
## 175 Male 41 Lawyer 7.6 8
## 287 Female 50 Nurse 6.0 6
## 222 Male 44 Salesperson 6.4 6
## 95 Female 36 Accountant 7.2 8
## 360 Female 59 Nurse 8.1 9
## 322 Female 53 Engineer 8.4 9
## 157 Male 39 Lawyer 7.2 8
## 342 Female 56 Doctor 8.2 9
## 320 Female 53 Engineer 8.4 9
## 107 Female 37 Nurse 6.1 6
## 158 Male 39 Lawyer 7.2 8
## 367 Female 59 Nurse 8.1 9
## 54 Male 32 Doctor 7.6 7
## 248 Male 44 Engineer 6.8 7
## 128 Female 38 Accountant 7.1 8
## 98 Female 36 Accountant 7.1 8
## 195 Male 43 Salesperson 6.5 6
## 144 Female 38 Accountant 7.1 8
## 101 Female 36 Teacher 7.2 8
## 218 Male 43 Engineer 7.8 8
## Physical.Activity.Level Stress.Level BMI.Category Blood.Pressure
## 66 30 8 Normal 125/80
## 37 30 8 Normal 125/80
## 45 75 6 Normal 120/80
## 188 45 7 Overweight 130/85
## 255 45 4 Overweight 135/90
## 109 70 4 Normal Weight 120/80
## 105 60 4 Normal 115/75
## 122 60 4 Normal 115/75
## 226 45 7 Overweight 130/85
## 29 75 6 Normal 120/80
## 11 30 8 Normal 120/80
## 272 90 8 Overweight 140/95
## 62 30 8 Normal 125/80
## 252 30 6 Overweight 135/90
## 26 75 6 Normal 120/80
## 172 90 5 Normal 130/85
## 50 75 6 Normal 120/80
## 32 35 7 Normal Weight 130/86
## 213 90 5 Normal 130/85
## 203 90 5 Normal 130/85
## 35 75 6 Normal 120/80
## 238 45 4 Overweight 135/90
## 81 32 8 Overweight 131/86
## 284 90 8 Overweight 140/95
## 304 90 8 Overweight 140/95
## 216 90 5 Normal 130/85
## 84 40 5 Overweight 128/84
## 340 75 4 Overweight 140/95
## 276 90 8 Overweight 140/95
## 87 60 4 Normal 125/80
## 371 75 3 Overweight 140/95
## 106 35 7 Overweight 129/84
## 135 60 5 Normal 130/85
## 336 30 3 Normal 125/80
## 212 90 5 Normal 130/85
## 323 30 3 Normal 125/80
## 281 90 8 Overweight 140/95
## 290 90 8 Overweight 140/95
## 217 90 5 Normal 130/85
## 313 30 3 Normal 125/80
## 305 90 8 Overweight 140/95
## 310 45 7 Overweight 130/85
## 131 60 4 Normal 115/75
## 153 60 5 Normal 130/85
## 193 45 7 Overweight 130/85
## 6 30 8 Obese 140/90
## 346 75 3 Overweight 140/95
## 207 90 5 Normal 130/85
## 205 75 4 Overweight 122/80
## 186 45 7 Overweight 130/85
## 334 30 3 Normal 125/80
## 115 60 4 Normal 115/75
## 108 70 4 Normal Weight 120/80
## 261 45 4 Overweight 135/90
## 208 90 5 Normal 130/85
## 332 30 3 Normal 125/80
## 331 30 3 Normal 125/80
## 211 90 5 Normal 130/85
## 189 45 4 Overweight 135/90
## 259 45 4 Overweight 135/90
## 365 75 3 Overweight 140/95
## 235 45 4 Overweight 135/90
## 328 30 3 Normal 125/80
## 16 30 8 Normal 120/80
## 36 30 8 Normal 125/80
## 209 90 5 Normal 130/85
## 73 30 8 Normal 125/80
## 312 45 7 Overweight 130/85
## 240 45 7 Overweight 130/85
## 118 60 4 Normal 115/75
## 162 55 6 Normal Weight 119/77
## 147 60 5 Normal 130/85
## 140 60 5 Normal 130/85
## 363 75 3 Overweight 140/95
## 173 90 5 Normal 130/85
## 190 45 7 Overweight 130/85
## 68 30 8 Normal 125/80
## 31 35 7 Normal Weight 130/86
## 283 90 8 Overweight 140/95
## 113 60 4 Normal 115/75
## 326 30 3 Normal 125/80
## 224 45 7 Overweight 130/85
## 123 60 4 Normal 115/75
## 298 90 8 Overweight 140/95
## 94 60 5 Obese 135/88
## 253 45 4 Overweight 135/90
## 270 90 8 Overweight 140/95
## 355 75 3 Overweight 140/95
## 149 50 6 Normal Weight 128/85
## 194 45 7 Overweight 130/85
## 266 90 8 Overweight 140/95
## 303 55 6 Normal Weight 125/82
## 34 30 8 Normal 125/80
## 295 90 8 Overweight 140/95
## 187 45 4 Overweight 135/90
## 374 75 3 Overweight 140/95
## 356 75 3 Overweight 140/95
## 324 30 3 Normal 125/80
## 225 45 4 Overweight 135/90
## 258 45 4 Overweight 135/90
## 99 60 4 Normal 115/75
## 369 75 3 Overweight 140/95
## 373 75 3 Overweight 140/95
## 350 75 3 Overweight 140/95
## 119 60 4 Normal 115/75
## 56 30 8 Normal 125/80
## 164 90 5 Normal 130/85
## 64 30 8 Normal 125/80
## 254 45 4 Overweight 135/90
## 80 30 8 Normal 125/80
## 297 90 8 Overweight 140/95
## 286 90 8 Overweight 140/95
## 130 60 5 Normal 130/85
## 74 30 8 Normal 125/80
## 51 45 3 Normal 120/80
## 249 45 7 Overweight 130/85
## 307 45 7 Overweight 130/85
## 185 45 7 Overweight 130/85
## 129 60 5 Normal 130/85
## 40 75 6 Normal 120/80
## 247 45 7 Overweight 130/85
## 8 75 6 Normal 120/80
## 311 45 7 Overweight 130/85
## 343 90 3 Normal Weight 118/75
## 133 60 5 Normal 130/85
## 197 45 7 Overweight 130/85
## 139 60 4 Normal 115/75
## 167 70 6 Normal Weight 121/79
## 1 42 6 Overweight 126/83
## 319 30 3 Normal 125/80
## 206 90 5 Normal 130/85
## 24 75 6 Normal 120/80
## 88 60 4 Normal 125/80
## 137 60 4 Normal 115/75
## 92 60 4 Normal 125/80
## 288 90 8 Overweight 140/95
## 192 45 7 Overweight 130/85
## 314 30 3 Normal 125/80
## 60 75 6 Normal 120/80
## 117 60 4 Normal 115/75
## 132 60 5 Normal 130/85
## 154 60 5 Normal 130/85
## 359 75 3 Overweight 140/95
## 333 30 3 Normal 125/80
## 19 40 7 Normal Weight 132/87
## 152 60 5 Normal 130/85
## 163 55 6 Normal Weight 119/77
## 301 30 3 Normal 125/80
## 221 45 4 Overweight 135/90
## 49 75 6 Normal 120/80
## 14 30 8 Normal 120/80
## 165 90 5 Normal 130/85
## 25 75 6 Normal 120/80
## 200 45 7 Overweight 130/85
## 233 45 4 Overweight 135/90
## 289 90 8 Overweight 140/95
## 280 30 3 Normal 125/80
## 236 45 7 Overweight 130/85
## 177 90 5 Normal 130/85
## 77 30 8 Normal 125/80
## 70 50 6 Overweight 128/85
## 65 30 8 Normal 125/80
## 337 30 3 Normal 125/80
## 204 47 7 Normal Weight 117/76
## 58 30 8 Normal 125/80
## 41 75 6 Normal 120/80
## 10 75 6 Normal 120/80
## 103 60 4 Normal 115/75
## 159 60 5 Normal 130/85
## 318 30 3 Normal 125/80
## 161 60 5 Normal 130/85
## 9 75 6 Normal 120/80
## 76 30 8 Normal 125/80
## 339 30 3 Normal 125/80
## 59 30 8 Normal 125/80
## 52 45 3 Normal 120/80
## 275 90 8 Overweight 140/95
## 260 45 4 Overweight 135/90
## 126 60 4 Normal Weight 120/80
## 294 90 8 Overweight 140/95
## 175 90 5 Normal 130/85
## 287 90 8 Overweight 140/95
## 222 45 7 Overweight 130/85
## 95 60 4 Normal 115/75
## 360 75 3 Overweight 140/95
## 322 30 3 Normal 125/80
## 157 60 5 Normal 130/85
## 342 90 3 Normal Weight 118/75
## 320 30 3 Normal 125/80
## 107 42 6 Overweight 126/83
## 158 60 5 Normal 130/85
## 367 75 3 Overweight 140/95
## 54 75 6 Normal 120/80
## 248 45 7 Overweight 130/85
## 128 60 4 Normal 115/75
## 98 60 4 Normal 115/75
## 195 45 7 Overweight 130/85
## 144 60 4 Normal 115/75
## 101 60 4 Normal 115/75
## 218 90 5 Normal 130/85
## Heart.Rate Daily.Steps Sleep.Disorder Blood.systolic Blood.diastolic
## 66 72 5000 None 125 80
## 37 72 5000 None 125 80
## 45 70 8000 None 120 80
## 188 72 6000 Insomnia 130 85
## 255 65 6000 Insomnia 135 90
## 109 68 7000 None 120 80
## 105 68 7000 Sleep Apnea 115 75
## 122 68 7000 None 115 75
## 226 72 6000 Insomnia 130 85
## 29 70 8000 None 120 80
## 11 70 8000 None 120 80
## 272 75 10000 Sleep Apnea 140 95
## 62 72 5000 None 125 80
## 252 65 6000 Insomnia 135 90
## 26 70 8000 None 120 80
## 172 70 8000 None 130 85
## 50 70 8000 Sleep Apnea 120 80
## 32 78 4100 Insomnia 130 86
## 213 70 8000 None 130 85
## 203 70 8000 Insomnia 130 85
## 35 70 8000 None 120 80
## 238 65 6000 Insomnia 135 90
## 81 81 5200 Sleep Apnea 131 86
## 284 75 10000 Sleep Apnea 140 95
## 304 75 10000 Sleep Apnea 140 95
## 216 70 8000 None 130 85
## 84 70 5600 None 128 84
## 340 72 5000 Sleep Apnea 140 95
## 276 75 10000 Sleep Apnea 140 95
## 87 65 5000 None 125 80
## 371 68 7000 Sleep Apnea 140 95
## 106 74 4800 Insomnia 129 84
## 135 68 8000 None 130 85
## 336 65 5000 None 125 80
## 212 70 8000 None 130 85
## 323 65 5000 None 125 80
## 281 75 10000 None 140 95
## 290 75 10000 Sleep Apnea 140 95
## 217 70 8000 None 130 85
## 313 65 5000 None 125 80
## 305 75 10000 Sleep Apnea 140 95
## 310 72 6000 Insomnia 130 85
## 131 68 7000 None 115 75
## 153 68 8000 None 130 85
## 193 72 6000 Insomnia 130 85
## 6 85 3000 Insomnia 140 90
## 346 68 7000 Sleep Apnea 140 95
## 207 70 8000 None 130 85
## 205 68 6800 None 122 80
## 186 78 5000 Sleep Apnea 130 85
## 334 65 5000 None 125 80
## 115 68 7000 None 115 75
## 108 68 7000 None 120 80
## 261 65 6000 Insomnia 135 90
## 208 70 8000 None 130 85
## 332 65 5000 None 125 80
## 331 65 5000 None 125 80
## 211 70 8000 None 130 85
## 189 65 6000 Insomnia 135 90
## 259 65 6000 Insomnia 135 90
## 365 68 7000 Sleep Apnea 140 95
## 235 65 6000 Insomnia 135 90
## 328 65 5000 None 125 80
## 16 70 8000 None 120 80
## 36 72 5000 None 125 80
## 209 70 8000 None 130 85
## 73 72 5000 None 125 80
## 312 72 6000 Insomnia 130 85
## 240 72 6000 Insomnia 130 85
## 118 68 7000 None 115 75
## 162 73 7300 None 119 77
## 147 68 8000 Insomnia 130 85
## 140 68 8000 None 130 85
## 363 68 7000 Sleep Apnea 140 95
## 173 70 8000 None 130 85
## 190 72 6000 Insomnia 130 85
## 68 72 5000 Insomnia 125 80
## 31 78 4100 Sleep Apnea 130 86
## 283 75 10000 Sleep Apnea 140 95
## 113 68 7000 None 115 75
## 326 65 5000 None 125 80
## 224 72 6000 Insomnia 130 85
## 123 68 7000 None 115 75
## 298 75 10000 Sleep Apnea 140 95
## 94 84 3300 Sleep Apnea 135 88
## 253 65 6000 Insomnia 135 90
## 270 75 10000 Sleep Apnea 140 95
## 355 68 7000 Sleep Apnea 140 95
## 149 75 5500 None 128 85
## 194 72 6000 Insomnia 130 85
## 266 75 10000 Sleep Apnea 140 95
## 303 72 6000 None 125 82
## 34 72 5000 None 125 80
## 295 75 10000 Sleep Apnea 140 95
## 187 65 6000 Insomnia 135 90
## 374 68 7000 Sleep Apnea 140 95
## 356 68 7000 Sleep Apnea 140 95
## 324 65 5000 None 125 80
## 225 65 6000 Insomnia 135 90
## 258 65 6000 Insomnia 135 90
## 99 68 7000 None 115 75
## 369 68 7000 Sleep Apnea 140 95
## 373 68 7000 Sleep Apnea 140 95
## 350 68 7000 Sleep Apnea 140 95
## 119 68 7000 None 115 75
## 56 72 5000 None 125 80
## 164 68 8000 None 130 85
## 64 72 5000 None 125 80
## 254 65 6000 Insomnia 135 90
## 80 72 5000 None 125 80
## 297 75 10000 Sleep Apnea 140 95
## 286 75 10000 Sleep Apnea 140 95
## 130 68 8000 None 130 85
## 74 72 5000 None 125 80
## 51 70 8000 None 120 80
## 249 72 6000 None 130 85
## 307 72 6000 Insomnia 130 85
## 185 78 5000 Sleep Apnea 130 85
## 129 68 8000 None 130 85
## 40 70 8000 None 120 80
## 247 72 6000 Insomnia 130 85
## 8 70 8000 None 120 80
## 311 72 6000 Insomnia 130 85
## 343 65 10000 None 118 75
## 133 68 8000 None 130 85
## 197 72 6000 Insomnia 130 85
## 139 68 7000 None 115 75
## 167 72 6200 None 121 79
## 1 77 4200 None 126 83
## 319 65 5000 None 125 80
## 206 70 8000 None 130 85
## 24 70 8000 None 120 80
## 88 65 5000 None 125 80
## 137 68 7000 None 115 75
## 92 65 5000 None 125 80
## 288 75 10000 Sleep Apnea 140 95
## 192 72 6000 Insomnia 130 85
## 314 65 5000 None 125 80
## 60 70 8000 None 120 80
## 117 68 7000 None 115 75
## 132 68 8000 None 130 85
## 154 68 8000 None 130 85
## 359 68 7000 None 140 95
## 333 65 5000 None 125 80
## 19 80 4000 Insomnia 132 87
## 152 68 8000 None 130 85
## 163 73 7300 None 119 77
## 301 65 5000 None 125 80
## 221 65 6000 Insomnia 135 90
## 49 70 8000 None 120 80
## 14 70 8000 None 120 80
## 165 68 8000 None 130 85
## 25 70 8000 None 120 80
## 200 72 6000 Insomnia 130 85
## 233 65 6000 Insomnia 135 90
## 289 75 10000 Sleep Apnea 140 95
## 280 65 5000 None 125 80
## 236 72 6000 Insomnia 130 85
## 177 70 8000 None 130 85
## 77 72 5000 None 125 80
## 70 76 5500 None 128 85
## 65 72 5000 None 125 80
## 337 65 5000 None 125 80
## 204 69 6800 None 117 76
## 58 72 5000 None 125 80
## 41 70 8000 None 120 80
## 10 70 8000 None 120 80
## 103 68 7000 None 115 75
## 159 68 8000 None 130 85
## 318 65 5000 None 125 80
## 161 68 8000 None 130 85
## 9 70 8000 None 120 80
## 76 72 5000 None 125 80
## 339 65 5000 None 125 80
## 59 72 5000 None 125 80
## 52 70 8000 None 120 80
## 275 75 10000 Sleep Apnea 140 95
## 260 65 6000 Insomnia 135 90
## 126 70 8000 None 120 80
## 294 75 10000 Sleep Apnea 140 95
## 175 70 8000 None 130 85
## 287 75 10000 Sleep Apnea 140 95
## 222 72 6000 Insomnia 130 85
## 95 68 7000 Insomnia 115 75
## 360 68 7000 None 140 95
## 322 65 5000 None 125 80
## 157 68 8000 None 130 85
## 342 65 10000 None 118 75
## 320 65 5000 None 125 80
## 107 77 4200 None 126 83
## 158 68 8000 None 130 85
## 367 68 7000 Sleep Apnea 140 95
## 54 70 8000 None 120 80
## 248 78 5000 Insomnia 130 85
## 128 68 7000 None 115 75
## 98 68 7000 None 115 75
## 195 72 6000 Insomnia 130 85
## 144 68 7000 None 115 75
## 101 68 7000 None 115 75
## 218 70 8000 None 130 85
print(test_data) # 174个样本
## Gender Age Occupation Sleep.Duration Quality.of.Sleep
## 2 Male 28 Doctor 6.2 6
## 3 Male 28 Doctor 6.2 6
## 4 Male 28 Sales Representative 5.9 4
## 5 Male 28 Sales Representative 5.9 4
## 7 Male 29 Teacher 6.3 6
## 12 Male 29 Doctor 7.8 7
## 13 Male 29 Doctor 6.1 6
## 15 Male 29 Doctor 6.0 6
## 17 Female 29 Nurse 6.5 5
## 18 Male 29 Doctor 6.0 6
## 20 Male 30 Doctor 7.6 7
## 21 Male 30 Doctor 7.7 7
## 22 Male 30 Doctor 7.7 7
## 23 Male 30 Doctor 7.7 7
## 27 Male 30 Doctor 7.8 7
## 28 Male 30 Doctor 7.9 7
## 30 Male 30 Doctor 7.9 7
## 33 Female 31 Nurse 7.9 8
## 38 Male 31 Doctor 7.6 7
## 39 Male 31 Doctor 7.6 7
## 42 Male 31 Doctor 7.7 7
## 43 Male 31 Doctor 7.7 7
## 44 Male 31 Doctor 7.8 7
## 46 Male 31 Doctor 7.8 7
## 47 Male 31 Doctor 7.7 7
## 48 Male 31 Doctor 7.8 7
## 53 Male 32 Doctor 6.0 6
## 55 Male 32 Doctor 6.0 6
## 57 Male 32 Doctor 7.7 7
## 61 Male 32 Doctor 6.0 6
## 63 Male 32 Doctor 6.2 6
## 67 Male 32 Accountant 7.2 8
## 69 Female 33 Scientist 6.2 6
## 71 Male 33 Doctor 6.1 6
## 72 Male 33 Doctor 6.1 6
## 75 Male 33 Doctor 6.0 6
## 78 Male 33 Doctor 6.0 6
## 79 Male 33 Doctor 6.0 6
## 82 Female 34 Scientist 5.8 4
## 83 Male 35 Teacher 6.7 7
## 85 Male 35 Software Engineer 7.5 8
## 86 Female 35 Accountant 7.2 8
## 89 Male 35 Engineer 7.3 8
## 90 Male 35 Engineer 7.3 8
## 91 Male 35 Engineer 7.3 8
## 93 Male 35 Software Engineer 7.5 8
## 96 Female 36 Accountant 7.1 8
## 97 Female 36 Accountant 7.2 8
## 100 Female 36 Teacher 7.1 8
## 102 Female 36 Teacher 7.2 8
## 104 Male 36 Teacher 6.6 5
## 110 Male 37 Lawyer 7.4 8
## 111 Female 37 Accountant 7.2 8
## 112 Male 37 Lawyer 7.4 8
## 114 Male 37 Lawyer 7.4 8
## 116 Female 37 Accountant 7.2 8
## 120 Female 37 Accountant 7.2 8
## 121 Female 37 Accountant 7.2 8
## 124 Female 37 Accountant 7.2 8
## 125 Female 37 Accountant 7.2 8
## 127 Male 38 Lawyer 7.3 8
## 134 Female 38 Accountant 7.1 8
## 136 Male 38 Lawyer 7.3 8
## 138 Male 38 Lawyer 7.1 8
## 141 Female 38 Accountant 7.1 8
## 142 Male 38 Lawyer 7.1 8
## 143 Female 38 Accountant 7.1 8
## 145 Male 38 Lawyer 7.1 8
## 146 Female 38 Lawyer 7.4 7
## 148 Male 39 Engineer 6.5 5
## 150 Female 39 Accountant 8.0 9
## 151 Female 39 Accountant 8.0 9
## 155 Male 39 Lawyer 7.2 8
## 156 Male 39 Lawyer 7.2 8
## 160 Male 39 Lawyer 7.2 8
## 166 Male 41 Lawyer 7.6 8
## 168 Male 41 Lawyer 7.1 7
## 169 Male 41 Lawyer 7.1 7
## 170 Male 41 Lawyer 7.7 8
## 171 Male 41 Lawyer 7.7 8
## 174 Male 41 Lawyer 7.7 8
## 176 Male 41 Lawyer 7.6 8
## 178 Male 42 Salesperson 6.5 6
## 179 Male 42 Lawyer 7.8 8
## 180 Male 42 Lawyer 7.8 8
## 181 Male 42 Lawyer 7.8 8
## 182 Male 42 Lawyer 7.8 8
## 183 Male 42 Lawyer 7.8 8
## 184 Male 42 Lawyer 7.8 8
## 191 Female 43 Teacher 6.7 7
## 196 Male 43 Salesperson 6.5 6
## 198 Male 43 Salesperson 6.5 6
## 199 Male 43 Salesperson 6.5 6
## 201 Male 43 Salesperson 6.5 6
## 202 Male 43 Engineer 7.8 8
## 210 Male 43 Engineer 7.8 8
## 214 Male 43 Engineer 7.8 8
## 215 Male 43 Engineer 7.8 8
## 219 Male 43 Engineer 7.8 8
## 220 Male 43 Salesperson 6.5 6
## 223 Male 44 Salesperson 6.3 6
## 227 Female 44 Teacher 6.6 7
## 228 Male 44 Salesperson 6.3 6
## 229 Female 44 Teacher 6.6 7
## 230 Male 44 Salesperson 6.3 6
## 231 Female 44 Teacher 6.6 7
## 232 Male 44 Salesperson 6.3 6
## 234 Male 44 Salesperson 6.3 6
## 237 Male 44 Salesperson 6.4 6
## 239 Male 44 Salesperson 6.3 6
## 241 Female 44 Teacher 6.5 7
## 242 Male 44 Salesperson 6.3 6
## 243 Male 44 Salesperson 6.4 6
## 244 Female 44 Teacher 6.5 7
## 245 Male 44 Salesperson 6.3 6
## 246 Female 44 Teacher 6.5 7
## 250 Male 44 Salesperson 6.5 6
## 251 Female 45 Teacher 6.8 7
## 256 Female 45 Teacher 6.5 7
## 257 Female 45 Teacher 6.6 7
## 262 Female 45 Teacher 6.6 7
## 263 Female 45 Teacher 6.6 7
## 264 Female 45 Manager 6.9 7
## 265 Male 48 Doctor 7.3 7
## 267 Male 48 Doctor 7.3 7
## 268 Female 49 Nurse 6.2 6
## 269 Female 49 Nurse 6.0 6
## 271 Female 49 Nurse 6.1 6
## 273 Female 49 Nurse 6.1 6
## 274 Female 49 Nurse 6.2 6
## 277 Male 49 Doctor 8.1 9
## 278 Male 49 Doctor 8.1 9
## 279 Female 50 Nurse 6.1 6
## 282 Female 50 Nurse 6.1 6
## 285 Female 50 Nurse 6.0 6
## 291 Female 50 Nurse 6.0 6
## 292 Female 50 Nurse 6.1 6
## 293 Female 50 Nurse 6.1 6
## 296 Female 50 Nurse 6.0 6
## 299 Female 51 Engineer 8.5 9
## 300 Female 51 Engineer 8.5 9
## 302 Female 51 Engineer 8.5 9
## 306 Female 51 Nurse 6.1 6
## 308 Female 52 Accountant 6.5 7
## 309 Female 52 Accountant 6.6 7
## 315 Female 52 Engineer 8.4 9
## 316 Female 53 Engineer 8.3 9
## 317 Female 53 Engineer 8.5 9
## 321 Female 53 Engineer 8.5 9
## 325 Female 53 Engineer 8.3 9
## 327 Female 53 Engineer 8.3 9
## 329 Female 53 Engineer 8.3 9
## 330 Female 53 Engineer 8.5 9
## 335 Female 54 Engineer 8.4 9
## 338 Female 54 Engineer 8.4 9
## 341 Female 55 Nurse 8.1 9
## 344 Female 57 Nurse 8.1 9
## 345 Female 57 Nurse 8.2 9
## 347 Female 57 Nurse 8.2 9
## 348 Female 57 Nurse 8.2 9
## 349 Female 57 Nurse 8.2 9
## 351 Female 57 Nurse 8.1 9
## 352 Female 57 Nurse 8.1 9
## 353 Female 58 Nurse 8.0 9
## 354 Female 58 Nurse 8.0 9
## 357 Female 58 Nurse 8.0 9
## 358 Female 58 Nurse 8.0 9
## 361 Female 59 Nurse 8.2 9
## 362 Female 59 Nurse 8.2 9
## 364 Female 59 Nurse 8.2 9
## 366 Female 59 Nurse 8.0 9
## 368 Female 59 Nurse 8.0 9
## 370 Female 59 Nurse 8.1 9
## 372 Female 59 Nurse 8.1 9
## Physical.Activity.Level Stress.Level BMI.Category Blood.Pressure
## 2 60 8 Normal 125/80
## 3 60 8 Normal 125/80
## 4 30 8 Obese 140/90
## 5 30 8 Obese 140/90
## 7 40 7 Obese 140/90
## 12 75 6 Normal 120/80
## 13 30 8 Normal 120/80
## 15 30 8 Normal 120/80
## 17 40 7 Normal Weight 132/87
## 18 30 8 Normal 120/80
## 20 75 6 Normal 120/80
## 21 75 6 Normal 120/80
## 22 75 6 Normal 120/80
## 23 75 6 Normal 120/80
## 27 75 6 Normal 120/80
## 28 75 6 Normal 120/80
## 30 75 6 Normal 120/80
## 33 75 4 Normal Weight 117/76
## 38 75 6 Normal 120/80
## 39 75 6 Normal 120/80
## 42 75 6 Normal 120/80
## 43 75 6 Normal 120/80
## 44 75 6 Normal 120/80
## 46 75 6 Normal 120/80
## 47 75 6 Normal 120/80
## 48 75 6 Normal 120/80
## 53 30 8 Normal 125/80
## 55 30 8 Normal 125/80
## 57 75 6 Normal 120/80
## 61 30 8 Normal 125/80
## 63 30 8 Normal 125/80
## 67 50 6 Normal Weight 118/76
## 69 50 6 Overweight 128/85
## 71 30 8 Normal 125/80
## 72 30 8 Normal 125/80
## 75 30 8 Normal 125/80
## 78 30 8 Normal 125/80
## 79 30 8 Normal 125/80
## 82 32 8 Overweight 131/86
## 83 40 5 Overweight 128/84
## 85 60 5 Normal Weight 120/80
## 86 60 4 Normal 115/75
## 89 60 4 Normal 125/80
## 90 60 4 Normal 125/80
## 91 60 4 Normal 125/80
## 93 60 5 Normal Weight 120/80
## 96 60 4 Normal 115/75
## 97 60 4 Normal 115/75
## 100 60 4 Normal 115/75
## 102 60 4 Normal 115/75
## 104 35 7 Overweight 129/84
## 110 60 5 Normal 130/85
## 111 60 4 Normal 115/75
## 112 60 5 Normal 130/85
## 114 60 5 Normal 130/85
## 116 60 4 Normal 115/75
## 120 60 4 Normal 115/75
## 121 60 4 Normal 115/75
## 124 60 4 Normal 115/75
## 125 60 4 Normal 115/75
## 127 60 5 Normal 130/85
## 134 60 4 Normal 115/75
## 136 60 5 Normal 130/85
## 138 60 5 Normal 130/85
## 141 60 4 Normal 115/75
## 142 60 5 Normal 130/85
## 143 60 4 Normal 115/75
## 145 60 5 Normal 130/85
## 146 60 5 Obese 135/88
## 148 40 7 Overweight 132/87
## 150 80 3 Normal Weight 115/78
## 151 80 3 Normal Weight 115/78
## 155 60 5 Normal 130/85
## 156 60 5 Normal 130/85
## 160 60 5 Normal 130/85
## 166 90 5 Normal 130/85
## 168 55 6 Overweight 125/82
## 169 55 6 Overweight 125/82
## 170 90 5 Normal 130/85
## 171 90 5 Normal 130/85
## 174 90 5 Normal 130/85
## 176 90 5 Normal 130/85
## 178 45 7 Overweight 130/85
## 179 90 5 Normal 130/85
## 180 90 5 Normal 130/85
## 181 90 5 Normal 130/85
## 182 90 5 Normal 130/85
## 183 90 5 Normal 130/85
## 184 90 5 Normal 130/85
## 191 45 4 Overweight 135/90
## 196 45 7 Overweight 130/85
## 198 45 7 Overweight 130/85
## 199 45 7 Overweight 130/85
## 201 45 7 Overweight 130/85
## 202 90 5 Normal 130/85
## 210 90 5 Normal 130/85
## 214 90 5 Normal 130/85
## 215 90 5 Normal 130/85
## 219 90 5 Normal 130/85
## 220 45 7 Overweight 130/85
## 223 45 7 Overweight 130/85
## 227 45 4 Overweight 135/90
## 228 45 7 Overweight 130/85
## 229 45 4 Overweight 135/90
## 230 45 7 Overweight 130/85
## 231 45 4 Overweight 135/90
## 232 45 7 Overweight 130/85
## 234 45 7 Overweight 130/85
## 237 45 7 Overweight 130/85
## 239 45 7 Overweight 130/85
## 241 45 4 Overweight 135/90
## 242 45 7 Overweight 130/85
## 243 45 7 Overweight 130/85
## 244 45 4 Overweight 135/90
## 245 45 7 Overweight 130/85
## 246 45 4 Overweight 135/90
## 250 45 7 Overweight 130/85
## 251 30 6 Overweight 135/90
## 256 45 4 Overweight 135/90
## 257 45 4 Overweight 135/90
## 262 45 4 Overweight 135/90
## 263 45 4 Overweight 135/90
## 264 55 5 Overweight 125/82
## 265 65 5 Obese 142/92
## 267 65 5 Obese 142/92
## 268 90 8 Overweight 140/95
## 269 90 8 Overweight 140/95
## 271 90 8 Overweight 140/95
## 273 90 8 Overweight 140/95
## 274 90 8 Overweight 140/95
## 277 85 3 Obese 139/91
## 278 85 3 Obese 139/91
## 279 90 8 Overweight 140/95
## 282 90 8 Overweight 140/95
## 285 90 8 Overweight 140/95
## 291 90 8 Overweight 140/95
## 292 90 8 Overweight 140/95
## 293 90 8 Overweight 140/95
## 296 90 8 Overweight 140/95
## 299 30 3 Normal 125/80
## 300 30 3 Normal 125/80
## 302 30 3 Normal 125/80
## 306 90 8 Overweight 140/95
## 308 45 7 Overweight 130/85
## 309 45 7 Overweight 130/85
## 315 30 3 Normal 125/80
## 316 30 3 Normal 125/80
## 317 30 3 Normal 125/80
## 321 30 3 Normal 125/80
## 325 30 3 Normal 125/80
## 327 30 3 Normal 125/80
## 329 30 3 Normal 125/80
## 330 30 3 Normal 125/80
## 335 30 3 Normal 125/80
## 338 30 3 Normal 125/80
## 341 75 4 Overweight 140/95
## 344 75 3 Overweight 140/95
## 345 75 3 Overweight 140/95
## 347 75 3 Overweight 140/95
## 348 75 3 Overweight 140/95
## 349 75 3 Overweight 140/95
## 351 75 3 Overweight 140/95
## 352 75 3 Overweight 140/95
## 353 75 3 Overweight 140/95
## 354 75 3 Overweight 140/95
## 357 75 3 Overweight 140/95
## 358 75 3 Overweight 140/95
## 361 75 3 Overweight 140/95
## 362 75 3 Overweight 140/95
## 364 75 3 Overweight 140/95
## 366 75 3 Overweight 140/95
## 368 75 3 Overweight 140/95
## 370 75 3 Overweight 140/95
## 372 75 3 Overweight 140/95
## Heart.Rate Daily.Steps Sleep.Disorder Blood.systolic Blood.diastolic
## 2 75 10000 None 125 80
## 3 75 10000 None 125 80
## 4 85 3000 Sleep Apnea 140 90
## 5 85 3000 Sleep Apnea 140 90
## 7 82 3500 Insomnia 140 90
## 12 70 8000 None 120 80
## 13 70 8000 None 120 80
## 15 70 8000 None 120 80
## 17 80 4000 Sleep Apnea 132 87
## 18 70 8000 Sleep Apnea 120 80
## 20 70 8000 None 120 80
## 21 70 8000 None 120 80
## 22 70 8000 None 120 80
## 23 70 8000 None 120 80
## 27 70 8000 None 120 80
## 28 70 8000 None 120 80
## 30 70 8000 None 120 80
## 33 69 6800 None 117 76
## 38 70 8000 None 120 80
## 39 70 8000 None 120 80
## 42 70 8000 None 120 80
## 43 70 8000 None 120 80
## 44 70 8000 None 120 80
## 46 70 8000 None 120 80
## 47 70 8000 None 120 80
## 48 70 8000 None 120 80
## 53 72 5000 None 125 80
## 55 72 5000 None 125 80
## 57 70 8000 None 120 80
## 61 72 5000 None 125 80
## 63 72 5000 None 125 80
## 67 68 7000 None 118 76
## 69 76 5500 None 128 85
## 71 72 5000 None 125 80
## 72 72 5000 None 125 80
## 75 72 5000 None 125 80
## 78 72 5000 None 125 80
## 79 72 5000 None 125 80
## 82 81 5200 Sleep Apnea 131 86
## 83 70 5600 None 128 84
## 85 70 8000 None 120 80
## 86 68 7000 None 115 75
## 89 65 5000 None 125 80
## 90 65 5000 None 125 80
## 91 65 5000 None 125 80
## 93 70 8000 None 120 80
## 96 68 7000 None 115 75
## 97 68 7000 None 115 75
## 100 68 7000 None 115 75
## 102 68 7000 None 115 75
## 104 74 4800 Sleep Apnea 129 84
## 110 68 8000 None 130 85
## 111 68 7000 None 115 75
## 112 68 8000 None 130 85
## 114 68 8000 None 130 85
## 116 68 7000 None 115 75
## 120 68 7000 None 115 75
## 121 68 7000 None 115 75
## 124 68 7000 None 115 75
## 125 68 7000 None 115 75
## 127 68 8000 None 130 85
## 134 68 7000 None 115 75
## 136 68 8000 None 130 85
## 138 68 8000 None 130 85
## 141 68 7000 None 115 75
## 142 68 8000 None 130 85
## 143 68 7000 None 115 75
## 145 68 8000 Sleep Apnea 130 85
## 146 84 3300 Sleep Apnea 135 88
## 148 80 4000 Insomnia 132 87
## 150 67 7500 None 115 78
## 151 67 7500 None 115 78
## 155 68 8000 None 130 85
## 156 68 8000 None 130 85
## 160 68 8000 None 130 85
## 166 70 8000 Insomnia 130 85
## 168 72 6000 None 125 82
## 169 72 6000 None 125 82
## 170 70 8000 None 130 85
## 171 70 8000 None 130 85
## 174 70 8000 None 130 85
## 176 70 8000 None 130 85
## 178 72 6000 Insomnia 130 85
## 179 70 8000 None 130 85
## 180 70 8000 None 130 85
## 181 70 8000 None 130 85
## 182 70 8000 None 130 85
## 183 70 8000 None 130 85
## 184 70 8000 None 130 85
## 191 65 6000 Insomnia 135 90
## 196 72 6000 Insomnia 130 85
## 198 72 6000 Insomnia 130 85
## 199 72 6000 Insomnia 130 85
## 201 72 6000 Insomnia 130 85
## 202 70 8000 Insomnia 130 85
## 210 70 8000 None 130 85
## 214 70 8000 None 130 85
## 215 70 8000 None 130 85
## 219 70 8000 Sleep Apnea 130 85
## 220 72 6000 Sleep Apnea 130 85
## 223 72 6000 Insomnia 130 85
## 227 65 6000 Insomnia 135 90
## 228 72 6000 Insomnia 130 85
## 229 65 6000 Insomnia 135 90
## 230 72 6000 Insomnia 130 85
## 231 65 6000 Insomnia 135 90
## 232 72 6000 Insomnia 130 85
## 234 72 6000 Insomnia 130 85
## 237 72 6000 Insomnia 130 85
## 239 72 6000 Insomnia 130 85
## 241 65 6000 Insomnia 135 90
## 242 72 6000 Insomnia 130 85
## 243 72 6000 Insomnia 130 85
## 244 65 6000 Insomnia 135 90
## 245 72 6000 Insomnia 130 85
## 246 65 6000 Insomnia 135 90
## 250 72 6000 None 130 85
## 251 65 6000 Insomnia 135 90
## 256 65 6000 Insomnia 135 90
## 257 65 6000 Insomnia 135 90
## 262 65 6000 None 135 90
## 263 65 6000 None 135 90
## 264 75 5500 None 125 82
## 265 83 3500 Insomnia 142 92
## 267 83 3500 Insomnia 142 92
## 268 75 10000 None 140 95
## 269 75 10000 Sleep Apnea 140 95
## 271 75 10000 Sleep Apnea 140 95
## 273 75 10000 Sleep Apnea 140 95
## 274 75 10000 Sleep Apnea 140 95
## 277 86 3700 Sleep Apnea 139 91
## 278 86 3700 Sleep Apnea 139 91
## 279 75 10000 Insomnia 140 95
## 282 75 10000 Sleep Apnea 140 95
## 285 75 10000 Sleep Apnea 140 95
## 291 75 10000 Sleep Apnea 140 95
## 292 75 10000 Sleep Apnea 140 95
## 293 75 10000 Sleep Apnea 140 95
## 296 75 10000 Sleep Apnea 140 95
## 299 65 5000 None 125 80
## 300 65 5000 None 125 80
## 302 65 5000 None 125 80
## 306 75 10000 Sleep Apnea 140 95
## 308 72 6000 Insomnia 130 85
## 309 72 6000 Insomnia 130 85
## 315 65 5000 None 125 80
## 316 65 5000 Insomnia 125 80
## 317 65 5000 None 125 80
## 321 65 5000 None 125 80
## 325 65 5000 None 125 80
## 327 65 5000 None 125 80
## 329 65 5000 None 125 80
## 330 65 5000 None 125 80
## 335 65 5000 None 125 80
## 338 65 5000 None 125 80
## 341 72 5000 Sleep Apnea 140 95
## 344 68 7000 None 140 95
## 345 68 7000 Sleep Apnea 140 95
## 347 68 7000 Sleep Apnea 140 95
## 348 68 7000 Sleep Apnea 140 95
## 349 68 7000 Sleep Apnea 140 95
## 351 68 7000 Sleep Apnea 140 95
## 352 68 7000 Sleep Apnea 140 95
## 353 68 7000 Sleep Apnea 140 95
## 354 68 7000 Sleep Apnea 140 95
## 357 68 7000 Sleep Apnea 140 95
## 358 68 7000 Sleep Apnea 140 95
## 361 68 7000 Sleep Apnea 140 95
## 362 68 7000 Sleep Apnea 140 95
## 364 68 7000 Sleep Apnea 140 95
## 366 68 7000 Sleep Apnea 140 95
## 368 68 7000 Sleep Apnea 140 95
## 370 68 7000 Sleep Apnea 140 95
## 372 68 7000 Sleep Apnea 140 95
# Part2
# (6)
# Q-Q图检查睡眠时间的正态性
qqnorm(data$Sleep.Duration)
qqline(data$Sleep.Duration, col = "red")

# Q-Q图检查睡眠质量的正态性
qqnorm(data$Quality.of.Sleep)
qqline(data$Quality.of.Sleep, col = "red")

# Q-Q图检查每日身体活动时间的正态性
qqnorm(data$Physical.Activity.Level)
qqline(data$Physical.Activity.Level, col = "red")

#(7)
# 计算样本均值和总体方差
xbar <- mean(data$Sleep.Duration, na.rm = TRUE)
sigma <- sd(data$Sleep.Duration, na.rm = TRUE)
n<-374
# 计算95%置信区间
z_value <- qnorm(0.975)
margin_error <- z_value * (sigma / sqrt(n)) # 容许误差
lower_bound <- xbar - margin_error#左边界
upper_bound <- xbar + margin_error#右边界
cat("[",lower_bound,",",upper_bound,"]")
## [ 7.051448 , 7.212723 ]
#(8)
# 筛选医生职业参与者的数据
doctor_data <- subset(data, Occupation == "Doctor")
# 计算样本均值和样本标准差
xbar_doctor <- mean(doctor_data$Quality.of.Sleep, na.rm = TRUE)
s_doctor <- sd(doctor_data$Quality.of.Sleep, na.rm = TRUE)
n_doctor <- length(doctor_data$Quality.of.Sleep)
# 计算95%置信区间
t_value <- qt(0.975, df = n_doctor - 1) # 对应于95%置信水平的t值
margin_error_doctor <- t_value * (s_doctor / sqrt(n_doctor))# 容许误差
lower_bound_doctor <- xbar_doctor - margin_error_doctor# 左边界
upper_bound_doctor <- xbar_doctor + margin_error_doctor# 右边界
cat("[", lower_bound_doctor, ",", upper_bound_doctor, "]")
## [ 6.468521 , 6.827253 ]
#(9)计算比例的置信区间
#比例计算
p1 <- mean(data$Sleep.Disorder == "Insomnia", na.rm = TRUE)
p2 <- mean(data$Sleep.Disorder == "Sleep Apnea", na.rm = TRUE)
cat(p1,p2)
## 0.2058824 0.2085561
# 失眠比例的置信区间
n <- nrow(data)
z_value <- qnorm(0.975)
margin_error_p1 <- z_value * sqrt(p1 * (1 - p1) / n)
lower_bound_p1 <- p1 - margin_error_p1
upper_bound_p1 <- p1 + margin_error_p1
cat("[", lower_bound_p1, ",", upper_bound_p1, "]")
## [ 0.1649031 , 0.2468616 ]
# 睡眠呼吸暂停症比例的置信区间
margin_error_p2 <- z_value * sqrt(p2 * (1 - p2) / n)
lower_bound_p2 <- p2 - margin_error_p2
upper_bound_p2 <- p2 + margin_error_p2
cat("[", lower_bound_p2, ",", upper_bound_p2, "]")
## [ 0.1673811 , 0.2497312 ]
# 计算样本量
# 样本量估算函数
sample_size <- function(p, z_value=qnorm(0.975), E = 0.05) {
n <- (z_value^2 * p * (1 - p)) / (E^2)
return(ceiling(n)) # 向上取整
}
# 计算所需的样本量
required_n <- sample_size(p1) #取p1可计算失眠的最小样本量,改成p2可计算睡眠呼吸暂停症的最小样本量
cat(required_n)
## 252
#(10)F检验与t检验
# F检验:检验男女的睡眠质量方差是否相等
var_test <- var.test(Quality.of.Sleep ~ Gender, data = data)
cat("F检验结果:", var_test$p.value, "\n")
## F检验结果: 0.0008081036
# p值小于0.05,进行t检验
t_test <- t.test(Quality.of.Sleep ~ Gender, data = data, var.equal = TRUE)
cat("t检验结果:", t_test$p.value, "\n") #结果非常小
## t检验结果: 9.416447e-09
#计算哪个性别睡眠质量均值更高
# 计算 Gender 为 Male 的 Quality.of.Sleep 均值
male_sleep_mean <- data %>%
filter(Gender == "Male") %>%
summarise(mean_quality_of_sleep = mean(Quality.of.Sleep, na.rm = TRUE))
# 输出结果
print(male_sleep_mean)
## mean_quality_of_sleep
## 1 6.968254
# 计算 Gender 为 Female 的 Quality.of.Sleep 均值
female_sleep_mean <- data %>%
filter(Gender == "Female") %>%
summarise(mean_quality_of_sleep = mean(Quality.of.Sleep, na.rm = TRUE))
# 输出结果
print(female_sleep_mean)
## mean_quality_of_sleep
## 1 7.664865
#(11)BMI方差分析
# 合并相同的BMI类型
data$BMI.Category <- recode(data$BMI.Category, "Normal Weight" = "Normal")
# 对BMI.Category进行方差分析并绘制方差分析表
result <- aov(Quality.of.Sleep ~ BMI.Category, data = data)
# 提取方差分析的结果
anova_result <- summary(result)[[1]]
# 获取组间、组内的相关信息
group_between <- anova_result[1, ] # 组间
group_within <- anova_result[2, ] # 组内
# 计算总和的平方和、自由度
total_SS <- sum(anova_result$`Sum Sq`)
total_df <- sum(anova_result$Df)
# 构造方差分析表
anova_table <- data.frame(
"方差来源" = c("组间", "组内", "总和"),
"平方和" = c(group_between$`Sum Sq`, group_within$`Sum Sq`, total_SS),
"自由度" = c(group_between$Df, group_within$Df, total_df),
"均方" = c(group_between$`Mean Sq`, group_within$`Mean Sq`, NA),
"F值" = c(group_between$`F value`, NA, NA),
"显著性" = c(group_between$`Pr(>F)`, NA, NA))
print(anova_table)
## 方差来源 平方和 自由度 均方 F值 显著性
## 1 组间 56.68533 2 28.342666 22.01139 9.257969e-10
## 2 组内 477.71306 371 1.287636 NA NA
## 3 总和 534.39840 373 NA NA NA
# Part 3
# (13)回归分析
set.seed(2024)
train_indices <- sample(1:nrow(data), size = 200)
train_data <- data[train_indices, ]
train_data$Stress.Level <- as.numeric(train_data$Stress.Level)
model <- lm(Quality.of.Sleep ~ Age+Sleep.Duration+Physical.Activity.Level+Stress.Level+Blood.systolic+
Blood.diastolic+Heart.Rate+Daily.Steps, data = train_data)# 修改变量得到不同变量的回归分析结果
summary(model)
##
## Call:
## lm(formula = Quality.of.Sleep ~ Age + Sleep.Duration + Physical.Activity.Level +
## Stress.Level + Blood.systolic + Blood.diastolic + Heart.Rate +
## Daily.Steps, data = train_data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.07859 -0.24223 -0.02867 0.30988 1.05836
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 5.270e+00 1.212e+00 4.350 2.22e-05 ***
## Age 2.321e-02 4.578e-03 5.070 9.37e-07 ***
## Sleep.Duration 5.134e-01 6.005e-02 8.549 3.94e-15 ***
## Physical.Activity.Level 3.079e-03 2.679e-03 1.150 0.251765
## Stress.Level -3.189e-01 3.349e-02 -9.521 < 2e-16 ***
## Blood.systolic 7.367e-02 1.925e-02 3.827 0.000176 ***
## Blood.diastolic -1.195e-01 2.401e-02 -4.975 1.45e-06 ***
## Heart.Rate -2.639e-02 1.179e-02 -2.238 0.026379 *
## Daily.Steps 1.156e-04 3.568e-05 3.240 0.001411 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.3367 on 191 degrees of freedom
## Multiple R-squared: 0.9219, Adjusted R-squared: 0.9186
## F-statistic: 281.7 on 8 and 191 DF, p-value: < 2.2e-16
#误差的方差计算:
residuals <- model$residuals
RSS <- sum(residuals^2)
n=200# 样本数
p=8# 自变量数
sigma_squared <- RSS / (n - p - 1)
sigma_squared
## [1] 0.1133667
# (14)逐步回归
#a)使用Step()直接进行逐步回归
model <- lm(Quality.of.Sleep ~ Age+Sleep.Duration+Physical.Activity.Level+Stress.Level+Blood.systolic+
Blood.diastolic+Heart.Rate+Daily.Steps, data = train_data)# 修改变量可得到不同变量的回归分析结果
stepwise_model <- step(model, direction = "both", trace = 0)
anova(stepwise_model)
## Analysis of Variance Table
##
## Response: Quality.of.Sleep
## Df Sum Sq Mean Sq F value Pr(>F)
## Age 1 58.679 58.679 516.7388 < 2.2e-16 ***
## Sleep.Duration 1 166.812 166.812 1468.9733 < 2.2e-16 ***
## Stress.Level 1 20.368 20.368 179.3602 < 2.2e-16 ***
## Blood.systolic 1 1.908 1.908 16.8019 6.119e-05 ***
## Blood.diastolic 1 0.067 0.067 0.5918 0.4427
## Heart.Rate 1 1.876 1.876 16.5215 7.010e-05 ***
## Daily.Steps 1 5.668 5.668 49.9114 2.885e-11 ***
## Residuals 192 21.803 0.114
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(stepwise_model)
##
## Call:
## lm(formula = Quality.of.Sleep ~ Age + Sleep.Duration + Stress.Level +
## Blood.systolic + Blood.diastolic + Heart.Rate + Daily.Steps,
## data = train_data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.11530 -0.23806 -0.01954 0.29821 1.11136
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 4.469e+00 9.920e-01 4.505 1.15e-05 ***
## Age 2.205e-02 4.469e-03 4.934 1.74e-06 ***
## Sleep.Duration 5.378e-01 5.621e-02 9.568 < 2e-16 ***
## Stress.Level -3.280e-01 3.257e-02 -10.071 < 2e-16 ***
## Blood.systolic 7.497e-02 1.923e-02 3.898 0.000134 ***
## Blood.diastolic -1.186e-01 2.402e-02 -4.937 1.72e-06 ***
## Heart.Rate -2.040e-02 1.059e-02 -1.927 0.055476 .
## Daily.Steps 1.487e-04 2.105e-05 7.065 2.88e-11 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.337 on 192 degrees of freedom
## Multiple R-squared: 0.9213, Adjusted R-squared: 0.9185
## F-statistic: 321.3 on 7 and 192 DF, p-value: < 2.2e-16
#b)使用逐个变量筛选的方法进行逐步回归
model <- lm(Quality.of.Sleep ~ Age+
Sleep.Duration+
# Physical.Activity.Level+
Stress.Level+
Blood.systolic+
# Blood.diastolic+
Heart.Rate+
Daily.Steps, data = train_data)# 不断修改变量得到不同变量的回归分析结果
anova(model)
## Analysis of Variance Table
##
## Response: Quality.of.Sleep
## Df Sum Sq Mean Sq F value Pr(>F)
## Age 1 58.679 58.679 460.918 < 2.2e-16 ***
## Sleep.Duration 1 166.812 166.812 1310.286 < 2.2e-16 ***
## Stress.Level 1 20.368 20.368 159.985 < 2.2e-16 ***
## Blood.systolic 1 1.908 1.908 14.987 0.0001481 ***
## Heart.Rate 1 1.935 1.935 15.196 0.0001337 ***
## Daily.Steps 1 2.909 2.909 22.848 3.469e-06 ***
## Residuals 193 24.571 0.127
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(model)
##
## Call:
## lm(formula = Quality.of.Sleep ~ Age + Sleep.Duration + Stress.Level +
## Blood.systolic + Heart.Rate + Daily.Steps, data = train_data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.10088 -0.27399 -0.00328 0.21141 0.81820
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 6.949e+00 9.057e-01 7.673 8.13e-13 ***
## Age 2.536e-02 4.678e-03 5.421 1.76e-07 ***
## Sleep.Duration 5.966e-01 5.817e-02 10.257 < 2e-16 ***
## Stress.Level -2.682e-01 3.201e-02 -8.379 1.09e-14 ***
## Blood.systolic -1.686e-02 5.172e-03 -3.260 0.00132 **
## Heart.Rate -3.464e-02 1.078e-02 -3.212 0.00155 **
## Daily.Steps 7.914e-05 1.656e-05 4.780 3.47e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.3568 on 193 degrees of freedom
## Multiple R-squared: 0.9114, Adjusted R-squared: 0.9086
## F-statistic: 330.7 on 6 and 193 DF, p-value: < 2.2e-16
# (15)添加二次项的回归
model <- lm(Quality.of.Sleep ~
Age + Sleep.Duration + Physical.Activity.Level +
Stress.Level + Blood.systolic + Blood.diastolic +
Heart.Rate + Daily.Steps +
I(Age^2) + I(Sleep.Duration^2) + I(Physical.Activity.Level^2) +
I(Stress.Level^2) +
I(Blood.systolic^2) +
I(Blood.diastolic^2) + I(Heart.Rate^2) +
I(Daily.Steps^2) +
Age:Sleep.Duration + Age:Physical.Activity.Level +
Age:Stress.Level + Age:Blood.systolic +
Age:Blood.diastolic + Age:Heart.Rate +
Age:Daily.Steps +
Sleep.Duration:Physical.Activity.Level +
Sleep.Duration:Stress.Level +
Sleep.Duration:Blood.systolic +
Sleep.Duration:Blood.diastolic +
Sleep.Duration:Heart.Rate +
Sleep.Duration:Daily.Steps +
Physical.Activity.Level:Stress.Level +
Physical.Activity.Level:Blood.systolic +
Physical.Activity.Level:Blood.diastolic +
Physical.Activity.Level:Heart.Rate +
Physical.Activity.Level:Daily.Steps +
Stress.Level:Blood.systolic +
Stress.Level:Blood.diastolic + Stress.Level:Heart.Rate +
Stress.Level:Daily.Steps +
Blood.systolic:Blood.diastolic +
Blood.systolic:Heart.Rate + Blood.systolic:Daily.Steps +
Blood.diastolic:Heart.Rate + Blood.diastolic:Daily.Steps +
Heart.Rate:Daily.Steps, data = train_data)
summary(model)
##
## Call:
## lm(formula = Quality.of.Sleep ~ Age + Sleep.Duration + Physical.Activity.Level +
## Stress.Level + Blood.systolic + Blood.diastolic + Heart.Rate +
## Daily.Steps + I(Age^2) + I(Sleep.Duration^2) + I(Physical.Activity.Level^2) +
## I(Stress.Level^2) + I(Blood.systolic^2) + I(Blood.diastolic^2) +
## I(Heart.Rate^2) + I(Daily.Steps^2) + Age:Sleep.Duration +
## Age:Physical.Activity.Level + Age:Stress.Level + Age:Blood.systolic +
## Age:Blood.diastolic + Age:Heart.Rate + Age:Daily.Steps +
## Sleep.Duration:Physical.Activity.Level + Sleep.Duration:Stress.Level +
## Sleep.Duration:Blood.systolic + Sleep.Duration:Blood.diastolic +
## Sleep.Duration:Heart.Rate + Sleep.Duration:Daily.Steps +
## Physical.Activity.Level:Stress.Level + Physical.Activity.Level:Blood.systolic +
## Physical.Activity.Level:Blood.diastolic + Physical.Activity.Level:Heart.Rate +
## Physical.Activity.Level:Daily.Steps + Stress.Level:Blood.systolic +
## Stress.Level:Blood.diastolic + Stress.Level:Heart.Rate +
## Stress.Level:Daily.Steps + Blood.systolic:Blood.diastolic +
## Blood.systolic:Heart.Rate + Blood.systolic:Daily.Steps +
## Blood.diastolic:Heart.Rate + Blood.diastolic:Daily.Steps +
## Heart.Rate:Daily.Steps, data = train_data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.24992 -0.02872 0.00073 0.01617 0.56050
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -4.945e+02 8.183e+01 -6.043 1.08e-08
## Age -1.781e-01 2.524e-01 -0.706 0.48141
## Sleep.Duration -7.177e+00 4.776e+00 -1.503 0.13496
## Physical.Activity.Level 3.926e-01 2.353e-01 1.669 0.09719
## Stress.Level -2.895e+01 2.472e+00 -11.712 < 2e-16
## Blood.systolic 1.338e+01 1.924e+00 6.955 9.26e-11
## Blood.diastolic -1.905e+01 2.336e+00 -8.155 1.11e-13
## Heart.Rate 1.164e+01 1.125e+00 10.344 < 2e-16
## Daily.Steps 2.893e-02 3.450e-03 8.383 2.93e-14
## I(Age^2) 2.433e-03 5.067e-04 4.802 3.67e-06
## I(Sleep.Duration^2) 8.828e-03 1.072e-01 0.082 0.93445
## I(Physical.Activity.Level^2) 3.140e-03 4.303e-04 7.299 1.42e-11
## I(Stress.Level^2) -5.144e-01 5.473e-02 -9.399 < 2e-16
## I(Blood.systolic^2) 2.519e-01 2.138e-02 11.783 < 2e-16
## I(Blood.diastolic^2) 5.513e-01 4.077e-02 13.522 < 2e-16
## I(Heart.Rate^2) -5.376e-02 4.690e-03 -11.465 < 2e-16
## I(Daily.Steps^2) -4.222e-07 5.126e-08 -8.238 6.86e-14
## Age:Sleep.Duration 2.031e-02 1.170e-02 1.736 0.08448
## Age:Physical.Activity.Level 1.413e-03 9.104e-04 1.552 0.12276
## Age:Stress.Level 3.697e-02 7.504e-03 4.927 2.12e-06
## Age:Blood.systolic 3.664e-04 5.763e-03 0.064 0.94939
## Age:Blood.diastolic -2.701e-03 7.638e-03 -0.354 0.72415
## Age:Heart.Rate 2.000e-05 3.519e-03 0.006 0.99547
## Age:Daily.Steps -2.461e-05 1.146e-05 -2.147 0.03333
## Sleep.Duration:Physical.Activity.Level -4.800e-02 1.072e-02 -4.478 1.46e-05
## Sleep.Duration:Stress.Level -2.402e-01 1.152e-01 -2.085 0.03869
## Sleep.Duration:Blood.systolic -2.324e-01 7.792e-02 -2.983 0.00332
## Sleep.Duration:Blood.diastolic 2.876e-01 9.611e-02 2.993 0.00322
## Sleep.Duration:Heart.Rate 1.942e-01 4.020e-02 4.832 3.23e-06
## Sleep.Duration:Daily.Steps 2.928e-04 1.481e-04 1.977 0.04977
## Physical.Activity.Level:Stress.Level -2.115e-02 3.316e-03 -6.377 1.97e-09
## Physical.Activity.Level:Blood.systolic 1.991e-02 4.461e-03 4.463 1.54e-05
## Physical.Activity.Level:Blood.diastolic -4.279e-02 6.998e-03 -6.114 7.56e-09
## Physical.Activity.Level:Heart.Rate 9.025e-03 1.736e-03 5.197 6.29e-07
## Physical.Activity.Level:Daily.Steps -4.923e-06 8.894e-06 -0.554 0.58069
## Stress.Level:Blood.systolic 5.786e-01 6.614e-02 8.747 3.44e-15
## Stress.Level:Blood.diastolic -8.035e-01 9.250e-02 -8.687 4.91e-15
## Stress.Level:Heart.Rate 2.769e-01 1.889e-02 14.658 < 2e-16
## Stress.Level:Daily.Steps 1.118e-03 9.987e-05 11.197 < 2e-16
## Blood.systolic:Blood.diastolic -7.362e-01 5.667e-02 -12.992 < 2e-16
## Blood.systolic:Heart.Rate -2.204e-01 2.053e-02 -10.736 < 2e-16
## Blood.systolic:Daily.Steps -2.237e-04 3.724e-05 -6.008 1.29e-08
## Blood.diastolic:Heart.Rate 2.910e-01 2.652e-02 10.975 < 2e-16
## Blood.diastolic:Daily.Steps 3.999e-04 4.986e-05 8.020 2.42e-13
## Heart.Rate:Daily.Steps -4.551e-04 3.219e-05 -14.138 < 2e-16
##
## (Intercept) ***
## Age
## Sleep.Duration
## Physical.Activity.Level .
## Stress.Level ***
## Blood.systolic ***
## Blood.diastolic ***
## Heart.Rate ***
## Daily.Steps ***
## I(Age^2) ***
## I(Sleep.Duration^2)
## I(Physical.Activity.Level^2) ***
## I(Stress.Level^2) ***
## I(Blood.systolic^2) ***
## I(Blood.diastolic^2) ***
## I(Heart.Rate^2) ***
## I(Daily.Steps^2) ***
## Age:Sleep.Duration .
## Age:Physical.Activity.Level
## Age:Stress.Level ***
## Age:Blood.systolic
## Age:Blood.diastolic
## Age:Heart.Rate
## Age:Daily.Steps *
## Sleep.Duration:Physical.Activity.Level ***
## Sleep.Duration:Stress.Level *
## Sleep.Duration:Blood.systolic **
## Sleep.Duration:Blood.diastolic **
## Sleep.Duration:Heart.Rate ***
## Sleep.Duration:Daily.Steps *
## Physical.Activity.Level:Stress.Level ***
## Physical.Activity.Level:Blood.systolic ***
## Physical.Activity.Level:Blood.diastolic ***
## Physical.Activity.Level:Heart.Rate ***
## Physical.Activity.Level:Daily.Steps
## Stress.Level:Blood.systolic ***
## Stress.Level:Blood.diastolic ***
## Stress.Level:Heart.Rate ***
## Stress.Level:Daily.Steps ***
## Blood.systolic:Blood.diastolic ***
## Blood.systolic:Heart.Rate ***
## Blood.systolic:Daily.Steps ***
## Blood.diastolic:Heart.Rate ***
## Blood.diastolic:Daily.Steps ***
## Heart.Rate:Daily.Steps ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.07731 on 155 degrees of freedom
## Multiple R-squared: 0.9967, Adjusted R-squared: 0.9957
## F-statistic: 1050 on 44 and 155 DF, p-value: < 2.2e-16
# 逐步回归
#a)直接用step()进行变量筛选
step_model <- step(model, direction = "both", trace = 0)
summary(step_model)
##
## Call:
## lm(formula = Quality.of.Sleep ~ Age + Sleep.Duration + Physical.Activity.Level +
## Stress.Level + Blood.systolic + Blood.diastolic + Heart.Rate +
## Daily.Steps + I(Age^2) + I(Physical.Activity.Level^2) + I(Stress.Level^2) +
## I(Blood.systolic^2) + I(Blood.diastolic^2) + I(Heart.Rate^2) +
## I(Daily.Steps^2) + Age:Sleep.Duration + Age:Physical.Activity.Level +
## Age:Stress.Level + Age:Blood.diastolic + Age:Daily.Steps +
## Sleep.Duration:Physical.Activity.Level + Sleep.Duration:Stress.Level +
## Sleep.Duration:Blood.systolic + Sleep.Duration:Blood.diastolic +
## Sleep.Duration:Heart.Rate + Sleep.Duration:Daily.Steps +
## Physical.Activity.Level:Stress.Level + Physical.Activity.Level:Blood.systolic +
## Physical.Activity.Level:Blood.diastolic + Physical.Activity.Level:Heart.Rate +
## Stress.Level:Blood.systolic + Stress.Level:Blood.diastolic +
## Stress.Level:Heart.Rate + Stress.Level:Daily.Steps + Blood.systolic:Blood.diastolic +
## Blood.systolic:Heart.Rate + Blood.systolic:Daily.Steps +
## Blood.diastolic:Heart.Rate + Blood.diastolic:Daily.Steps +
## Heart.Rate:Daily.Steps, data = train_data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.23577 -0.02997 0.00097 0.01770 0.55737
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -5.232e+02 6.436e+01 -8.130 1.15e-13
## Age -1.742e-01 1.368e-01 -1.273 0.20473
## Sleep.Duration -5.430e+00 3.488e+00 -1.557 0.12154
## Physical.Activity.Level 3.349e-01 1.860e-01 1.800 0.07369
## Stress.Level -2.959e+01 1.965e+00 -15.064 < 2e-16
## Blood.systolic 1.380e+01 1.782e+00 7.746 1.05e-12
## Blood.diastolic -1.955e+01 2.179e+00 -8.973 7.69e-16
## Heart.Rate 1.207e+01 9.193e-01 13.124 < 2e-16
## Daily.Steps 3.022e-02 2.763e-03 10.939 < 2e-16
## I(Age^2) 2.494e-03 3.807e-04 6.550 7.59e-10
## I(Physical.Activity.Level^2) 2.978e-03 1.977e-04 15.062 < 2e-16
## I(Stress.Level^2) -5.015e-01 3.876e-02 -12.939 < 2e-16
## I(Blood.systolic^2) 2.559e-01 1.898e-02 13.479 < 2e-16
## I(Blood.diastolic^2) 5.568e-01 2.970e-02 18.746 < 2e-16
## I(Heart.Rate^2) -5.436e-02 4.134e-03 -13.151 < 2e-16
## I(Daily.Steps^2) -4.433e-07 3.939e-08 -11.254 < 2e-16
## Age:Sleep.Duration 2.230e-02 1.071e-02 2.083 0.03887
## Age:Physical.Activity.Level 1.655e-03 5.181e-04 3.194 0.00169
## Age:Stress.Level 3.794e-02 4.954e-03 7.659 1.73e-12
## Age:Blood.diastolic -2.363e-03 1.465e-03 -1.613 0.10866
## Age:Daily.Steps -2.775e-05 5.233e-06 -5.303 3.77e-07
## Sleep.Duration:Physical.Activity.Level -4.710e-02 8.786e-03 -5.361 2.87e-07
## Sleep.Duration:Stress.Level -2.192e-01 9.250e-02 -2.370 0.01897
## Sleep.Duration:Blood.systolic -2.617e-01 6.597e-02 -3.967 0.00011
## Sleep.Duration:Blood.diastolic 3.252e-01 7.635e-02 4.259 3.50e-05
## Sleep.Duration:Heart.Rate 1.815e-01 3.459e-02 5.247 4.87e-07
## Sleep.Duration:Daily.Steps 2.438e-04 1.188e-04 2.052 0.04180
## Physical.Activity.Level:Stress.Level -2.195e-02 2.776e-03 -7.908 4.13e-13
## Physical.Activity.Level:Blood.systolic 2.203e-02 2.625e-03 8.392 2.45e-14
## Physical.Activity.Level:Blood.diastolic -4.609e-02 4.302e-03 -10.714 < 2e-16
## Physical.Activity.Level:Heart.Rate 9.548e-03 1.401e-03 6.814 1.86e-10
## Stress.Level:Blood.systolic 5.974e-01 5.451e-02 10.960 < 2e-16
## Stress.Level:Blood.diastolic -8.297e-01 7.752e-02 -10.704 < 2e-16
## Stress.Level:Heart.Rate 2.760e-01 1.817e-02 15.190 < 2e-16
## Stress.Level:Daily.Steps 1.158e-03 7.867e-05 14.720 < 2e-16
## Blood.systolic:Blood.diastolic -7.454e-01 4.493e-02 -16.588 < 2e-16
## Blood.systolic:Heart.Rate -2.281e-01 1.705e-02 -13.382 < 2e-16
## Blood.systolic:Daily.Steps -2.333e-04 3.309e-05 -7.052 5.10e-11
## Blood.diastolic:Heart.Rate 3.002e-01 2.248e-02 13.356 < 2e-16
## Blood.diastolic:Daily.Steps 4.125e-04 4.353e-05 9.477 < 2e-16
## Heart.Rate:Daily.Steps -4.663e-04 2.712e-05 -17.196 < 2e-16
##
## (Intercept) ***
## Age
## Sleep.Duration
## Physical.Activity.Level .
## Stress.Level ***
## Blood.systolic ***
## Blood.diastolic ***
## Heart.Rate ***
## Daily.Steps ***
## I(Age^2) ***
## I(Physical.Activity.Level^2) ***
## I(Stress.Level^2) ***
## I(Blood.systolic^2) ***
## I(Blood.diastolic^2) ***
## I(Heart.Rate^2) ***
## I(Daily.Steps^2) ***
## Age:Sleep.Duration *
## Age:Physical.Activity.Level **
## Age:Stress.Level ***
## Age:Blood.diastolic
## Age:Daily.Steps ***
## Sleep.Duration:Physical.Activity.Level ***
## Sleep.Duration:Stress.Level *
## Sleep.Duration:Blood.systolic ***
## Sleep.Duration:Blood.diastolic ***
## Sleep.Duration:Heart.Rate ***
## Sleep.Duration:Daily.Steps *
## Physical.Activity.Level:Stress.Level ***
## Physical.Activity.Level:Blood.systolic ***
## Physical.Activity.Level:Blood.diastolic ***
## Physical.Activity.Level:Heart.Rate ***
## Stress.Level:Blood.systolic ***
## Stress.Level:Blood.diastolic ***
## Stress.Level:Heart.Rate ***
## Stress.Level:Daily.Steps ***
## Blood.systolic:Blood.diastolic ***
## Blood.systolic:Heart.Rate ***
## Blood.systolic:Daily.Steps ***
## Blood.diastolic:Heart.Rate ***
## Blood.diastolic:Daily.Steps ***
## Heart.Rate:Daily.Steps ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.0765 on 159 degrees of freedom
## Multiple R-squared: 0.9966, Adjusted R-squared: 0.9958
## F-statistic: 1180 on 40 and 159 DF, p-value: < 2.2e-16
#b)利用逐个变量观察的方法进行变量筛选
model <- lm(Quality.of.Sleep ~
Age + Sleep.Duration +
# Physical.Activity.Level +
Stress.Level + Blood.systolic +
# Blood.diastolic +
Heart.Rate + Daily.Steps +
# I(Age^2) +
I(Sleep.Duration^2) +
# I(Physical.Activity.Level^2) +
I(Stress.Level^2) +
# I(Blood.systolic^2) +
I(Blood.diastolic^2) + I(Heart.Rate^2) +
# I(Daily.Steps^2) +
Age:Sleep.Duration +
# Age:Physical.Activity.Level +
Age:Stress.Level + Age:Blood.systolic +
# Age:Blood.diastolic +
Age:Heart.Rate +
# Age:Daily.Steps +
# Sleep.Duration:Physical.Activity.Level +
# Sleep.Duration:Stress.Level +
# Sleep.Duration:Blood.systolic +
# Sleep.Duration:Blood.diastolic +
Sleep.Duration:Heart.Rate
# Sleep.Duration:Daily.Steps +
# Physical.Activity.Level:Stress.Level +
# Physical.Activity.Level:Blood.systolic +
# Physical.Activity.Level:Blood.diastolic +
# Physical.Activity.Level:Heart.Rate +
# Physical.Activity.Level:Daily.Steps +
# Stress.Level:Blood.systolic +
# Stress.Level:Blood.diastolic +
# Stress.Level:Heart.Rate +
# Stress.Level:Daily.Steps +
# Blood.systolic:Blood.diastolic +
# Blood.systolic:Heart.Rate
# Blood.systolic:Daily.Steps +
# Blood.diastolic:Heart.Rate
# Blood.diastolic:Daily.Steps +
# Heart.Rate:Daily.Steps
, data = train_data)# 这是初始带有所有变量的模型,每次剔除的变量会被注释掉
anova(model)
## Analysis of Variance Table
##
## Response: Quality.of.Sleep
## Df Sum Sq Mean Sq F value Pr(>F)
## Age 1 58.679 58.679 1215.8952 < 2.2e-16 ***
## Sleep.Duration 1 166.812 166.812 3456.5188 < 2.2e-16 ***
## Stress.Level 1 20.368 20.368 422.0376 < 2.2e-16 ***
## Blood.systolic 1 1.908 1.908 39.5351 2.282e-09 ***
## Heart.Rate 1 1.935 1.935 40.0859 1.810e-09 ***
## Daily.Steps 1 2.909 2.909 60.2719 5.557e-13 ***
## I(Sleep.Duration^2) 1 0.276 0.276 5.7229 0.017752 *
## I(Stress.Level^2) 1 0.925 0.925 19.1710 2.002e-05 ***
## I(Blood.diastolic^2) 1 2.893 2.893 59.9454 6.297e-13 ***
## I(Heart.Rate^2) 1 3.689 3.689 76.4454 1.403e-15 ***
## Age:Sleep.Duration 1 0.800 0.800 16.5703 6.954e-05 ***
## Age:Stress.Level 1 1.209 1.209 25.0500 1.301e-06 ***
## Age:Blood.systolic 1 4.743 4.743 98.2798 < 2.2e-16 ***
## Age:Heart.Rate 1 0.776 0.776 16.0886 8.781e-05 ***
## Sleep.Duration:Heart.Rate 1 0.379 0.379 7.8583 0.005601 **
## Residuals 184 8.880 0.048
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(model)# 最后展现最终模型
##
## Call:
## lm(formula = Quality.of.Sleep ~ Age + Sleep.Duration + Stress.Level +
## Blood.systolic + Heart.Rate + Daily.Steps + I(Sleep.Duration^2) +
## I(Stress.Level^2) + I(Blood.diastolic^2) + I(Heart.Rate^2) +
## Age:Sleep.Duration + Age:Stress.Level + Age:Blood.systolic +
## Age:Heart.Rate + Sleep.Duration:Heart.Rate, data = train_data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.9470 -0.1062 -0.0100 0.1172 0.8897
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 9.523e+01 1.474e+01 6.459 9.12e-10 ***
## Age -1.475e+00 1.241e-01 -11.879 < 2e-16 ***
## Sleep.Duration -5.102e+00 1.771e+00 -2.880 0.00445 **
## Stress.Level -6.344e-01 1.945e-01 -3.263 0.00132 **
## Blood.systolic -3.575e-02 2.349e-02 -1.522 0.12966
## Heart.Rate -1.110e+00 2.471e-01 -4.491 1.25e-05 ***
## Daily.Steps 2.042e-04 2.052e-05 9.951 < 2e-16 ***
## I(Sleep.Duration^2) 5.279e-02 7.709e-02 0.685 0.49431
## I(Stress.Level^2) -3.921e-02 1.638e-02 -2.394 0.01765 *
## I(Blood.diastolic^2) -1.625e-03 1.949e-04 -8.337 1.74e-14 ***
## I(Heart.Rate^2) 4.541e-03 1.422e-03 3.194 0.00165 **
## Age:Sleep.Duration 5.846e-02 8.669e-03 6.744 1.93e-10 ***
## Age:Stress.Level 1.440e-02 4.480e-03 3.215 0.00154 **
## Age:Blood.systolic 5.293e-03 8.418e-04 6.287 2.29e-09 ***
## Age:Heart.Rate 5.049e-03 1.755e-03 2.877 0.00449 **
## Sleep.Duration:Heart.Rate 3.518e-02 1.255e-02 2.803 0.00560 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.2197 on 184 degrees of freedom
## Multiple R-squared: 0.968, Adjusted R-squared: 0.9654
## F-statistic: 370.6 on 15 and 184 DF, p-value: < 2.2e-16