оптимальна ли R с точки зрения скорости?

Вопросы по статистическому пакету R. Не обязательно гео.
Ответить
Eugenia
Интересующийся
Сообщения: 17
Зарегистрирован: 29 июн 2011, 19:38
Репутация: 0

оптимальна ли R с точки зрения скорости?

Сообщение Eugenia » 12 ноя 2016, 01:34

Прошу прощения, если такое уже обсуждали.
Что быстрее для ГИС, R или Python, или что-то еще? У меня часто бывает, что R ну очень долго выполняет какую-то простую операцию, а ArcGIS или QGIS тоже самое за секунды делает. Я пока питоном не очень пользуюсь, но, может, пора осваивать? Windows 10, 64 bit, RAM 16 Gb.
Спасибо!

Аватара пользователя
jerry-maori
Гуру
Сообщения: 561
Зарегистрирован: 22 авг 2012, 17:02
Репутация: 133
Ваше звание: it-дворник
Откуда: Нижний Новгород
Контактная информация:

Re: оптимальна ли R с точки зрения скорости?

Сообщение jerry-maori » 12 ноя 2016, 01:43

Для всего быстрее всего asm.

А по существу:
https://www.datacamp.com/community/tuto ... gs.2uCD=pk

R - он скорее про удобство именно стат. обработки (удобство, а не скорость)
Python - он более про общие задачи.

+ не забывайте, что большая часть функционала идёт в виде пакетов, где внутри сидит код на С, а R (Python, Matlab etc) -- просто обёртка, чтобы параметры кормить.

Eugenia
Интересующийся
Сообщения: 17
Зарегистрирован: 29 июн 2011, 19:38
Репутация: 0

Re: оптимальна ли R с точки зрения скорости?

Сообщение Eugenia » 12 ноя 2016, 02:00

Спасибо за ссылку! Правда, там мало что про скорость.
Если нужно сделать то, что в "кнопочных" программах выполняют с помощью dissolve, reproject, near, extract to value и тп., чтобы Вы порекомендовали?
И есть ли смысл вообще связываться с R/Python, если та же QGIS все делает намного быстрее?
Спасибо еще раз.

bolotoved
Гуру
Сообщения: 920
Зарегистрирован: 30 дек 2008, 14:11
Статьи: 4
Проекты: 1
Репутация: 235
Откуда: Ханты-Мансийск
Контактная информация:

Re: оптимальна ли R с точки зрения скорости?

Сообщение bolotoved » 12 ноя 2016, 06:52

Eugenia писал(а):Если нужно сделать то, что в "кнопочных" программах выполняют с помощью dissolve, reproject, near, extract to value и тп., чтобы Вы порекомендовали?
QGIS для этих целей использует библиотеку GDAL, по сути являясь для этих функций лишь графической оболочкой. Раньше GDAL состоял из 2-х частей:собственно GDAL- для растров и OGR - для векторов, сейчас это одна библиотека, синтаксис остался прежний.

Можно использовать GDAL напрямую (см. предыдущие ссылки), можно через python, можно через R (см. пакет RGDAL).

Александр Мурый
Гуру
Сообщения: 5105
Зарегистрирован: 26 сен 2009, 16:26
Статьи: 3
Проекты: 5/1
Репутация: 744
Ваше звание: званий не имею
Откуда: Москва

Re: оптимальна ли R с точки зрения скорости?

Сообщение Александр Мурый » 12 ноя 2016, 10:54

bolotoved писал(а): QGIS для этих целей использует библиотеку GDAL, по сути являясь для этих функций лишь графической оболочкой.
Многие функции геообработки давно в ядре QGIS и никак с GDAL не связаны. В "Анализе данных" алгоритмы QGIS отдельно от алгоритмов GDAL.

Насчёт R. Какие именно скрипты/функции у вас долго выполняются? Дело может быть, кстати, в неоптимальном написании кода.
Мне кажется, что использовать R _только_ для выполнения типичных гисовых процедур странно, оно не для того предназначено. Анализ/графика - да, другое дело.
Редактор материалов, модератор форума

gamm
Гуру
Сообщения: 2677
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 592
Ваше звание: программист
Откуда: Казань

Re: оптимальна ли R с точки зрения скорости?

Сообщение gamm » 12 ноя 2016, 13:45

Eugenia писал(а):Прошу прощения, если такое уже обсуждали.
Что быстрее для ГИС, R или Python, или что-то еще? У меня часто бывает, что R ну очень долго выполняет какую-то простую операцию, а ArcGIS или QGIS тоже самое за секунды делает. Я пока питоном не очень пользуюсь, но, может, пора осваивать? Windows 10, 64 bit, RAM 16 Gb.
Спасибо!
быстрее программирование на С++ (желательно многопоточное), которое во всем перечисленном реально и работает. Если же писать циклы на любом интерпретаторе (что R, что Python, что Васик) работать будет долго. Без указания, что вы делали, и что вызывали, обсуждение смысла не имеет. Иногда во всех языках фактическую работу выполняет один и тот же код на С++, иногда - очень разный по части оптимизации и устойчивости.

Ariki
Гуру
Сообщения: 730
Зарегистрирован: 12 янв 2011, 22:40
Проекты: 1
Репутация: 303
Ваше звание:

Re: оптимальна ли R с точки зрения скорости?

Сообщение Ariki » 12 ноя 2016, 17:36

Eugenia писал(а):Если нужно сделать то, что в "кнопочных" программах выполняют с помощью dissolve, reproject, near, extract to value и тп., чтобы Вы порекомендовали?
При обработке массивов данных многое зависит от того, помещаются ли эти данные в оперативной памяти, от наличия и реализации индексов (в том числе пространственных). Многие вещи целесообразно делать в PostGIS, при этом никто не запрещает использовать его из R, Python или QGIS.

В том же ArcGIS, например, время выполнения некоторых инструментов может отличаться на порядки в зависимости от того, шейп-файл на входе или файловая ГБД. Я думаю, дело в индексах.

Ну и от качества кода, конечно, зависит. Недавно на работе ковырял чужой скрипт на Python + arcpy, который выполнялся в течение шести часов (после чего падал, встретив пустую геометрию). После того как избавился
от запросов к БД во вложенном цикле, время выполнения сократилось до нескольких секунд — ценой большего потребления памяти.

nickleb
Гуру
Сообщения: 835
Зарегистрирован: 22 май 2010, 20:20
Репутация: 92

Re: оптимальна ли R с точки зрения скорости?

Сообщение nickleb » 13 ноя 2016, 14:53

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

blog.revolutionanalytics.com/2015/04/new-packages-for-reading-data-into-r-fast.html

... в манипуляции с данными в R хорош и по функционалу, и по скорости пакет data.table:

https://cran.r-project.org/web/packages ... -intro.pdf

https://s3.amazonaws.com/assets.datacam ... +sheet.pdf

https://cran.r-project.org/web/packages ... le-faq.pdf

... "скорострельное" чтение по функции fread () упомянутого выше пакета data.table меня не так давно приятно удивило...

Ответить

Вернуться в «R»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость