# 周次:w8
# 任務:認識常用內建函數
# 姓名:廖呈祐
# 日期:2021年03月24日
## 題組一 數值向量函數
# 檢視r內建資料集
data()
# 叫出women資料集(美國女性的平均身高、體重)
data(women)
# 檢視資料集
#view(women)
head(women)
## height weight
## 1 58 115
## 2 59 117
## 3 60 120
## 4 61 123
## 5 62 126
## 6 63 129
names(women)
## [1] "height" "weight"
nrow(women)
## [1] 15
tail(women)
## height weight
## 10 67 142
## 11 68 146
## 12 69 150
## 13 70 154
## 14 71 159
## 15 72 164
# 建立一個物件bmi,計算美國女性的bmi
bmi <- women$weight / (women$height / 100)^2
bmi
## [1] 341.8549 336.1103 333.3333 330.5563 327.7836 325.0189 322.2656 319.5266
## [9] 319.1001 316.3288 315.7439 315.0599 314.2857 315.4136 316.3580
# 1. 取bmi整數,且無條件刪去法
floor(bmi)
## [1] 341 336 333 330 327 325 322 319 319 316 315 315 314 315 316
# 2. 取bmi整數,且無條件進入法
ceiling(bmi)
## [1] 342 337 334 331 328 326 323 320 320 317 316 316 315 316 317
# 3. 取bmi至小數點第2位,且四捨五入
round(bmi, digits=2)
## [1] 341.85 336.11 333.33 330.56 327.78 325.02 322.27 319.53 319.10 316.33
## [11] 315.74 315.06 314.29 315.41 316.36
# 4. 請將iris資料集的花瓣長度,取整數並四捨五入
data(iris)
names(iris)
## [1] "Sepal.Length" "Sepal.Width" "Petal.Length" "Petal.Width" "Species"
round(iris$Petal.Length, digits=0)
## [1] 1 1 1 2 1 2 1 2 1 2 2 2 1 1 1 2 1 1 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 1 2 1 1
## [38] 1 1 2 1 1 1 2 2 1 2 1 2 1 5 4 5 4 5 4 5 3 5 4 4 4 4 5 4 4 4 4 4 4 5 4 5 5
## [75] 4 4 5 5 4 4 4 4 4 5 4 4 5 4 4 4 4 5 4 3 4 4 4 4 3 4 6 5 6 6 6 7 4 6 6 6 5
## [112] 5 6 5 5 5 6 7 7 5 6 5 7 5 6 6 5 5 6 6 6 6 6 5 6 6 6 6 5 5 6 5 5 6 6 5 5 5
## [149] 5 5
## 題組二 文字向量函數
# 已建立一個物件leadline為新聞標題、lead為新聞導言
headline <- "【鮭魚改名潮】「張鮭魚之夢」改不回來 李來希喊救孩子:大人高抬貴手"
lead <- c("台灣近日掀起「鮭魚之亂」","台中一位男大生為了壽司店優惠活動",
"把自己的名字改成「張鮭魚之夢」", "未料改完名後", "男大生發現悲劇已改了3次名",
"讓他崩潰直呼划不來", "對此","全國公務人員協會前理事長李來希感嘆",
"「價值觀錯亂下的羔羊」","希望主持政務的大人高抬貴手","讓他回復原狀")
headline
## [1] "【鮭魚改名潮】「張鮭魚之夢」改不回來 李來希喊救孩子:大人高抬貴手"
lead
## [1] "台灣近日掀起「鮭魚之亂」" "台中一位男大生為了壽司店優惠活動"
## [3] "把自己的名字改成「張鮭魚之夢」" "未料改完名後"
## [5] "男大生發現悲劇已改了3次名" "讓他崩潰直呼划不來"
## [7] "對此" "全國公務人員協會前理事長李來希感嘆"
## [9] "「價值觀錯亂下的羔羊」" "希望主持政務的大人高抬貴手"
## [11] "讓他回復原狀"
# 運用substr函數,擷取標題中的「張鮭魚之夢」5個字
data <- substr(headline, start=8, stop=14)
data
## [1] "「張鮭魚之夢」"
# 運用grep函數,搜尋導言中出現幾次鮭魚
salmon <- grep(lead, pattern="鮭魚")
length(salmon)
## [1] 2
# 請將導言中,出現鮭魚的句子篩選出來
# 運用sub函數,將導言中的「男大生」替換為「軍校生」
# 運用paste函數,將導言的第一句話和標題連結起來,連結的符號為「!!」
# 運用 paste0函數,將導言的第一句話和標題連結起來
## 題組三 描述統計函數
# 運用unique函數,找出iris資料集有多少種不同的花萼長度
# 運用mean函數,算出iris花萼寬度的平均
# 運用sd函數,算出iris花萼寬度的標準差
# 運用median函數,找出iris花萼寬度的中位數
# 運用max, min, range函數,找出iris花萼寬度的最大值與最小值的範圍
# 運用sum函數,將所有的花辮長度加總