Что означает "не запускать" на страницах справки R? - PullRequest
99 голосов
/ 21 сентября 2009

Иногда на странице справки R в комментариях появляется фраза «не выполняется». Проверьте это на странице справки для "with ()":

Examples
require(stats); require(graphics)
#examples from glm:
**## Not run:** 
library(MASS)
with(anorexia, {
    anorex.1 <- glm(Postwt ~ Prewt + Treat + offset(Prewt),
                    family = gaussian)
    summary(anorex.1)
})
## End(**Not run**)

Что означает "не запускаться" в примере кода?

Ответы [ 5 ]

67 голосов
/ 21 сентября 2009

«не выполняется» содержит код, который не должен выполняться в функции example (например, трудоемкие части кода, взаимодействие с пользователем, ...).

см. Например ?example

Как подробно описано в руководстве Написание расширений R , автор страница справки может разметить части примеров для двух исключений правила

  • «dontrun» содержит код, который не должен выполняться.

  • «dontshow» содержит код, который невидим на страницах справки, но будет запускаться как инструментами проверки пакетов, так и функция example (). Это было ранее 'testonly', и эта форма все еще принимается.

23 голосов
/ 21 сентября 2009

В «Написание расширений R» руководство, в разделе о \ examples {...} сказано, что

Вы можете использовать \ dontrun {} для текста, который должен только отображаться, но не запускаться, и \ dontshow {} для дополнительных команд для тестирования, которое не должно показываться пользователям, но будет выполнено example ()

Когда вы собираете пакет, весь код в закрытии \ dontrun {} отображается в справке как

## Not run:
...
## End(**Not run**)

изменить: Этот ответ был раньше.

13 голосов
/ 14 августа 2014

Это добавляет \donttest{} и взято (дословно) из @adley's R Packages .

Однако для иллюстрации часто полезно включать код, вызывающий ошибку. \dontrun{} позволяет включить код в пример, который никогда не используется. Есть две другие специальные команды. \dontshow{} запускается, но не отображается на странице справки: это может быть полезно для неформальных тестов. \donttest{} запускается в примерах, но не запускается автоматически при проверке CMD R. Это полезно, если у вас есть примеры, выполнение которых занимает много времени. Варианты приведены ниже.

Command      example    help       R CMD check
\dontrun{}                 x
\dontshow{}       x                          x
\donttest{}       x        x
4 голосов
/ 21 сентября 2009

C & p из главы 5.4 (Файлы документации R) MUST-TO-READ Создание пакетов R: Учебное пособие Фридриха Лейша:

Раздел примеров должен содержать исполняемый код R, и автоматически запуск кода является частью проверки упаковка. Есть два специальных Команды разметки для примеров:

dontrun : все внутри \ dontrun {} не выполняется тестами или пример(). Это полезно, например, для интерактивные функции, функции доступ в интернет и т.д .. Не надо использовать его, чтобы облегчить вам жизнь приводя примеры, которые не могут быть казнены.

2 голосов
/ 18 сентября 2018

Канонический пример здесь может быть на странице справки для rm:

## Not run: 
## remove (almost) everything in the working environment.
## You will get no warning, so don't do this unless you are really sure.
rm(list = ls())

## End(Not run)

Если бы он запустился, он, конечно, имел бы нежелательные эффекты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...