bind_rows()
をデータフレームのセットに使用する方法は、最初にデータベースから収集する必要はありませんか?データベースからデータフレームを収集せずにdplyr :: bind_rowsを使用する方法はありますか?
は、私は、クエリテーブルdplyrカップルを定義したと言う:
mydatabase <- src_mysql('database')
table1 <- tbl(mydatabase,"table1")
table2 <- tbl(mydatabase,"table3")
foo <- table1 %>% filter(id > 10) %>% select(id)
bar <- table2 %>% select(id)
私がfooに参加し、一緒にバーできるようにしたいと思います - 本質的に、私は上の組合を実行したいのですが2つのサブクエリをSQLにドロップする必要はありません。私がいることをしようとすると、私はその本当のデータフレームむしろ、2つのtbl_sqlオブジェクトに参加しようとしているのでしかし、私はエラーを取得する:
unioned_data_frame <- bind_rows(foo,bar)
Error: incompatible sizes (1 != 8)
任意の提案ですか?このおもちゃの例では、問合せ全体をSQLで記述することは問題にはなりませんが、実際のところ、fooとbarはしばしばかなり複雑になります。
SQLクエリに関して重い荷を扱う 'dplyr :: union()'を使うことができましたが、 'bind_rows()'には非常に便利な.id引数はありません。 おそらく私はなしで行かなければならないでしょうか? – crazybilly
'dplyr :: union_all()'が 'bind_rows()'を完全に複製したいと思っていますが、おそらく 'mutate()'を使って識別子を持つ列を追加する必要があります。残念です。 – HoHo