2017-05-31 58 views
1

新手在這裏。我確信這很容易,之前已經回答,但我已經超過一個小時尋找答案並找不到它。子集數據框由係數變量

我有3個變量一個數據幀:

> str(statement) 
'data.frame': 16464206 obs. of 3 variables: 
$ statement_type_cd: Factor w/ 428 levels "A00001","A00002"... 
$ statement_text : Factor w/ 9894526 levels... 
$ serial_no  : int 60146682 60149828 70011210... 

我想提取任意數量的匹配statement_type_cd意見GSXXXX是X的statement_text意見。

換句話說,我怎麼子組與GSstatement_type_cd變量開始任何觀測數據幀?

謝謝:)

+0

我們e'substr'提取前兩個字母並檢查它們是否等於「GS」。 –

回答

1

我們可以使用grepl通過模式「GS」從字符串的開始(^)的匹配,以創建一個邏輯載體,用它來subset數據集

statementsub <- subset(statement, grepl("^GS", statement_type_cd)) 

或用tidyverse

library(dplyr) 
statementsub <- statement %>% 
        filter(grepl("^GS", statement_type_cd)) 
+0

非常感謝您的回答!這工作完美!這很有趣,當我看到你的答案時,我正在閱讀[正則表達式](https://stat.ethz.ch/R-manual/R-devel/library/base/html/regex.html)。 – Hoju