iT邦幫忙

0

R語言 資料分類不太會 想請教一下老師們

https://ithelp.ithome.com.tw/upload/images/20210603/20138066e53F1QnXwj.jpghttps://ithelp.ithome.com.tw/upload/images/20210603/201380664dOmegF4lh.jpg
第一張圖片是題目,要求2、3我不太知道該怎麼做,勞煩老師提點

obarisk iT邦新手 5 級 ‧ 2021-06-04 08:43:22 檢舉
if 只能做純量(scale)。所以放一個複合值(vector)進去,就只有第一個值會被使用。

年的話,把 Join.Date 的年取出來,轉成數字再用 2021 減掉出道年

2 個回答

0
0
jiehong
iT邦新手 5 級 ‧ 2021-06-04 14:11:27

用if的話要寫迴圈

data$Level <- sapply(data$Followers, function(x){
  if (x>50 & x<80){
    "a"
  }else if(){
    "b"
  }else{
    "c"
  }
})

但這作法很沒效率

直接幫樓主做完了

data$Gender[data$Gender=="F"] <- "女"
data$Gender[data$Gender=="M"] <- "男"

data$Level[data$Followers>50 & data$Followers<80] <- "熱門youtuber"
data$Level[data$Followers>=80 & data$Followers<100] <- "即將邁入百萬級"
data$Level[data$Followers>=100] <- "百萬級youtuber"

data$Year <- 2021 - as.integer(gsub("-.*$", "", data$join.Date))

開頭說效率的部份,是因為R的迴圈是出了名的慢,所以能用index、向量解決的事就盡量避免迴圈的用法

我要發表回答

立即登入回答