пакет R
Пакеты R являются расширениями языка статистического программирования R. Пакеты R содержат код, данные и документацию в стандартизированном формате коллекции, который может быть установлен пользователями R, обычно через централизованный репозиторий программного обеспечения , такой как CRAN (Комплексная сеть архивов R). [1] [2] Большое количество пакетов, доступных для R, а также простота их установки и использования были названы основным фактором, способствующим широкому распространению этого языка в науке о данных . [3] [4] [5] [6]
По сравнению с библиотеками других языков программирования пакеты R должны соответствовать относительно строгим спецификациям. [3] Руководство написанию расширений R по [7] определяет стандартную структуру каталогов для исходного кода R, данных, документации и метаданных пакета, что позволяет их устанавливать и загружать с помощью встроенных управления пакетами R. инструментов [3] Пакеты, распространяемые в CRAN, должны соответствовать дополнительным стандартам. [3] [8] По словам Джона Чемберса , хотя эти требования «налагают значительные требования» на разработчиков пакетов, они улучшают удобство использования и долгосрочную стабильность пакетов для конечных пользователей. [3]
Репозитории
[ редактировать ]Комплексная сеть архивов R (CRAN)
[ редактировать ]Комплексная сеть архивов R (CRAN) — это центральный репозиторий программного обеспечения R , поддерживаемый R Foundation. [9] Он содержит архив последних и предыдущих версий дистрибутива R, документации и добавленных пакетов R. [10] Он включает в себя как исходные пакеты , так и предварительно скомпилированные двоичные файлы для Windows и macOS . [11] По состоянию на ноябрь 2020 г. [update], доступно более 16 000 пакетов. [12] CRAN была создана Куртом Хорником и Фридрихом Лейшем в 1997 году. [13] [14] с названием, соответствующим другим ранним системам упаковки, таким как выпущен ( Perl в году 1995 CTAN TeX (выпущен в 1992 году) и CPAN ). [15] По состоянию на 2021 год [update], его до сих пор поддерживают Хорник и команда волонтеров. [9] Главный сайт расположен в Венском университете экономики и бизнеса и зеркально отображается на серверах по всему миру. [10]
Страница «Просмотры задач» (список тем) на сайте CRAN [16] перечисляет широкий спектр задач (в таких областях, как финансы, генетика, высокопроизводительные вычисления, машинное обучение, медицинская визуализация, метаанализ , социальные науки и пространственная статистика), для которых доступны пакеты R. Другой способ просмотра пакетов CRAN предоставляется Metacran: [17] который также поддерживает списки рекомендуемых, наиболее загружаемых, популярных или наиболее зависимых пакетов.
Количество пакетов CRAN росло в геометрической прогрессии в течение многих лет. [18] и по состоянию на 2018 год [update] в среднем ежедневно делалось 21 представление новых или обновленных пакетов. [6] Поскольку каждая заявка проверяется вручную небольшой командой сопровождающих CRAN, многие из которых, по словам основного разработчика R Питера Далгаарда , «приближаются к пенсионному возрасту», есть опасения, что эта система не является устойчивой в долгосрочной перспективе. [6] Рост CRAN выявил ограничения его инфраструктуры управления зависимостями , в частности тот факт, что предполагается, что зависимости всегда относятся к последней версии пакета, а это означает, что новые выпуски пакетов CRAN всегда должны быть обратно совместимыми . [19] и что пакеты CRAN не могут иметь зависимостей, отличных от CRAN. [20] Это также привело к обеспокоенности по поводу снижения качества упаковок. [21]
MRAN и менеджер пакетов Posit
[ редактировать ]Сеть приложений Microsoft R (MRAN) является зеркалом CRAN, поддерживаемой Microsoft , которая основана на нисходящем дистрибутиве R, Microsoft R Open (ранее Revolution R Open). [22] Он также включает в себя архив ежедневных снимков CRAN, известный как «CRAN Time Machine», который позволяет пользователям MRAN обойти ограничения управления версиями зависимостей CRAN путем установки фиксированного набора версий пакета R через контрольную точку пакета. [23] [24] В январе 2023 года Microsoft объявила, что MRAN прекращает свое существование, а связанные с ним веб-сайты и репозитории стали недоступны в июле 2023 года. [25]
Менеджер пакетов Posit (ранее — Диспетчер пакетов RStudio) — аналогичный инструмент, созданный разработчиками RStudio , который, помимо снимков CRAN, включает в себя архив пакетов R из Bioconductor и Python пакетов из Индекса пакетов Python . [26] Он также распространяет предварительно скомпилированные двоичные пакеты для Linux (в CRAN включены только двоичные файлы Windows и macOS). [27]
Другие репозитории
[ редактировать ]Проект Bioconductor предоставляет пакеты R для анализа геномных данных. Сюда входят объектно-ориентированные инструменты обработки и анализа данных из Affymetrix , кДНК микроматрицы и высокопроизводительного секвенирования нового поколения. методы [28]
Р-Фордж, [29] — это центральная платформа для совместной разработки пакетов R, программного обеспечения и проектов, связанных с R. R-Forge также содержит множество неопубликованных бета-пакетов и разрабатываемых версий пакетов CRAN.
Базовый и рекомендуемый пакеты
[ редактировать ]R распространяется с пятнадцатью «базовыми пакетами»: base, компилятор, наборы данных, grDevices, графика, сетка, методы, параллель, сплайны, статистика, статистика4, tcltk, инструменты, переводы и утилиты. [30]
Кроме того, существует пятнадцать «рекомендуемых пакетов» от CRAN, которые включены в двоичные дистрибутивы R: KernSmooth, MASS, Matrix, boot, class, кластер, codetools, зарубежный, решетка, mgcv, nlme, nnet, rpart, пространственный и выживание. [30]
Другие пакеты
[ редактировать ]Группа пакетов под названием tidyverse , которую можно считать «диалектом языка R», становится все более популярной в экосистеме R. По состоянию на 13 июня 2020 г., Метакран [17] перечислил 7 из 8 основных пакетов tidyverse в списке наиболее загружаемых пакетов R. Группа пакетов стремится предоставить целостный набор функций для решения общих задач обработки данных, включая импорт, очистку, преобразование и визуализацию данных (особенно с пакетом ggplot2 ).
Пакеты инфраструктуры R [31] поддержка кодирования и разработки пакетов R, а по состоянию на 4 мая 2021 г., Metacran [17] перечисляет 16 из этих пакетов среди 25 наиболее загружаемых пакетов.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Хорник, Курт (20 февраля 2020 г.). «Часто задаваемые вопросы по R» . Комплексная сеть архивов R. 7.29: В чем разница между пакетом и библиотекой? Архивировано из оригинала 9 июля 2011 г. Проверено 2 ноября 2020 г.
{{cite web}}
: CS1 maint: местоположение ( ссылка ) - ^ Уикхэм, Хэдли; Брайан, Дженнифер. "Введение". Пакеты R (2-е изд.). Архивировано из оригинала 29 июня 2022 г. Проверено 2 ноября 2020 г.
- ^ Перейти обратно: а б с д и Чемберс, Джон М. (2020). «S, R и наука о данных» . Журнал Р. 12 (1): 462–476. дои : 10.32614/RJ-2020-028 . ISSN 2073-4859 . Архивировано из оригинала 01.11.2020 . Проверено 2 ноября 2020 г.
- ^ Вэнс, Эшли (6 января 2009 г.). «Аналитики данных, очарованные мощью R» . Нью-Йорк Таймс . Архивировано из оригинала 2 мая 2021 г. Проверено 2 ноября 2020 г.
- ^ Типпманн, Сильвия (29 декабря 2014 г.). «Инструменты программирования: Приключения с R» . Новости природы . 517 (7532): 109–110. дои : 10.1038/517109а . ПМИД 25557714 .
- ^ Перейти обратно: а б с Тиме, Ник (2018). «Поколение R» . Значение . 15 (4): 14–19. дои : 10.1111/j.1740-9713.2018.01169.x . ISSN 1740-9713 .
- ^ «Написание расширений R» . Комплексная сеть архивов R. Архивировано из оригинала 12 ноября 2020 г. Проверено 2 ноября 2020 г.
- ^ «Политика репозитория CRAN» . Комплексная сеть архивов R. Архивировано из оригинала 05.11.2020 . Проверено 2 ноября 2020 г.
- ^ Перейти обратно: а б Сопровождающие репозитория CRAN. «Политика репозитория CRAN» . Комплексная сеть архивов R. Р-проект. Архивировано из оригинала 11 ноября 2020 года . Проверено 20 ноября 2020 г.
- ^ Перейти обратно: а б Хорник, Курт (20 февраля 2020 г.). «Часто задаваемые вопросы по R» . Комплексная сеть архивов R. 2.1: Что такое CRAN?: R Project. Архивировано из оригинала 9 июля 2011 г. Проверено 20 ноября 2020 г.
{{cite web}}
: CS1 maint: местоположение ( ссылка ) - ^ Сопровождающие репозитория CRAN. «Комплексная сеть архивов R» . Р-проект. Архивировано из оригинала 23 января 2019 года . Проверено 20 ноября 2020 г.
- ^ Сопровождающие репозитория CRAN. «CRAN — Дополнительные пакеты» . Комплексная сеть архивов R. КРАН. Архивировано из оригинала 24 ноября 2020 года . Проверено 20 ноября 2020 г.
- ^ Хорник, Курт (23 апреля 1997 г.). «АНОНС: КРАН» . r-announce (список рассылки). Архивировано из оригинала 8 марта 2021 г. Проверено 20 ноября 2020 г.
- ^ Тиме, Ник (2018). «Поколение R» . Значение . 15 (4): 14–19. дои : 10.1111/j.1740-9713.2018.01169.x . ISSN 1740-9713 .
- ^ Фицджеральд, Брайан (9 февраля 2016 г.). «Обзор систем пакетов языков программирования» . Некоторые вещи очевидны . Архивировано из оригинала 09.11.2020 . Проверено 4 мая 2021 г.
- ^ «Представления задач CRAN» . cran.r-project.org . Архивировано из оригинала 9 июля 2011 г. Проверено 16 сентября 2018 г.
- ^ Перейти обратно: а б с «Метакран» . Архивировано из оригинала 20 апреля 2021 г. Проверено 4 мая 2021 г.
- ^ Асай, Мэтт (21 апреля 2016 г.). «Экспоненциальный рост сообщества R с открытым исходным кодом угрожает коммерческим конкурентам» . Техреспублика . Архивировано из оригинала 26 октября 2020 г. Проверено 2 ноября 2020 г.
- ^ Оомс, Йерун (2013). «Возможные направления улучшения управления версиями зависимостей в R» . Журнал Р. 5 (1): 197–206. arXiv : 1303.2140 . дои : 10.32614/RJ-2013-019 . ISSN 2073-4859 . S2CID 6791850 . Архивировано из оригинала 19 сентября 2020 г. Проверено 2 ноября 2020 г.
- ^ Декан, А.; Менс, Т.; Клаас, М.; Грожан, П. (2016). «Когда GitHub встречает CRAN: анализ проблем зависимости пакетов между репозиториями» . 2016 23-я Международная конференция IEEE по анализу, эволюции и реинжинирингу программного обеспечения (SANER) . Том. 1. С. 493–504. дои : 10.1109/SANER.2016.12 . ISBN 978-1-5090-1855-0 . S2CID 16751624 . Архивировано из оригинала 16 января 2021 г. Проверено 12 мая 2021 г.
- ^ Хорник, Курт (2012). «Слишком много пакетов R?» . Австрийский статистический журнал . 41 (1): 59–66–59–66. дои : 10.17713/ajs.v41i1.188 . ISSN 1026-597X . Архивировано из оригинала 26 ноября 2020 г. Проверено 2 ноября 2020 г.
- ^ «Добро пожаловать в МРАН» . Сеть приложений Microsoft R. Майкрософт . Архивировано из оригинала 4 мая 2021 года . Проверено 4 мая 2021 г.
- ^ «Воспроизводимость: использование фиксированных снимков репозитория CRAN» . Сеть приложений Microsoft R. Майкрософт . Архивировано из оригинала 2 мая 2021 года . Проверено 4 мая 2021 г.
- ^ Смит, Дэвид (22 мая 2019 г.). «Снимки MRAN и вы» . Революции . Революционная аналитика . Архивировано из оригинала 4 мая 2021 г. Проверено 4 мая 2021 г.
- ^ «Выход из эксплуатации сети приложений Microsoft R» . techcommunity.microsoft.com . Проверено 15 ноября 2023 г.
- ^ Лопп, Шон (07 декабря 2020 г.). «Менеджер пакетов RStudio 1.2.0 — Биокондуктор и PyPI» . Блог RStudio . RStudio . Архивировано из оригинала 4 мая 2021 г. Проверено 4 мая 2021 г.
- ^ Лопп, Шон (01 июля 2020 г.). «Анонсируем менеджер общедоступных пакетов и версию 1.1.6» . Блог RStudio . RStudio . Архивировано из оригинала 4 мая 2021 г. Проверено 4 мая 2021 г.
- ^ Хубер, В; Кэри, виджей; Джентльмен, Р ; Андерс, С; Карлсон, М; Карвалью, Б.С.; Браво, ХК; Дэвис, С; Гатто, Л; Гирке, Т; Готтардо, Р; Хане, Ф; Хансен, К.Д.; Иризарри, РА ; Лоуренс, М; С любовью, Мичиган; Макдональд, Дж; Обенчайн, В; Олесь, АК; Пажес, Х; Рейес, А; Шеннон, П; Смит, ГК; Тененбаум, Д; Уолдрон, Л; Морган, М (2015). «Организация высокопроизводительного геномного анализа с помощью Bioconductor» . Природные методы . 12 (2). Издательская группа Nature : 115–121. дои : 10.1038/nmeth.3252 . ПМЦ 4509590 . ПМИД 25633503 .
- ^ «Р-Фордж: Добро пожаловать» . Архивировано из оригинала 14 сентября 2018 г. Проверено 16 сентября 2018 г.
- ^ Перейти обратно: а б Хорник, Курт (20 февраля 2020 г.). «Часто задаваемые вопросы по R» . Комплексная сеть архивов R. 5.1: Какие дополнительные пакеты существуют для R?. Архивировано из оригинала 9 июля 2011 г. Проверено 2 ноября 2020 г.
{{cite web}}
: CS1 maint: местоположение ( ссылка ) - ^ «Р-инфраструктура» . Гитхаб . Архивировано из оригинала 19 мая 2021 г. Проверено 4 мая 2021 г.
Дальнейшее чтение
[ редактировать ]- Клаас, М.; Менс, Т.; Грожан, П. (2014). «О ремонтопригодности пакетов CRAN» . Неделя эволюции программного обеспечения 2014 г. — конференция IEEE по сопровождению программного обеспечения, реинжинирингу и обратному проектированию (CSMR-WCRE) . стр. 308–312. дои : 10.1109/CSMR-WCRE.2014.6747183 . ISBN 978-1-4799-3752-3 . S2CID 17927576 .
- Декан, Александр; Менс, Том; Клаас, Малик; Грожан, Филипп (07 сентября 2015 г.). «О разработке и распространении пакетов R» . Материалы Европейской конференции по семинарам по архитектуре программного обеспечения 2015 года . ECSAW '15. Дубровник, Цавтат, Хорватия: Ассоциация вычислительной техники. стр. 1–6. дои : 10.1145/2797433.2797476 . ISBN 978-1-4503-3393-1 . S2CID 1680582 .
- Фокс, Джон (2009). «Аспекты социальной организации и траектория проекта R» . Журнал Р. 1 (2): 5–13. дои : 10.32614/RJ-2009-014 . ISSN 2073-4859 .
- Фокс, Джон; Линидж, Эллисон (12 сентября 2016 г.). «R и журнал статистического программного обеспечения» . Журнал статистического программного обеспечения . 73 (1): 1–13. дои : 10.18637/jss.v073.i02 . ISSN 1548-7660 .
- Плакидас, Константинос; Шалл, Дэниел; Здун, Уве (2017). «Эволюция экосистемы программного обеспечения R: метрики, взаимосвязи и их влияние на качества» . Журнал систем и программного обеспечения . 132 : 119–146. дои : 10.1016/j.jss.2017.06.095 . ISSN 0164-1212 .
Внешние ссылки
[ редактировать ]- Комплексная сеть архивов R (CRAN)
- METACRAN , каталог пакетов R.
- CRAN Task Views , список пакетов CRAN по темам