Программы для разработки скриптов на R

Я уже писал о своих предпочтениях среди IDE для разработки на языке Perl. Теперь попробую рассказать об аналогичных программах, предназначенных для разработки скриптов на языке R. Рассматривается только Windows-платформа.



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

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

Таким образом, проблема использования удобной IDE встает практически перед каждым серьезныи пользователем R. Разумеется, сообщество достаточно осознает эту необходимость и существует список IDE (или GUI) для R - http://www.sciviews.org/_rgui/

Ниже я опишу свой опыт по использованию IDE для R

Tinn-R


Одним из наиболее известных IDE для R является Tinn-R . Программа бесплатна и открыта (разработка ведется на Delphi 7, присоединяйтесь).

Tinn-R

Tinn-R

Я использую версию относительно старую версию 1.19, с версиями 2.х возникли проблемы с запуском кусков кода.

+ Из приятностей можно отметить подсветку кода, наличие небольшого встроенного справочника по функциям R (на рисунке он справа), возможность быстрого комментирования участков кода, поиск и подсветка парных фигурных скобок.

- Рекомендую также перенастроить горячие клавиши, которые Tinn-R использует для управления R. Например, случайное касание клавиш F11 или F12 приводит к выдаче "веселой" команды rm(list=ls(all=TRUE)). Обычно это происходит когда Вы уже второй час пытаетесь отладить сложную функцию, позади часы расчетов и в памяти десятки переменных... В тоже время выбирать горячую клавишу для запуска участка кода - основной рабочий инструмент - тоже следует с отсторожностью. Проблема в том, что Tinn-R перехватывает нажатия на клавиши независимо от того, какое окно имеет фокус ввода (что, безусловно, является багом) . Поэтому не стоит назначать такие часто используемые клавиши как F5-F8, поскольку вместо операций с файлами в Total Commander или обновления страницы в браузере будут выполнены команды R, что может быть крайне нежелательно.

- В Tinn-R мне больше всего не хватает хорошего автодополнения. Также весьма раздражающим моментом является отказ программы выполнять участок кода если включена русская раскладка клавиатуры.

Revolution R Enterprise


Одним из наиболее интересных продуктов для разработки на R является Revolution. Программа распространяется за деньги, однако для академических институтов фирма бесплатно предоставляет версию для установки на один компьютер.

 Revolution R Enterprise 4 IDE
Revolution 4 - отладка функции в самом разгаре...


За время использования Revolution обнаружились следующие достоинства и недостатки:

+ Cамый большой плюс Revolution: визуальная отладка для R! C подсветкой значений переменных - наконец-то! Конечно, не обходится без ложки дегтя:
- окно Watches в меню присутствует, однако всегда пишется not yet supported (в третьей версии было то же самое)
- нельзя отлаживать функцию, описанную в другом файле.
- матрица показывается как одномерный массив

Но все равно это большой шаг вперед по сравнению с методами отладки, используемые в самом R.

+ Проверка валидности кода на лету: синтаксически ошибочные конструкции выделяются волнистой линией. Похожим образом это сделано в Komodo IDE.

+ Из других приятных вещей можно упомянуть автодополнение, всплывающую справку по параметрам функций (!!), поблочное сворачивание кода .

+ Отдельным пунктом в Revolution упоминается расширенная поддержка параллельных вычислений. Я, к сожалению, пока не имею опыта в этой области (все распараллеливания делаю вручную, запуская несколько копий одного скрипта), но вообще это должно быть огромным стимулом для изучения Revolution.

- Несмотря на большое количество меню и опций, большинство из них относятся к вспомогательным и техническим функциям, определяющим работу самой IDE. Практически нет команд, специфичных для R, которые бы существенно расширяли функционал по сравнению со стандартным Rgui.

- Есть масса мелких, но раздражающих моментов. Например, в окне R-терминала не работает автодополнение по Tab. Очень тяжело отвыкать. Нет такой удобной функции как Run to cursor, приходится ставить breakpoint.

