R-使用正则表达式从数据框中提取信息

时间:2019-05-13 22:51:00

标签: r regex extract

我有这个数据框

L1 <- read_csv("L1.csv", col_names=FALSE)

看起来像这样:

95  CVEGEO=0901500011341<BR>CVE_ENT=09<BR>CVE_MUN=015<BR>CVE_LOC=0001<BR>CVE_AGEB=1341<BR>
96  CVEGEO=0901500010837<BR>CVE_ENT=09<BR>CVE_MUN=015<BR>CVE_LOC=0001<BR>CVE_AGEB=0837<BR>
97  CVEGEO=0901500010201<BR>CVE_ENT=09<BR>CVE_MUN=015<BR>CVE_LOC=0001<BR>CVE_AGEB=0201<BR>
98  CVEGEO=0901600011226<BR>CVE_ENT=09<BR>CVE_MUN=016<BR>CVE_LOC=0001<BR>CVE_AGEB=1226<BR>
99  CVEGEO=0901500010606<BR>CVE_ENT=09<BR>CVE_MUN=015<BR>CVE_LOC=0001<BR>CVE_AGEB=0606<BR>

我正在尝试获取AGEB号码。该代码适用于最后一行:

AGEBS_L1 <- sub(".*AGEB=(.*)<.*", "\\1", L1)

但是当我尝试使用“ lapply”来获取我所有行中的AGEBS时:

AGEBS_L1 <- lapply(L1, sub(".*AGEB=(.*)<.*", "\\1", L1))

它不起作用。因此,我在这里希望获得有关如何执行操作的提示。

1 个答案:

答案 0 :(得分:0)

sub(".AGEB=(.)<.*", "\1", L1$V2)为我提取了所有这些文件。请注意,我是在向量(框架的一列)上进行操作,而您的代码却试图一次在整个框架上工作,这对我来说没有意义。                     – r2evans