[問題] 資料切割問題

看板R_Language作者 (大俠好帥)時間10年前 (2015/08/12 09:24), 10年前編輯推噓0(008)
留言8則, 1人參與, 最新討論串1/1
(抱歉剛剛用到別人的帳號了...) [熟悉程度] 新手,一兩個月 [問題敘述]: 手邊有個資料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

08/12 09:53, , 1F
CMD變數是什麼類型?字串還是數字
08/12 09:53, 1F

08/12 09:53, , 2F
數字比較麻煩,建議轉字串處理
08/12 09:53, 2F

08/12 09:54, , 3F
轉字串就直接用grepl("20\\d*", CMD)就可以抓出20
08/12 09:54, 3F

08/12 09:54, , 4F
開頭的變數了
08/12 09:54, 4F
嗯嗯,已轉成字串 但用grepl後他出來的值是TRUE跟FALSE 小的不才,請問要怎麼把他轉成原本的資料形式呢? ※ 編輯: remember69 (140.96.194.58), 08/12/2015 10:15:45

08/12 10:18, , 5F
邏輯值可以用在取row上面,dat[logicalVector,]
08/12 10:18, 5F

08/12 10:19, , 6F
你如果要原始資料用grep
08/12 10:19, 6F
喔喔了解~ 但是我轉完之後發現字串開頭不是20但後面有20的也被選進來了 ex 302010.401020.402020 我只要開頭而已,像是"20XXXX""20XX" 不好意思好像是我問題沒有描述情楚QQ ※ 編輯: remember69 (140.96.194.58), 08/12/2015 10:45:33

08/12 10:46, , 7F
是我打錯了...
08/12 10:46, 7F

08/12 10:46, , 8F
grepl("^20\\d*", CMD)這樣才對
08/12 10:46, 8F
喔喔好了XD 謝謝C大!!!!! :) ※ 編輯: remember69 (140.96.194.58), 08/12/2015 10:56:07
文章代碼(AID): #1Log0-I6 (R_Language)
文章代碼(AID): #1Log0-I6 (R_Language)