0

R に dplyr クエリがあり、str_detect でフィルター処理して、文字 "KS" で始まるケースのみを取得しますが、空のティブルを返します。ROracle を使用して Oracle データベースに接続しています。

table <- tbl(con, "TABLE")

table %>% 
  filter(str_detect(COLUMN, "^KS"))

ただし、collect() を使用してティブルを生成すると、次のように動作します。

table <- collect(tbl(con, "TABLE"))

table %>% 
  filter(str_detect(COLUMN, "^KS"))

何故ですか?そして、収集なしでどのように機能させることができますか? 必要なテーブルのいくつかは、収集するには大きすぎます。

更新:次のように、特定の列の値をフィルター処理するように変更すると、 table %>% filter(str_detect(COLUMN, "^KS"))機能します。何らかの理由で、正規表現は collect() なしでは機能しません。

4

2 に答える 2