1

我的 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...
                                 ^
4

1 回答 1

1

从句子到似乎有一个问题converting %in逻辑。编写相同using的另一种方法可以是:dplyrsqlqueryqueryleft_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

于 2018-04-28T12:39:04.630 回答