簡體   English   中英

無法使用R(dplyr)從Sqlite接收整個數據框

[英]Unable to receive the entire data frame from Sqlite using R (dplyr)

我正在嘗試使用R操作數據,並使用存儲在Sqlite數據庫中的遠程磁盤數據。 這是我的步驟:

首先 ,我將flights數據集復制到我的空測試數據庫中:

library(nycflights13)
library(dplyr)
test_db <- src_sqlite("E:/Sqlite/test_db")
copy_to(test_db, flights, temporary = FALSE)

然后 ,我清除了R內存並嘗試從測試數據庫中提取flights

library(dplyr)
test_db <- src_sqlite("E:/Sqlite/test_db")
flights <- tbl(test_db, "flights")
flights_df <- data.frame(select(flights, year, month, day, dep_time, tailnum))

警告加速了

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

不知道如何數據框架整個航班數據應該包括超過300,000行。

實際上是一個側面問題 :是否可以使用R直接在數據庫中的遠程磁盤數據上進行一些高級數據操作(重塑,長數據到寬數據,從長到長),而不是在R中調用/數據框架它們通常可能會導致內存問題?

如果您的目標是將數據帶回R數據框,則可以使用dplyr::collect()

flights_df2 <- flights %>%
  select(year, month, day, dep_time, tailnum) %>%
  collect()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM