iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 12
0
自我挑戰組

使用R進行探索式資料分析之初探系列 第 12

R的多重判斷式_以期中考題目為例

  • 分享至 

  • xImage
  •  

今天本來要開始進行店商網站的消費分析,但我覺得不免俗的介紹所程式都有的判斷式,也就是if else,當然R也有,而寫這一篇是我個人覺得,判斷式有時在我們在作資料探索時有時是需要用到的,所以在上個月看到一位邦友,提出的問題時間約在四月我想這應該是期中考的問題,當我回答時已經八月放暑假了,應該沒有解決到他的問題,但是我看題目很有啟發性就試著解題,順便帶到R的判斷式,若是各位同好有更好的解答,也歡迎留言!

一、請模擬連續投擲一枚公正的銅板,請問在你的模擬中,投擲幾次才會至少出現三次正面且五次反面

題解:這一題我個人覺得出題老師怕同學互抄但題目很簡單,程式如下

set.seed(8)
sample(1:2,8,replace = TRUE)

我做完是六次,但因亂數每次都會不一樣,所以才說該題為防止程式碼互抄的設計。

二、請產生自動評分器,隨機抽樣一個介於0至100之間的數字,若出現0至59分,則R輸出"Fail",60至69分為"Fair",70至79分為"Good",80分以上為"Excellent"。
題解:該題為很傳統考多重判斷式的題目

x <- sample(0:100,1,replace = TRUE)
if (x<=59){
  message("Fail");
} else if (x %in% c(60:69) ){
  message("Fair");
} else if (x %in% c(70:79) ){
  message("Good");
} else if (x >80) {
  message("Excellent");
}

三、**請以下列語法產生30位同學的四次考試成績 **id <- 1:30 exam1 <- sample(40:90, size = 30, replace = T) exam2 <- sample(40:90, size = 30, replace = T) exam3 <- sample(40:90, size = 30, replace = T) exam4 <- sample(40:90, size = 30, replace = T)

(1) 計算每位同學的四次考試平均分數,並存進mean向量中。

(2) 計算mean之平均數、標準差、最大值、最小值

(3) 判斷每位同學的平均成績是否及格,60分以上及格(1)、未滿60分不及格(0),並將結果存進pass向量中。(Hint: 可利用if與for迴圈)

(4) 將id, 四次考試成績, mean, pass等變項存成score資料框(data frame)。

題解:該題為一題組內含四小題,是一題頗具震撼力的一題,考的是學生的膽識及實力,第一次看到時也被該題嚇到,但仔細看也沒那麼難。
解題流程首先題組的內容相關變數設定,若被題目給混淆下面4小題也可不用做了,如下

id <- 1:30
exam1 <- sample(40:90, size = 30, replace = T)
exam2 <- sample(40:90, size = 30, replace = T)
exam3 <- sample(40:90, size = 30, replace = T)
exam4 <- sample(40:90, size = 30, replace = T)

接著進入題組的每一小題
1.計算每位同學的四次考試平均分數,並存進mean向量中。

merage <- cbind(id,exam1,exam2,exam3,exam4)
mean <- rowMeans(merage)

2.計算mean之平均數、標準差、最大值、最小值

summary(mean)
sd(mean)

3. 判斷每位同學的平均成績是否及格,60分以上及格(1)、未滿60分不及格(0),並將結果存進pass向量中。(Hint: 可利用if與for迴圈)
這位老師提醒考生可用for迴圈,但我覺得要寫太多程式碼了,只需一行即可解決

pass <- ifelse(mean>=60,"1","0")

4.將id, 四次考試成績, mean, pass等變項存成score資料框(data frame)。

score <- data.frame(id,exam1,exam2,exam3,exam4,mean,pass)

四個小題組合完成第三題的成果
https://ithelp.ithome.com.tw/upload/images/20200912/201207564KtTYsA7gD.png


上一篇
美國運輸統計局_局長要了解飛機航班的問題
下一篇
電商女鞋消費分析_先來個傳說中的資料清理吧!
系列文
使用R進行探索式資料分析之初探30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言