2014-12-14 4 views
9

वहाँ एक dplyr एसक्यूएल तालिका के लिए की तरहdplr sql तालिका के लिए grepl?

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

कुछ का उपयोग करने के लिए एक समाधान नहीं है? एसक्यूएल में यह LIKE probalby है। Cource के मैं SQL तालिका को एक आर डेटा तालिका में परिवर्तित कर सकता हूं, लेकिन यह बहुत बड़ा है। (http://cran.r-project.org/web/packages/dplyr/vignettes/databases.html) फिलहाल मैं

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

THX Christof

+0

उपयोग एसक्यूएल 'IN'। http://www.sql-tutorial.net/SQL-IN.asp –

+10

'फिल्टर (df,% ग में स्थान% (" एक "," बी "," सी ")', या का उपयोग एक 'semi_join() अपने शानदार पुस्तकालयों के लिए ' – hadley

+1

@hadley tHX। वहाँ एक रास्ता भी प्राप्त करने के लिए पैटर्न मिलान (IN के बजाय एसक्यूएल की तरह) है?% में'% 'और' semi_join() अगर मैं इसे सही ढंग से – ckluss

उत्तर

0

अभिव्यक्ति एसक्यूएल में सीधे अनुवाद करने के लिए sql का उपयोग करते हुए एक विकल्प है।

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

आपकी क्वेरी के WHERE कथन में निम्नलिखित कौन सा इंजेक्षन जाएगा:

<SQL> location LIKE 'A%' OR location LIKE 'B%' OR location LIKE 'C%' 
संबंधित मुद्दे