按因子变量

时间:2017-05-31 11:48:16

标签: r dplyr subset

新手在这里。我确信这很容易并且之前已经得到了回答,但我现在已经花了一个多小时才找到答案而无法找到答案。

我有一个包含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_text观察statement_type_cd匹配的GSXXXX观察值为X的任何数字。

换句话说,如何通过GS变量中以statement_type_cd开头的任何观察对数据框进行子集化?

谢谢:)

1 个答案:

答案 0 :(得分:1)

我们可以使用grepl通过匹配模式' GS'来创建逻辑向量。从字符串的开头(^)开始,并将其用于subset数据集

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

tidyverse

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