看板 R_Language 關於我們 聯絡資訊
[問題類型]: 程式諮詢(我想用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: http://i.imgur.com/cSJ36D4.jpg 07/17 16:03
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