我在PostgreSQL DB中有两个单独的表:
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...
^
答案 0 :(得分:0)
从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