【发布时间】:2015-10-06 14:18:54
【问题描述】:
我有一个数据框 df,
df = data.frame(name=c("jean", "lucie", "marie", "alain", "dupont", "stephane"),
address=c("A3_Lyon" ,"paris_A1", "Paris_A2_Test", "Par1", "Paris_A2de2_Lyon", 'Lille_Aide_'))
我想选择包含A2的地址,我该如何使用sqldf呢?这个指令给了我错误的结果:
sqldf("select * from df where address like '%_A2_%'")
## name address
## 1 marie Paris_A2_Test
## 2 dupont Paris_A2de2_Lyon
对我来说正确答案是:
## name address
## 1 marie Paris_A2_Test
我该怎么做
【问题讨论】:
-
你不能只做
df[grepl("_A2_", df$address), ]吗?或者如果你喜欢“like”语法,也许library(data.table) ; setDT(df)[address %like% "_A2_"]