Здравствуйте, Я пытаюсь запустить запрос, который использует оператор CASE из R. Я использую пакет SQLDF. Тот же запрос отлично работает в Mysql. Запроса приведены значения 0 или 1, «Экспресс» в соответствии со следующими ситуациями:R-SQLDF - SELECT ... CASE ... END
Выберите «Экспресс» =
ПРИМЕР
, когда E_MAIL как «% GMail%», то 1
, когда E_MAIL как " % Yahoo%», а затем 1
, когда E_MAIL как "%" % HOTMAIL затем 1
еще 0
END из данных
;
Это то, что я пытался в R:
альфа < -sqldf ("Выбрать "Экспресс"=
СЛУЧАЙ
когда E_MAIL как "% GMAIL%", то 1
когда E_MAIL как" % Yahoo% "а затем 1
, когда E_MAIL как "%" % HOTMAIL затем 1
остальное 0
END из данных");
Любая помощь будет оценена!
Это работает !!! Второй вариант - тот, который я искал :) – shean10000
@ G.Grothendieck, как вы справляетесь, если критерии в случае когда - это набор значений, и вы не можете использовать подобное. Ie столбец WHEN в <набор значений > и набор подобен этому c ('China', 'Hong', 'Taiwan') –
Если это точные совпадения, вы можете создать новый фрейм данных из ключевых слов и присоединиться к нему в более крупный фрейм данных или если есть только несколько ключевых слов используют конструкцию sql 'in'. –