# 周次:w6
# 任務:流程控制
# 姓名:廖呈祐
# 日期:2021年03月10日
## 題組二
# 1. 判斷全班同學體位狀況
# 請先下載google問卷結果
# 讓Rstudio cloud讀xlsx檔
#install.packages("xlsx")
#library(xlsx)
#data <- read.xlsx("psy.xlsx", 1, encoding ="UTF-8")
library(readxl)
data <- read_excel("psy.xlsx")
#View(data)
# 檢視資料檔案內容
str(data)
## tibble [18 × 19] (S3: tbl_df/tbl/data.frame)
## $ 時間戳記 : POSIXct[1:18], format: "2021-02-27 10:14:22" "2021-02-27 10:30:25" ...
## $ 電子郵件地址 : chr [1:18] "0803brian@gmail.com" "bbirbbira@gmail.com" "p7786071@gmail.com" "kd910518@gmail.com" ...
## $ 姓名 : chr [1:18] "1130730408莊詠翔" "1130730404 陳芎宇" "1130730406 楊世宏" "1130730416 黄子騏" ...
## $ 請問你的出生年月日 : POSIXct[1:18], format: "2002-03-08" "2001-12-04" ...
## $ 請問你的生理性別 : chr [1:18] "男" "男" "男" "男" ...
## $ 請問你的身高(公分) : num [1:18] 180 173 170 177 169 178 172 167 188 158 ...
## $ 請問你的體重(公斤) : num [1:18] 60 62 69 65 64 78 72 63 100 53 ...
## $ 請問你大約每週有幾天會使用IG (單位: 天數) : num [1:18] 6 4 1 7 7 7 6 7 7 7 ...
## $ 在你有玩IG的那一天,你一整天大概玩多久?(以小時計算,請填數字。例如30分鐘,請填0.5小時,若3小時,則填3): num [1:18] 0.5 0.25 0.3 0.5 0.2 2 1 1 0.5 0.5 ...
## $ 當在瀏覽IG時,你多常關注那些比你過得好的人? : chr [1:18] "經常" "有時" "有時" "有時" ...
## $ 當在瀏覽IG時,你多常關注那些比你過得差的人? : chr [1:18] "有時" "完全沒有" "完全沒有" "有時" ...
## $ 整體而言,你對於自己滿不滿意? : chr [1:18] "普通" "普通" "普通" "滿意" ...
## $ 整體而言,你對於你的社交生活滿不滿意? : chr [1:18] "普通" "不滿意" "滿意" "滿意" ...
## $ 整體而言,你對自己目前的健康狀況滿不滿意? : chr [1:18] "非常不滿意" "普通" "滿意" "滿意" ...
## $ 整體而言,你對於你的生活滿不滿意? : chr [1:18] "普通" "不滿意" "滿意" "滿意" ...
## $ 請問你有心事的時候,經常找哪位同學聊聊 : chr [1:18] "1130730401張藝馨" "1130730404 陳芎宇" "1130730404 陳芎宇" "1130730414 蔡承軒" ...
## $ 請問你缺錢的時候,經常找哪位同學借錢 : chr [1:18] "1130730406 楊世宏" "1130730404 陳芎宇" "1130730401張藝馨" "1130730402洪銘材" ...
## $ 請用20個字以上描述你認為軍校生應具備的特質與能力 : chr [1:18] "懂得變通,不能什麼都只聽上面的人說話,要有自己的想法,但也不能直接頂撞,要保護自己" "能夠服從上級命令,卻又不失自己的想法,不會盲目的服從" "我認為軍校生要勤奮自主,並且有靈活的思考方式。" "應該要能對自己的國家有認同感,培養國際局勢,並於在學期間規劃好未來生涯" ...
## $ 請用20個字以上描述你的理想情人的標準與特質 : chr [1:18] "長頭髮、可愛型的、稍微粘人但也不要太黏,160-170之間" "能夠了解我的,能夠體諒我的個性的,能夠聽我和陪我說話的" "能夠互相理解、尊重彼此的喜好、協助對方完成目標、視彼此為重要他人。" "我也沒什麼好描述的啦,條件又沒多好哪有資格要求東要求西,感覺對了就好反正也把不到" ...
# 檢視欄位名稱
names(data)
## [1] "時間戳記"
## [2] "電子郵件地址"
## [3] "姓名"
## [4] "請問你的出生年月日"
## [5] "請問你的生理性別"
## [6] "請問你的身高(公分)"
## [7] "請問你的體重(公斤)"
## [8] "請問你大約每週有幾天會使用IG (單位: 天數)"
## [9] "在你有玩IG的那一天,你一整天大概玩多久?(以小時計算,請填數字。例如30分鐘,請填0.5小時,若3小時,則填3)"
## [10] "當在瀏覽IG時,你多常關注那些比你過得好的人?"
## [11] "當在瀏覽IG時,你多常關注那些比你過得差的人?"
## [12] "整體而言,你對於自己滿不滿意?"
## [13] "整體而言,你對於你的社交生活滿不滿意?"
## [14] "整體而言,你對自己目前的健康狀況滿不滿意?"
## [15] "整體而言,你對於你的生活滿不滿意?"
## [16] "請問你有心事的時候,經常找哪位同學聊聊"
## [17] "請問你缺錢的時候,經常找哪位同學借錢"
## [18] "請用20個字以上描述你認為軍校生應具備的特質與能力"
## [19] "請用20個字以上描述你的理想情人的標準與特質"
# 用英文重新命名欄位名稱
names(data)[1:19] <- c("time", "email",
"name","birth",
"gender","height",
"weight","useig","usetime",
"up_com","down_com",
"sat_self","sat_social",
"sat_health","sat_life",
"mate_talk","mate_money",
"cadet","lover")
# 建立一個物件bmi_j,計算同學們的bmi
bmi_j <- data$weight / (data$height / 100)^2
bmi_j
## [1] 18.51852 20.71569 23.87543 20.74755 22.40818 24.61810 24.33748 22.58955
## [9] 28.29335 21.23057 18.59113 23.87543 26.47211 17.84652 18.33910 23.12406
## [17] 21.67126 23.24380
# 檢視所有同學的體位狀況
for(BMI in bmi_j){
if(BMI>=18.5&BMI<24){
print("健康體位")
}else if(BMI<18.5){
print("過輕")
}else if(BMI>24&BMI<27){
print("過重")
}else if(BMI>=24&BMI<27){
print("輕度肥胖")
}else if(BMI>=30&BMI<35){
print("中度肥胖")
}else
{print("重度肥胖")}
}
## [1] "健康體位"
## [1] "健康體位"
## [1] "健康體位"
## [1] "健康體位"
## [1] "健康體位"
## [1] "過重"
## [1] "過重"
## [1] "健康體位"
## [1] "重度肥胖"
## [1] "健康體位"
## [1] "健康體位"
## [1] "健康體位"
## [1] "過重"
## [1] "過輕"
## [1] "過輕"
## [1] "健康體位"
## [1] "健康體位"
## [1] "健康體位"
###補充test
# 1. 將班上男性印出"高富帥"
# 且女性印出"白富美"
# 請運迴圈的方式,檢視班上同學帥哥美女情形
goodlooking <- data$gender
for(i in goodlooking){
if(i=="男"){
print("高富帥")
}else
{print("白富美")}
}
## [1] "高富帥"
## [1] "高富帥"
## [1] "高富帥"
## [1] "高富帥"
## [1] "高富帥"
## [1] "高富帥"
## [1] "高富帥"
## [1] "高富帥"
## [1] "高富帥"
## [1] "白富美"
## [1] "高富帥"
## [1] "高富帥"
## [1] "高富帥"
## [1] "白富美"
## [1] "高富帥"
## [1] "高富帥"
## [1] "白富美"
## [1] "高富帥"
# 1. 若生日>"2002-01-01"印出"年輕"
# 且生日<"2002-01-01"印出"老"
# 請運迴圈的方式,檢視班上同學長幼情形
mid <- as.Date("2002-01-01")
mid
## [1] "2002-01-01"
as.integer(mid)
## [1] 11688
birth <- as.Date(data$birth)
as.integer(birth)
## [1] 11754 11660 11610 11825 11570 11433 11886 11637 11776 11800 11601 11624
## [13] 11708 11677 11909 11916 11772 11776
for(i in birth){
if (i>mid){
print("年輕")
} else{
print("老")
}
}
## [1] "年輕"
## [1] "老"
## [1] "老"
## [1] "年輕"
## [1] "老"
## [1] "老"
## [1] "年輕"
## [1] "老"
## [1] "年輕"
## [1] "年輕"
## [1] "老"
## [1] "老"
## [1] "年輕"
## [1] "老"
## [1] "年輕"
## [1] "年輕"
## [1] "年輕"
## [1] "年輕"