Вы можете использовать «Предлагает», а в функции, которой требуется пакет, вы можете добавить код в require()
указанный пакет и, если он недоступен, выдать ошибку.Пример, с которым я знаком, веганский пакет, имеет в своем ОПИСАНИИ
Depends: permute
Suggests: MASS, mgcv, lattice, cluster, scatterplot3d, rgl, tcltk
и при загрузке имеющегося у нас пакета:
R> require(vegan)
Loading required package: vegan
Loading required package: permute
This is vegan 1.90-0
и sessionInfo()
сообщает, что ни один изПредлагаемые пакеты еще были загружены / прикреплены и т. д .:
R> sessionInfo()
R version 2.13.1 Patched (2011-07-29 r56550)
Platform: x86_64-unknown-linux-gnu (64-bit)
locale:
[1] LC_CTYPE=en_GB.utf8 LC_NUMERIC=C
[3] LC_TIME=en_GB.utf8 LC_COLLATE=en_GB.utf8
[5] LC_MONETARY=C LC_MESSAGES=en_GB.utf8
[7] LC_PAPER=en_GB.utf8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_GB.utf8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] vegan_1.90-0 permute_0.5-0
loaded via a namespace (and not attached):
[1] tools_2.13.1