grepl for dplyr sql table?

冷暖自知 提交于 2019-12-18 11:54:11

问题


is there a workaround to use something like

filter(df, grepl("A|B|C",location))

for a dplyr SQL table? In SQL it is probalby a LIKE. Of cource I could convert the SQL table to a R data table, but it is very large. (http://cran.r-project.org/web/packages/dplyr/vignettes/databases.html) At the moment I get

Error in sqliteSendQuery(conn, statement) : 
  error in statement: no such function: GREPL

thx Christof


回答1:


Using sql to translate the expression directly into sql is one option.

sql_table %>% filter( sql("location LIKE 'A%' 
                           OR location LIKE 'B%' 
                           OR location LIKE 'C%'")

Which will inject the following into the WHERE statement of your query:

<SQL> location LIKE 'A%' OR location LIKE 'B%' OR location LIKE 'C%'


来源:https://stackoverflow.com/questions/27468166/grepl-for-dplyr-sql-table

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!