У меня есть следующий MYSQL запрос:sqldf функция RLIKE
"select * from data WHERE TEXT RLIKE '[[:<:]]digital[[:>:]]' OR TEXT RLIKE '[[:<:]]data[[:>:]]' OR TEXT RLIKE '[[:<:]]agile[[:>:]]' OR (TEXT RLIKE '[[:<:]]self[[:>:]]' AND TEXT RLIKE '[[:<:]]service[[:>:]]') OR TEXT RLIKE '[[:<:]]cloud[[:>:]]' OR TEXT RLIKE '[[:<:]]insight[^[:space:]]+[[:>:]]' OR TEXT RLIKE '[[:<:]]modern[^[:space:]]+[[:>:]]'")
Я хочу, чтобы применить это в R с использованием пакета sqldf:
sqldf("select * from data WHERE TEXT RLIKE '[[:<:]]digital[[:>:]]' OR TEXT RLIKE '[[:<:]]data[[:>:]]' OR TEXT RLIKE '[[:<:]]agile[[:>:]]' OR (TEXT RLIKE '[[:<:]]self[[:>:]]' AND TEXT RLIKE '[[:<:]]service[[:>:]]') OR TEXT RLIKE '[[:<:]]cloud[[:>:]]' OR TEXT RLIKE '[[:<:]]insight[^[:space:]]+[[:>:]]' OR TEXT RLIKE '[[:<:]]modern[^[:space:]]+[[:>:]]'")
, что я хочу работать против некоторых выборочных данных:
data <- structure(list(Participant = 1:3, A = c("and other agile digital, things", "testing test and modern", "nothing here"), B = c("", "b", "b"), C = c("c", "c", "c")), .Names = c("Participant", "TEXT", "other", "another"), row.names = c(NA, -3L), class = "data.frame")
Я получаю следующую ошибку
Error in sqliteSendQuery(con, statement, bind.data) : error in statement: near "RLIKE": syntax error
Кажется, что этот пакет не похож на заявления RLIKE. Почему, и как мне обойти это?
Pls четко определяет, что вы просите. Команда «нравится» не «Rlike». –
@ChirayuChamoli Синтаксис MySQL, который я хотел бы использовать, - это RLIKE http://dev.mysql.com/doc/refman/5.7/en/regexp.html – lmcshane
Взгляните на [это] (http://stackoverflow.com/вопросы/33026213/о-sqldf-пакет-регулярное_выражение-функция-в-г). –