4

私は Redshift データベースからのデータを分析しており、dplyr ごとの接続を使用して R で作業しています。

my_db<-src_postgres(host='my-cluster-blahblah.redshift.amazonaws.com', port='5439', dbname='dev',user='me', password='mypw')
mytable <- tbl(my_db, "mytable")

viewstation<-mytable %>%
    filter(stationname=="something") 

その出力をデータフレームに変換しようとすると、次のようになります。

thisdata<-data.frame(viewstation)

エラー メッセージ、警告メッセージが表示されます。

Only first 100,000 results retrieved. Use n = -1 to retrieve all. 

n はどこに設定すればよいですか?

4

2 に答える 2

7

使用する代わりに

thisdata<-data.frame(viewstation)

使用する

thisdata <- collect(viewstation)

collect() は、データベースからすべてのデータを R にプルします。DPLYR::databases ビネットで述べたように:

データベースを操作するとき、dplyr は可能な限り怠惰になろうとします。次の 2 つの点で怠け者です。

明示的に要求しない限り、データを R に戻すことはありません。

可能な限り最後の分まで作業を遅らせ、やりたいことをすべて集めて、それを 1 つのステップでデータベースに送信します。

于 2015-07-18T10:51:03.297 に答える