作者remember69 (大俠好帥)
看板R_Language
標題資料切割問題
時間Wed Aug 12 09:24:11 2015
(抱歉剛剛用到別人的帳號了...)
[熟悉程度]
新手,一兩個月
[問題敘述]:
手邊有個資料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://webptt.com/m.aspx?n=bbs/R_Language/M.1439342654.A.486.html
1F:→ celestialgod: CMD變數是什麼類型?字串還是數字 08/12 09:53
2F:→ celestialgod: 數字比較麻煩,建議轉字串處理 08/12 09:53
3F:→ celestialgod: 轉字串就直接用grepl("20\\d*", CMD)就可以抓出20 08/12 09:54
4F:→ celestialgod: 開頭的變數了 08/12 09:54
嗯嗯,已轉成字串
但用grepl後他出來的值是TRUE跟FALSE
小的不才,請問要怎麼把他轉成原本的資料形式呢?
※ 編輯: remember69 (140.96.194.58), 08/12/2015 10:15:45
5F:→ celestialgod: 邏輯值可以用在取row上面,dat[logicalVector,] 08/12 10:18
6F:→ 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
7F:→ celestialgod: 是我打錯了... 08/12 10:46
8F:→ celestialgod: grepl("^20\\d*", CMD)這樣才對 08/12 10:46
喔喔好了XD 謝謝C大!!!!! :)
※ 編輯: remember69 (140.96.194.58), 08/12/2015 10:56:07