Объединить таблицы в R, используя как - PullRequest
0 голосов
/ 02 ноября 2018

У меня есть две таблицы, которые я пытаюсь объединить, используя функцию like.

Я хочу присоединить Table1 к Table2, а если Field1 contains Field11, добавить Field12 к Table1 в выходных данных. Вывод должен выглядеть так в Table3 Таблицы данных

Я пытался использовать функцию sqldf, но без особого успеха

D2 = sqldf("select a.*, b.Field12
             from Table1 a left join Table2 b
              on a.Field1 like "%[b.Field11]+%"
             ")

1 Ответ

0 голосов
/ 02 ноября 2018

Мне еще предстоит увидеть функцию R, которая может выполнять нечеткие объединения, например, с помощью Оператор типа Like или между ними, хотя в SQL это встречается довольно часто. То, что вы используете sqldf, кажется хорошим кандидатом для решения.

Проблема, которую я вижу, из-за отсутствия надлежащего минимального рабочего примера, состоит в том, что ваши like критерии неверны (и неизбежное сообщение об ошибке, которое выдает ваша строка). sqldf использует формат базы данных SQLite, поэтому вам следует искать документацию.

Краткий ответ: попробуйте использовать

D2 = sqldf("select a.*, b.Field12 from Table1 a left join Table2 b on a.Field1 like '%' || [b.Field11] || '%' ;")
...