Skip to content

Commit cd734b2

Browse files
author
Yiquan Xu
committed
add function
1 parent 2445a61 commit cd734b2

File tree

1 file changed

+58
-0
lines changed

1 file changed

+58
-0
lines changed

APP_Yiquan_Xu/R/health_status.R

+58
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
#' @title Check your health status
2+
#'
3+
#' @description This function helps you to evaluate your health status
4+
#' @param data a data.frame
5+
#' @param cbsa cbsa in US
6+
#' @param year A numeric vector
7+
#' @param smoke whether people smoke or not, equal to -1 if you smoke, else is 1. Default is 1
8+
#' @param exercise whether people has certain exercise every day, equal to -1 if you don't, else is 1. Default is 1
9+
#' @param gene whether people has certain gene may cause disease happen,equal to -1 for bad gene or 1 for good gene. Default is 1
10+
#' @seealso
11+
#' @ruturn
12+
#' @examples
13+
#'
14+
#' @export
15+
16+
17+
18+
health_status<-function(data=annual_aqi, cbsa, year, smoke, exercise, gene){
19+
env_status=0
20+
health_data <- data%>%filter(CBSA %in% cbsa & Year %in% year)
21+
names(health_data)[13] <- "MedianAQI"
22+
if(mean(health_data$MedianAQI)>=0&mean(health_data$MedianAQI)<=50){
23+
env_status = env_status + 2
24+
} else if(mean(health_data$MedianAQI)>50&mean(health_data$MedianAQI)<=100){
25+
env_status = env_status + 1
26+
} else if(mean(health_data$MedianAQI)>100&mean(health_data$MedianAQI)<=150){
27+
env_status = env_status
28+
} else if(mean(health_data$MedianAQI)>150&mean(health_data$MedianAQI)<=200){
29+
env_status = env_status - 1
30+
} else if(mean(health_data$MedianAQI)>200&mean(health_data$MedianAQI)<=300){
31+
env_status = env_status - 2
32+
} else{
33+
env_status = env_status - 3
34+
}
35+
if(smoke == "Yes"){
36+
smoke = 1
37+
} else{
38+
smoke = 0
39+
}
40+
if(exercise == "Yes"){
41+
exercise = 1
42+
} else{
43+
exercise = 0
44+
}
45+
if(gene == "Yes"){
46+
gene = 1
47+
} else{
48+
gene = 0
49+
}
50+
status = env_status + smoke + exercise + gene
51+
if(status>=4&status<=6){
52+
print('Healthy!Keep going!:)')
53+
} else if(status>=-2&status<=3){
54+
print('Sub Healthy.Maybe you can do more to improve!;)')
55+
} else{
56+
print('Not healthy.:( You should be careful of your health!')
57+
}
58+
}

0 commit comments

Comments
 (0)