[問題] 變數放在正則表達式中

作者: jerkoffme (摩德男孩)   2019-03-21 14:41:28
[問題類型]
想將變數放入正則表達式中不知道該如何下手
[軟體熟悉度]:使用R大約一年
[問題敘述]:
由於我想要在特定時間產生報表
我利用系統時間來做filter,但因為系統時間是變動的
我想不通如何把變數塞到正則表達式中
[程式範例]:
systime <- ymd_hms(Sys.time())
report_month <- system - lubridate::days(30)
report_month <- str_sub(report_month, star = 1L, end = -13L)
#若以我現在的時間點則得到
>report_month
"2019-02"
我需要將這個變數塞進grepl裡,可是我想不透怎麼塞
我需要的結果是撈資料前一個月
故以現在這個資料非動態的應該表達為 "^2019-02"
grepl("report_month所產生的字串", 我的資料)
由於加了" ",系統就會將字串符裡的東西視為字串故無法放變數,因此想問是否有解法
[環境敘述]
win10
3.4.4
作者: andrew43 (討厭有好心推文後刪文者)   2019-03-21 14:48:00
重點在於「你的資料」日期時間的格式把你的日期時間列幾個出來之後轉換成日時物件來運算或取範圍才是正解。若真的只是要製作pattern,用paste。
作者: jerkoffme (摩德男孩)   2019-03-21 14:56:00
喔喔對吼不用拘泥於正則表達式,我懂了阿哈哈好白癡的

Links booklink

Contact Us: admin [ a t ] ucptt.com