- Разработка Revolution запаздывает относительно разработки самого R. Когда я впервые начал знакомиться с Revolution, мне предоставили версию 3.1.1 (от 5 мая 2010). В той версии использовался R версии 2.9, хотя уже давно был доступен R 2.11. Все бы ничего, но дело в том, что в R 2.10 изменили формат пакетов, в результате чего библиотеки скомпилированные для версии R 2.11 не работают в 2.9. Это вызывало массу проблем с обновлением пакетов (что хочется делать регулярно, например если используются пакеты с данными из BioConductor). Впрочем, последняя версия Revolution (4.0) использует R 2.11.1, и теперь подобных проблем больше нет. Однако, это не исключает возможности их возникновения в будущем.


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

R-studio

Достаточно популярная открытая IDE, сайт программы - www.rstudio.org


RStudio


В текущей версии (0.95) имеется:
- подсветка синтаксиса и подсказки в окне терминала и редакторе кода
- навигация по коду
- возможность интерактивного управления графикой с помощью пакета manipulate (!)
- работа с проектами и интеграция с системами управления версий

Из серьезных недостатков отмечу:
- невозможность использования функции fix(). Это очень плохо, т.к. пользователь остается без средств просмотра и редактирования больших матриц.
- невозможно тонко настроить рабочую область - жесткое разбиение на 4 части. В итоге, редактор скрипта, терминал и справка должны делить общее пространство. Соответсвенно каждое окно имеет небольшой размер, что очень некомфортно при работе за 14" монитором.
- невозможно изменить размер шрифта в справке


В результате, имеющиеся недостатки для меня слишком серьезны, чтобы использовать RStudio на постоянной основе.


Будет здорово, если в комментариях вы поделитесь своими соображениями по поводу IDE для разработки на R.

Комментарии

 
0 #15 JasonEteds 04.09.2023 05:57
Магазин уникальных подарков предлагает уже сейчас выбрать презент для близкого человека, коллеги, друга https://elit-podarok.ru/dekor-dlya-doma/interernye-chasy/page-16/
С нами Вы можете приготовить приятный подарок и самому себе!

Материалы: морёный дуб, лак, темперная краска https://elit-podarok.ru/elitnaya-posuda/dlya-chaya/chaynye-nabory/chaynyy-nabor-nefritovyy-variant-2.html

Водостойкость: Защита от брызг, дождя https://elit-podarok.ru/dlya-piknika/nabor-dlya-piknika-prestizh-1-6-person.html
 
 
0 #14 Peterjaw 31.08.2023 20:41
В приложении №1 к данному приказу указывается каких врачей-специали стов пройти и какие лабораторные исследования нужно провести ребенку по достижении им определенного возраста http://zabotik.com/nazarova-larisa-vladimirovna
 
 
0 #13 Russelllew 27.08.2023 23:51
Каркасная технология позволяет провести внутреннюю перепланировку, внести изменения в дизайн или создать неповторимый коттедж или баню https://domodel.org/karkasnye-doma/na-svayah/
Строительству каркасного дома характерен расчет стоимости на основе следующих показателей https://domodel.org/karkasnye-doma/dobrynya-7x9-k/
На весь процесс, включая сборку и отделку, уходит не более 3 месяцев https://domodel.org/karkasnye-doma/6x7/s-mansardoy/
Монтаж первого венца https://domodel.org/karkasnye-doma/prokhor-4-5x6-2-k/
Компании-произв одители готовы предложить проработанные типовые проекты, а также индивидуальные проекты зданий, которые позволят создать желаемую конфигурацию https://domodel.org/karkasnye-doma/may-6x8-k/
Вся продукция приобретается напрямую у производителей, заводы дают собственную гарантию https://domodel.org/karkasnye-doma/9x9/dvukhetazhnye/
 
 
0 #12 Russelllew 27.08.2023 14:26
Цена по акции 2 315 000 руб https://domodel.org/karkasnye-doma/david-6x8-k-vnutrennyaya-otdelka/
От чего зависит стоимость https://domodel.org/karkasnye-doma/yan-8x8-k-s-utepleniem-150-mm/
Среди выгодных сторон называют следующие характеристики https://domodel.org/karkasnye-doma/do-50-kv-m/
Цена 1 588 000 руб https://domodel.org/karkasnye-doma/7x8/odnoetazhnye/
Выгодные стороны каркасных домов https://domodel.org/karkasnye-doma/7x9/odnoetazhnye/
Одно из главных преимуществ каркасных домов состоит в том, что по надежности они ни сколько не хуже конструкций из иных материалов https://domodel.org/karkasnye-doma/dan-6x7-k/
 
 
0 #11 Michaelerymn 27.08.2023 12:17
Универсальная детская (подходит как для мальчика так и для девочки)
Универсальная детская (подходит как для мальчика так и для девочки)
модульные комнаты; стенки и уголки; стулья и столы; кроватки и диваны https://s-wood.shop/posts/year/2017/1

