看板 R_Language 關於我們 聯絡資訊
(抱歉剛剛用到別人的帳號了...) [熟悉程度] 新手,一兩個月 [問題敘述]: 手邊有個資料data1如下 uid system CMD time 0 20 2010 201030 0 30 3030 . . . 想請問我如果要把CMD開頭是"20"的資料抽出來該如何抽? ("20"包含20.2010.2020.201030...etc ) 試過pmatch(),charmatch()但好像都不是 請各位高手解惑一下... -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.96.194.58 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1439342654.A.486.html
celestialgod: CMD變數是什麼類型?字串還是數字 08/12 09:53
celestialgod: 數字比較麻煩,建議轉字串處理 08/12 09:53
celestialgod: 轉字串就直接用grepl("20\\d*", CMD)就可以抓出20 08/12 09:54
celestialgod: 開頭的變數了 08/12 09:54
嗯嗯,已轉成字串 但用grepl後他出來的值是TRUE跟FALSE 小的不才,請問要怎麼把他轉成原本的資料形式呢? ※ 編輯: remember69 (140.96.194.58), 08/12/2015 10:15:45
celestialgod: 邏輯值可以用在取row上面,dat[logicalVector,] 08/12 10:18
celestialgod: 你如果要原始資料用grep 08/12 10:19
喔喔了解~ 但是我轉完之後發現字串開頭不是20但後面有20的也被選進來了 ex 302010.401020.402020 我只要開頭而已,像是"20XXXX""20XX" 不好意思好像是我問題沒有描述情楚QQ ※ 編輯: remember69 (140.96.194.58), 08/12/2015 10:45:33
celestialgod: 是我打錯了... 08/12 10:46
celestialgod: grepl("^20\\d*", CMD)這樣才對 08/12 10:46
喔喔好了XD 謝謝C大!!!!! :) ※ 編輯: remember69 (140.96.194.58), 08/12/2015 10:56:07