If you work with namespaces, you can specify the package in Imports
, and load the necessary functions using import
or importFrom
. This way, the package is not attached, but the necessary functions can be loaded and used by your package. Without attaching, the startup messages are not given, so this approach assures you won't see any startup messages of packages specified in Imports.
Make sure you check that you imported everything that is of importance. If the package you import is dependent on other packages, I'm not sure everything you need to use those functions is imported. You might have to do a bit of puzzling to get everything you need loaded. On the plus side, using Imports
assures that any dependencies check will be carried out correctly.
Another option is to not specify the package in Depends
, but in Suggests
in the DESCRIPTION file, and use the option @Dirk gave you. This will give a correct dependency check if 'dependencies=TRUE' is set in install.packages()
. But personally I think using the namespaces is a lot more clean.