Как быть в курсе известных ошибок и исправлений ошибок в R-пакетах?

Существует ли стандартный ресурс сообщества R для поддержания актуальности известных ошибок или исправлений ошибок для пакетов? Мой нынешний подход довольно ручной. (NB: я ограничиваю это CRAN - см. Примечание 1.)

Мой вариант использования - это, в основном, наблюдение за ошибками и управление обновлениями пакетов. Я несколько раз усваивал несколько открытий ошибок каждый месяц (которые я должным образом сообщаю авторам;-)). Поскольку большая часть моей работы выполняется с виртуальными машинами, я стараюсь обновлять образы виртуальных машин, когда у меня есть хороший дескриптор состояния ошибки для необходимых пакетов. Когда связка ошибок исправлена, я могу удалить мои обходные пути, что отлично, и я обновляю изображения. Когда я обнаруживаю вспышку ошибок, я не создаю новое изображение.

Вот те источники, которые я сейчас использую:

  • Файлы новостей: многие, но не все, пакеты имеют файлы новостей. Это, безусловно, полезное место для начала.
  • Домашняя страница пакета. Некоторые пакеты не имеют файла новостей на CRAN, но отдельно публикуют журнал изменений на сайте автора.
  • R списки рассылки, размещенные в проекте
  • Группы Google для пакетов
  • Личное общение с авторами пакета
  • Отслеживание ошибок для пакетов (например, разработчик может использовать Bugzilla)

Одно из первых - обнаружить ошибку (я даю, что ошибки происходят со всеми нами), а другой - с опозданием обнаруживать ошибку, которая уже известна или, еще лучше, уже исправлена. Оба замедляют мою собственную кодировку, но улучшают контроль над ошибками (может быть, нам нужен пакет cdc4R:)), значительно снизит влияние. Без стандартной системы оповещения об обновлении (например, расширение до update.packages(), которое сообщает, какие пакеты могут быть обновлены и ссылки на информацию о том, что изменилось), это задание пользователя для поиска этой информации.

Как такой пользователь, пытаясь найти эту информацию, есть ли какой-то стандартный ресурс, который я забыл в приведенном выше списке? Например, есть ли список рассылки R, в котором разработчики обычно публикуют свои изменения и исправления ошибок? Или есть сайт, который объединяет такие сообщения, сообщения, тесты (например, сообщения CRAN R CMD CHECK), или что дает некоторые другие отзывы?


Несколько дополнительных заметок о других ресурсах, для других:

  • Я вижу, что CRANberries имеет краткую сводку diff для пакетов, которая для меня нова. (Я вдохновлен рассматривать grep для bug или fix на выходе diff.)
  • bug.report() в R - хороший способ отправить сообщение в R Core или адрес электронной почты поддерживающего пакет.
  • Несколько рассмотренных пакетов тестирования: testthat, RUnit и svUnit.
  • Мой личный "быстрый тест" - это просто использовать digest, чтобы убедиться, что результаты совпадают, без проверки равенства очень больших объектов.

Примечание 1: Я помечен этим cran, потому что невозможно управлять вселенной всех R-пакетов. Для отдельного автора пакета можно распространять пакет, где бы они ни хотели, использовать любой список рассылки или систему отслеживания ошибок, которые им нравятся, и т.д. Однако, за пределами "мейнстрима" для R. Я должен освободить пакет и предупредить пользователей к изменениям, ошибкам, исправлениям, я бы пошел с CRAN + NEWS + Bugzilla + Google Groups + R-Forge (и/или RForge) и т.д., но есть ли еще один стандартный механизм отчетности, отсутствующий в этом списке?

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

Примечание 2: Я также добавляю (хотя что-то еще может быть больше по поводу), поскольку это также относится к администрированию R. Для воспроизводимости управление пакетами весьма важно; когда есть несколько пользователей или более движущихся частей, сохранение ошибок и исправлений становится административной задачей, а также важным соображением для разработки, зависящим от внешних пакетов. Если другой тег, например. более уместно, я открыт к изменению.

Ответы

Ответ 1

Не полный ответ, но вот некоторые мысли.

В случае data.table мы отслеживаем ошибки (и запросы функций) в R-Forge здесь. Я предполагаю, что вы можете запросить трекер R-Forge (программно) для всех пакетов, размещенных там. Чтобы добавить в свой список в любом случае. Этот веб-трекер находится там, где bug.report(package="data.table") указывает (а не только адрес электронной почты для сопровождающего).

Кроме того, каждый может подписаться на любой список рассылки <pkgname>[email protected], чтобы получить унифицированное сообщение diff и commit (во время фиксации) для каждого проекта в R-Forge. Однако я не знаю общего списка рассылки, охватывающего любую фиксацию для любого проекта R-Forge.

В верхней части ?data.table есть ссылка на до минуты NEWS. Таким образом мы сообщим пользователям, что находится в последней версии (и в разработке), если они будут обновлены. Эта ссылка обновляется в режиме реального времени; то есть "до минуты" подразумевается буквально. Но, они должны проверить там!