看板 R_Language 關於我們 聯絡資訊
[問題類型] 程式諮詢 [軟體熟悉度] 入門(寫過其他程式,只是對語法不熟悉) [問題敘述]: 我想要把欄位中的**區擷取出來,網路上看到很多正規式的方式,但因為資料格式不太一致,無法用選位置的方式,想請假板上的神人應該怎麼寫,先感謝了! [程式範例]: https://i.imgur.com/6AwcUJ8.jpg
[環境敘述]: R 3.6.0 [關鍵字]: 字串擷取 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.140.60.223 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1596613525.A.765.html
andrew43: 我建議直接列舉所有直轄市的區名去抓,比純靠reg exp的 08/05 16:49
andrew43: 邏輯還穩當。 08/05 16:49
locka: 推Andrew大!有的區是三個字(ex:那瑪夏區)直接用清單比對比 08/05 16:59
locka: 較不會錯 08/05 16:59
love11098787: 這筆資料只有台北市的,看過區應該都剛好是三個字 08/05 17:31
andrew43: 補上code,包括之後檢查的方向。 08/05 18:07
andrew43: https://pastebin.com/vcM8tHyE 08/05 18:07
love11098787: 感謝A大!!!成功了 08/05 21:49
love11098787: 遇到character(0)要怎麼刪除,我用data[length(dat 08/06 09:54
love11098787: a$region)>0]發現刪不掉 08/06 09:54
andrew43: `data`是list嗎?用雙重中括號 08/06 14:33
andrew43: 更正,試試在我的code後res[sapply(res, length) != 0] 08/06 14:37
love11098787: data是資料框 08/06 14:49
love11098787: character(0)還是無法刪除 08/06 14:57
andrew43: 請以code重現你的操作。 08/06 15:04
love11098787: data$region[sapply(data$region,length)!=0] 08/06 15:16
andrew43: 沒有完整重現困難的code與假資料實在無能為力 08/06 15:28
love11098787: https://pastebin.com/nSL3sgwP 08/06 15:36
love11098787: https://i.imgur.com/W0W9HPM.jpg 08/06 15:37
andrew43: 試試用x<-character(0); identical(x, character(0))去 08/06 15:58
andrew43: 一個一個檢驗。x應對應一個cell而非一整個column。 08/06 15:58
love11098787: 找到方法了,在前面資料處理的時候拿掉不要的字串 08/06 17:31
love11098787: ,之後就不會出現了,感謝你! 08/06 17:31