You can also find some informations on dependencies in CRAN manual Writing R extensions
One major difference:
- Packages in depends fields are attached in the R sessions
The ‘Depends’ field gives a comma-separated list of package names which this package depends on. Those packages will be attached before the current package when library or require is called
- Packages in Imports are not attached but namespace is known and loaded.
The ‘Imports’ field lists packages whose namespaces are imported from (as specified in the NAMESPACE file) but which do not need to be attached.
You'll find this explanation in the Namespace part of R package book too. Moreover, Depends was the old way to specify packages.
Prior to the rollout of namespaces in R 2.14.0, Depends was the only way to “depend” on another package.
The advice is to minimise the impact of your package on the global environment of your user. Putting a package in Depends will make this package attached when a call to library(MLstudio) is made - it will change the search path. Not a good practice to be invasive on a user session and all the more if you could do otherwise. It is why it is better to use Imports instead.
Maybe you should try to put them all in Imports field and see if it reinstalled them also ?
Could be another difference between Depends and Imports at installation.