[問題] grep判斷欄位是否含特定字串,取該筆資料

作者: joson4921 (特務)   2016-12-16 17:54:51
文章分類提示:
- 問題: 當你想要問問題時,請使用這個類別。
[問題類型]:
程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
[軟體熟悉度]:
請把以下不需要的部份刪除
新手(沒寫過程式,R 是我的第一次)
[問題敘述]:
請簡略描述你所要做的事情,或是這個程式的目的
Data含有資料如下所示:
Time UniqueBusID
1 12:00:30 273-FC_o 大東紡織(振興路)->屯區藝文中心162
2 14:45:54 273-FC_o 大東紡織(振興路)->屯區藝文中心162
3 15:53:47 273-FC_o 屯區藝文中心->莒光新城163
4 17:17:56 285-FC_o 下太平->莒光新城164
5 15:46:12 285-FC_o 莒光新城->莒光新城163
我想做的是將UniqueBusID內含有"屯區藝文中心->","莒光新城->"兩字串的資料列取出
具體做法是先使用檢測用的函數檢測UniqueBusID是否含有該二字串,
爬文之後選用grep來做檢測,檢測之後再用filter將通過grep檢測的資料列留下
但我發現使用filter()不能直接在括號內放進grep那一串,改用mutate也一樣不行
請問板上大大這中間是不是我想錯了什麼導致我無法取出我要的結果呢?
PS.結果應僅剩下第3和第5資料列
先感謝板大撥冗解惑
[程式範例]:
filter(grep("莒光新城->\\d*|屯區藝文中心->\\d*",
BusData_51$UniqueBusID, value = T))
filter)
[環境敘述]:
[關鍵字]:
grep, filter, mutate
選擇性,也許未來有用
作者: andrew43 (討厭有好心推文後刪文者)   2016-12-16 20:24:00
可以直接用中括號來選列。
作者: clansoda (小笨)   2016-12-16 23:57:00
hi,filter needs boolean vector, try grepl

Links booklink

Contact Us: admin [ a t ] ucptt.com