On 9/7/07, Barry Rowlingson <[EMAIL PROTECTED]> wrote: > > When one loads certain packages, some other dependent packages are > > loaded as well. Is there some way of detaching them automatically when > > one detaches the first package loaded? For instance, > > > >> library(sqldf) > > Loading required package: RSQLite > > Loading required package: DBI > > Loading required package: gsubfn > > Loading required package: proto > > > > but > > > >> detach(package:sqldf) > >> > >> search() > > [1] ".GlobalEnv" "package:gsubfn" "package:proto" > > [4] "package:RSQLite" "package:DBI" "package:stats" > > [7] "package:graphics" "package:grDevices" "package:utils" > > [10] "package:datasets" "package:methods" "Autoloads" > > [13] "package:base" > > > > The packages > > > > RSQLite > > DBI > > gsubfn > > proto > > > > were not detached. > > The danger here is that after attaching sqldf you might attach some > other package that needs, say, DBI, then when your cleanup routine > detaches DBI that other package dies because DBI isn't there. > > The way to do it would be to detach any packages that are only > depended on by the package you are detaching. You'd have to call > packageDescription("foo", fields="Depends") for currently attached > packages to build the dependency tree and then work out which ones you > can remove... There's a bit of recursive tree-walking in there, but it > should be simple... Ummm...
Thanks, Barry and Gabor. Please, look at the following: > library(sqldf) Loading required package: RSQLite Loading required package: DBI Loading required package: gsubfn Loading required package: proto > packageDescription("sqldf", fields="Depends") [1] "R (>= 2.5.1), RSQLite (>= 0.5-5), gsubfn" > packageDescription does not mention the packages DBI and proto. Paul ______________________________________________ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.