Возникли проблемы при визуализации данных моего CSV-файла объемом 1 ГБ с использованием Leaflet в R. У меня 8 ГБ ОЗУ с 256 ГБ SD-карты - PullRequest
0 голосов
/ 25 февраля 2020

Я имею дело с CSV-файлами данных временных рядов размером 1 ГБ. Я хочу визуализировать данные, используя библиотеку листовок, чтобы показать только первые 10000 строк, но это дает мне ошибку в виде распределения памяти. Я использовал следующий код для визуализации данных, который отлично работал для файлов малого размера, но не работает для больших файлов

library(leaflet)
crime_Data_leaflet <- Data[1:10000,] # display the first 10,000 rows
Data$popup <- paste("<b>crime type #: </b>", Data$`Crime type`, "<br>",
                    "<br>", "<b>Month: </b>", Data$Month,
                    "<br>", "<b>Longitude: </b>", Data$Longitude,
                    "<br>", "<b>Latitude: </b>", Data$Latitude)

leaflet(Data, width = "100%") %>% addTiles() %>%
  addTiles(group = "OSM (default)") %>%
  addProviderTiles(provider = "Esri.WorldStreetMap",group = "World StreetMap") %>%
  addProviderTiles(provider = "Esri.WorldImagery",group = "World Imagery") %>%
  # addProviderTiles(provider = "NASAGIBS.ViirsEarthAtNight2012",group = "Nighttime Imagery") %>%
  addMarkers(lng = ~Longitude, lat = ~Latitude, popup = Data$popup, clusterOptions = markerClusterOptions()) %>%
  addLayersControl(
    baseGroups = c("OSM (default)","World StreetMap", "World Imagery"),
    options = layersControlOptions(collapsed = FALSE)
  ) 

После запуска это выдает мне следующую ошибку:

Ошибка в (функция (..., sep = "", collapse = NULL): не удалось выделить память (958 МБ) в C функция 'R_AllocStringBuffer' Ошибка при переносе: не удалось выделить память (695 МБ) в C функция 'R_AllocStringBuffer'

Мой ноутбук - это ноутбук Lenovo с 8 ГБ ОЗУ и 256 ГБ памяти SD.

Я удалил неиспользуемые данные с помощью

mem_change(rm(London_Crime_Data))

размер этих данных был 1,4 ГБ.

Общий объем используемой памяти до сих пор составляет

mem_used()
1.37 GB

Но все еще сталкиваюсь с той же проблемой. Также я буду использовать модель ARIMA после этого процесса чем снова я столкнусь с той же проблемой с памятью, я думаю.

Еще один вопрос - я загрузил все свои csv-файлы и объединил их в один файл, используя следующий код.

tbl <- list.files(pattern = "*.csv") %>%
  lapply(read_csv)%>%
  bind_rows

сейчас хочу са Эти файлы CSV на моем рабочем столе для дальнейшего анализа. Как я могу это сделать?

Пожалуйста, дайте мне подробное и точное решение для обоих моих вопросов. Поскольку я новичок в R, я много искал эти проблемы, но не смог найти точное и простое решение, которое запутало меня.

...