Универсальная детская (подходит как для мальчика так и для девочки)
Универсальная детская (подходит как для мальчика так и для девочки)
Главное при выборе детской мебели ориентироваться на качество, прочность и безопасность https://s-wood.shop/products/category/4232361
Выбрать же дизайн и цветовое решение позвольте самому малышу – так вы будете воспитывать его эстетические качества, научите самостоятельнос ти и поможете создать наиболее комфортную для него обстановку в помещении https://s-wood.shop/products/47689637
 
 
0 #10 Thomasexank 25.08.2023 00:03
Курочка BBQ https://nakorminastroenie.ru/bonuses

2 https://nakorminastroenie.ru/
Основные понятия, используемые в Политике https://nakorminastroenie.ru/about

Томаты, базилик, соус томатный, сыр моцарелла https://nakorminastroenie.ru/

Фасовка: 20 см, 31 см, 40 см https://nakorminastroenie.ru/

Крем-суп из печёных овощей с беконом https://nakorminastroenie.ru/bonuses

Моцарелла, пармезан, горгонзола, сливочный сыр https://nakorminastroenie.ru/
 
 
0 #9 Michaelerymn 24.08.2023 12:32
Универсальная детская (подходит как для мальчика так и для девочки)
Универсальная детская (подходит как для мальчика так и для девочки)
Рабочее место https://s-wood.shop/products/44515951

Универсальная детская (подходит как для мальчика так и для девочки)
Шкафы https://s-wood.shop/products/19863872

Универсальная детская (подходит как для мальчика так и для девочки)
 
 
0 #8 Thomasnuh 24.08.2023 02:26
ИСКРЕННИЙ СЕРВИС ЭТО:
Откосы - 1 250 руб https://okno.ooo/articles/183-frantsuzskie-okna

Пластиковые окна В Иркутске https://okno.ooo/okna-po-serii-doma/p-46

Откосы - 2 800 руб https://okno.ooo/remont-plastikovykh-okon-v-moskve

Нашими заказчиками являются обычные люди - хозяева квартир и загородных домов, а так же крупные организации и госпредприятия https://okno.ooo/articles?start=84
Количество выполненных объектов достигло более 10 000 шт https://okno.ooo/articles/533-okna-rehau-sib-design
Инженеры-замерщ ики компании готовы в любое время выехать на объект в любую точку Иркутска https://okno.ooo/articles/182-uteplenie-balkona-pvkh-v-moskve-nedorogo

Бесконечное множество готовых дизайнов Изготовление по индивидуальному эскизу Прозрачные и матовые пленки Невыцветающие витражные акриловые краски Металлические протяжки Инкрустация бевелсами - стеклянными гранеными элементами https://okno.ooo/articles?start=114
 
 
0 #7 Jamesnaick 23.08.2023 23:29
Отличный сервис https://stroy-arenda.su/
Все очень понравилось https://stroy-arenda.su/generators


- 10 https://stroy-arenda.su/contacts
8 и 12 вольт - от 1800 рублей - 14 https://stroy-arenda.su/cleaning
4 вольт - от 2100 рублей - 18 вольт - от 2400 рублей https://stroy-arenda.su/cleaning
 
 
0 #6 Jamesnaick 23.08.2023 14:31
Договор подписывает руководитель и оплачивается счет на предоплату https://stroy-arenda.su/welding

СВЯЗАТЬСЯ С НАМИ https://stroy-arenda.su/motobur


По предварительной договоренности возможна доставка оборудования на объект и вывоз с объекта https://stroy-arenda.su/generators
Стоимость доставки оборудования оговаривается отдельно https://stroy-arenda.su/about
Оплата транспорта производится в момент получения/возвр ата оборудования https://stroy-arenda.su/generators
Арендатор обязан обеспечить пропуск транспорта на объект, а также произвести своими силами разгрузку (погрузку) оборудования https://stroy-arenda.su/motorpumps
 

Comments are now closed for this entry