作者hahayunping (魚皮:))
看板R_Language
標題[問題] Excel的ifs如何在R裡面呈現
時間Fri Jul 17 15:19:02 2020
[問題類型]:
程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
[軟體熟悉度]:
入門
[問題敘述]:
想請教Excel中的ifs如何在R中作呈現?
目前使用的是
gsub("原文","取代後文字",df)
去一個條件一個條件做轉換,
但因為條件數量太多,
若要每個條件寫一行,
code會變得很長,
不知道有沒有什麼功能是可以一次處理多條件的呢?
查了一些網路上的資料,
有些人推薦使用mgsub(c("原文1","原文2"),c("取代後文字1","取代後文字2"),df) ,
但自己嘗試過後卻出現以下錯誤訊息。
Error in mgsub(a, b, df) :
pattern and replacement vectors must be the same length
不知道有沒有版友可以提供一些想法或建議呢?
謝謝!
[關鍵字]:
gsub
mgsub
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 124.213.117.127 (日本)
※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1594970344.A.CEC.html
推 locka: 你的取代後文字1有可能符合原文2的條件嗎? 07/17 15:27
※ 編輯: hahayunping (124.213.117.127 日本), 07/17/2020 15:29:25
→ hahayunping: 是完全不一樣的內容~其實算是要把原文(全文字)分成 07/17 15:30
→ hahayunping: ABCDE這種組別~ 07/17 15:31
→ hahayunping: 需要多一個欄位來表示組別,所以在Excel是用ifs處理 07/17 15:33
→ andrew43: 源自不同package的mgsub有不同的用法,可先確認當下環境 07/17 15:52
推 locka: 用mutate搭配case_when,可以寫不同的判斷式,最後一行則是 07/17 16:05
推 locka: 如果都不符合則被分到C組,給原po參考看看~ 07/17 16:05
推 Gjerry: 如果只是單純要分成幾類,可以試試看轉成 factor , 輸入 07/17 18:13
→ Gjerry: 每一個level 及對應的 label就可以了。 07/17 18:13
→ hahayunping: 謝謝各位大大~來試試看! 07/20 13:39