This function checks for existence of updates, ascertains whether
those packages impose new requirements, and installs any new
requirements. Then it conducts the update.
This function is valuable in system maintenance because sometimes
existing packages adopt new requirements and the update.packages
function does not notice. Another possible case would be that a user
accidentally deletes some packages without realizing other packages
depend on them.
If this is run as the root/administrator privileged, then base R
packages may be updated, but if user is not root/administrator,
there will be a warning that packages were not updated because
permissions were lacking. For example
"Warning: package 'boot' in library '/usr/lib/R/library' will not
be updated.
This warning does not interfere with rest of purpose of this
function, since the new dependencies can be installed in a place
where the user has privileges, either by specifying libnew as a
full directory name or by setting it to NULL, which puts new
packages in $R_LIBS_USER