%in%
を使用してfilter()
を実行していますが、dplyrがクエリを変換する方法が正しくないようです。実際、%in%
演算子は2つ以上の値で正常に動作しますが、1つの要素だけが存在する場合は正しく動作しません。 私の元のシナリオでは、フィルタリング値は動的なので、私は両方の場合に機能する関数を持っていたいと思います。1つの単一の値に基づいてリモートテーブルをフィルタリングする方法は?
my_db <- src_mysql(dbname = "dplyr",
host = "dplyr.csrrinzqubik.us-east-1.rds.amazonaws.com",
port = 3306,
user = "dplyr",
password = "dplyr")
tbl(my_db, "dplyr") %>% filter(carrier %in% c("UA","AA")) #works
tbl(my_db, "dplyr") %>% filter(carrier %in% c("UA")) #doesn't work
私の質問はmultiple selectInput values create unexpected dplyr (postgres) behaviorの複製です。 this issueはよく知られているようです。
dplyrのバージョンは何? SQL変換構造が0.5.0で変更されました。 – alistaire
@alistaire 4.3を使用していましたが、今更新しましたが、問題はまだあります。 – Dambo
これを回避するには%cの%...( "Art"、 "some_absent_junk") 'を使用しますか? (不満足ですが、回避策として役に立つかもしれません) –