Создать новую переменную из условия на 2 таблицы удаленных БД
У меня в моей базе данных PostgreSQL две отдельные таблицы:
table_a <- tbl(con, "table_a")
table_b <- tbl(con, "table_b")
Я хотел бы создать новую переменную, как это:
table_c <- table_a %>%
mutate(variable_a = ifelse(a %in% table_b$a & table_b$b == 100, TRUE, FALSE)
Но я получаю сообщение об ошибке, связанное с table_b$a
Error in result_create(conn@ptr, statement) :
Failed to prepare query: ERROR: syntax error at or near ")"
LINE 1: [...] CASE WHEN ("a" IN () AND = 2...
^
1 ответ
Кажется, есть проблема converting
%in
логика от dplyr
предложение sqlquery
, Альтернативный способ написать то же самое query
с помощью left_join
может быть как:
table_c <- table_a %>% left_join(table_b, by="a") %>%
mutate(variable_a = ifelse( !is.na(b) & b == 100, TRUE, FALSE))
Примечание: предполагалось, что b
столбец является лишь частью table_b
в противном случае это должно рассматриваться как table_b.y