разбег сюжета в R Studio занял так много времени - PullRequest
1 голос
/ 10 апреля 2020

В настоящее время я практикую R, но я обнаружил проблему, когда попытался запустить свой точечный график с помощью ggplot2 с набором данных только 700 КБ. Я не знаю, почему это так долго, я имею в виду около 5-10 секунд только для запуска сюжета. мой р c - это i7 7700HQ и 16 Гб оперативной памяти

Ответы [ 2 ]

0 голосов
/ 10 апреля 2020

Это на самом деле зависит от того, какие библиотеки печати вы используете, но если посмотреть на размер, кажется, что вы рисуете около 100000 точек, что для меня 5 секунд не слишком долго. Если вы используете функцию построения графика, вот несколько сравнений, которые могут помочь из этого источника: Функция ускорения графика () для большого набора данных и https://www.r-bloggers.com/accelerating-ggplot2-use-a-canvas-to-speed-up-rendering-plots/.

Я выполнил следующий код на моем ноутбуке, и вот что я получил за 781,3 Кб:

x <- seq(1, 1000, length.out = 100000)

system.time(plot(x))
    user  system elapsed 
    0.28    3.00    3.42 
system.time(plot(x,pch=20))
    user  system elapsed 
    0.45    5.81    6.31 
system.time(plot(x,pch='.'))
    user  system elapsed 
    0.13    0.92    1.09 

Вы можете увидеть, что при использовании pch производительность может существенно улучшиться.

0 голосов
/ 10 апреля 2020

Это довольно нормально, вы не можете ожидать хорошего рендеринга (и разумного времени рендеринга), нанося более 1k или 10k точек на диаграмму рассеяния. Это называется "перплотингом". Что вы можете сделать: заменить geom_point() на geom_hex() или stat_density_2d()

Если вам конкретно нужен точечный график, я предлагаю попробовать растровый . Сначала он будет разумным образом объединяться для создания растров, а затем визуализировать выходные данные.

Особенно, если вы хотите импортировать свои диаграммы в другой документ, вам необходимо ограничить размер и количество отображаемых объектов (важно для векторных изображений).

...