Обновлено 10.09.2012 Автор: Administrator
Я уже писал о своих предпочтениях среди IDE для разработки на языке Perl. Теперь попробую рассказать об аналогичных программах, предназначенных для разработки скриптов на языке R. Рассматривается только Windows-платформа.
Система R представлет собой достаточно сложный язык программирования со множеством функций и их параметров. Для управления всем этим богатством в R используется традиционный подход с помощбю командной строки, который имеет как неоспоримые преимущества, так и недостатки.
Командная строка удобна для быстрого экспериментирования в интерактивном режиме, позволяя использовать R как мощный калькулятор. В то же время у такого способа работы есть и очевидные недостатки:
- трудность в освоении новичками
- необходимость редактировать большие куски текста в построчном режиме
- отсутствие подсказок, подсветки синтаксиса
Таким образом, проблема использования удобной IDE встает практически перед каждым серьезныи пользователем R. Разумеется, сообщество достаточно осознает эту необходимость и существует список IDE (или GUI) для R - http://www.sciviews.org/_rgui/
Ниже я опишу свой опыт по использованию IDE для R
Одним из наиболее известных IDE для R является Tinn-R . Программа бесплатна и открыта (разработка ведется на Delphi 7, присоединяйтесь).
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 мне больше всего не хватает хорошего автодополнения. Также весьма раздражающим моментом является отказ программы выполнять участок кода если включена русская раскладка клавиатуры.
Одним из наиболее интересных продуктов для разработки на R является Revolution. Программа распространяется за деньги, однако для академических институтов фирма бесплатно предоставляет версию для установки на один компьютер.
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 параллельных вычислений.
Достаточно популярная открытая IDE, сайт программы - www.rstudio.org
В текущей версии (0.95) имеется:
- подсветка синтаксиса и подсказки в окне терминала и редакторе кода
- навигация по коду
- возможность интерактивного управления графикой с помощью пакета manipulate (!)
- работа с проектами и интеграция с системами управления версий
Из серьезных недостатков отмечу:
- невозможность использования функции fix(). Это очень плохо, т.к. пользователь остается без средств просмотра и редактирования больших матриц.
- невозможно тонко настроить рабочую область - жесткое разбиение на 4 части. В итоге, редактор скрипта, терминал и справка должны делить общее пространство. Соответсвенно каждое окно имеет небольшой размер, что очень некомфортно при работе за 14" монитором.
- невозможно изменить размер шрифта в справке
В результате, имеющиеся недостатки для меня слишком серьезны, чтобы использовать RStudio на постоянной основе.
Будет здорово, если в комментариях вы поделитесь своими соображениями по поводу IDE для разработки на R.
< Предыдущая | Следующая > |
---|
Комментарии
С нами Вы можете приготовить приятный подарок и самому себе!
Материалы: морёный дуб, лак, темперная краска 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
Строительству каркасного дома характерен расчет стоимости на основе следующих показателей 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/
От чего зависит стоимость 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/
Универсальная детская (подходит как для мальчика так и для девочки)
модульные комнаты; стенки и уголки; стулья и столы; кроватки и диваны https://s-wood.shop/posts/year/2017/1
Универсальная детская (подходит как для мальчика так и для девочки)
Универсальная детская (подходит как для мальчика так и для девочки)
Главное при выборе детской мебели ориентироваться на качество, прочность и безопасность https://s-wood.shop/products/category/4232361
Выбрать же дизайн и цветовое решение позвольте самому малышу – так вы будете воспитывать его эстетические качества, научите самостоятельнос ти и поможете создать наиболее комфортную для него обстановку в помещении https://s-wood.shop/products/47689637
2 https://nakorminastroenie.ru/
Основные понятия, используемые в Политике https://nakorminastroenie.ru/about
Томаты, базилик, соус томатный, сыр моцарелла https://nakorminastroenie.ru/
Фасовка: 20 см, 31 см, 40 см https://nakorminastroenie.ru/
Крем-суп из печёных овощей с беконом https://nakorminastroenie.ru/bonuses
Моцарелла, пармезан, горгонзола, сливочный сыр https://nakorminastroenie.ru/
Универсальная детская (подходит как для мальчика так и для девочки)
Рабочее место https://s-wood.shop/products/44515951
Универсальная детская (подходит как для мальчика так и для девочки)
Шкафы https://s-wood.shop/products/19863872
Универсальная детская (подходит как для мальчика так и для девочки)
Откосы - 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
Все очень понравилось 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
СВЯЗАТЬСЯ С НАМИ 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