[R] is there a way to update both packages if they occur in 2 libraries?

Chris Howden chris at trickysolutions.com.au
Wed Oct 20 14:14:12 CEST 2010


Thanks Uwe,

I was wondering if it was something like that.

I'll delete the base packages from my personal library.


And just as a comment...although I'm a rather new user to R (as U may have
guessed). I gather that every now and then popular and necessary packages
are added to base R.

So I'm guessing the problem I was having would occur when ever this
happens and people have the old package in their personal libraries.
(which would likely be the case if it's considered good enough to add to
base R)

Not really a 'bug' of R. But something I'll remember!!!

Thanks again.



Chris Howden
Founding Partner
Tricky Solutions
Tricky Solutions 4 Tricky Problems
Evidence Based Strategic Development, IP development, Data Analysis,
Modelling, and Training
(mobile) 0410 689 945
(fax / office) (+618) 8952 7878
chris at trickysolutions.com.au


-----Original Message-----
From: Uwe Ligges [mailto:ligges at statistik.tu-dortmund.de]
Sent: Wednesday, 20 October 2010 9:38 PM
To: Chris Howden
Cc: r-help
Subject: Re: [R] is there a way to update both packages if they occur in 2
libraries?



On 20.10.2010 13:59, Chris Howden wrote:
> Thanks Uwe,
>
> It may operate like that on most peoples machines, but either its not
> operating like that on mine. Or I have another problem :-(
>
> As u can see from my code below I've run
update.packages(checkBuilt=TRUE)
> and my 'private' library is in my LibPaths()...
>
> However when I try to load the foreign package I get an error message
> telling me "package "foreign' was built before R 2.10.0:


Ah, I haven't read your original message carefully enough: Package
foreign is a base package. Base packages should only be in the R base
library, not in any other library. They cannot be updated via
update.packages().

Best wishes,
Uwe


> please re-install
> it". But then if I remove my private library from the search path I can
> load foreign....so this suggests the problem is with the foreign package
> in my 'private library'.
>
> Furthermore, if I look at the description file for foreign it claims to
> have been built for R package 2.9.2. (I've copied it below).
>
> I'm concluding the issue is with the foreign package in my private
library
> since it claims to have been built for R 2.9.2&  I can get the package
to
> load if I remove my private library from the library search path and
laod
> the foreaign package from the base library.
> 	I'm then concluding the problem is due to it not updating since
> the description file 	claims it was built for R version 2.9.2 and due to
> the error message I'm getting ie 	"foreign' was built before R
> 2.10.0: please re-install it"
>
>
> BUT I'm happy to be proven wrong... I just can't think of what else the
> problem could be?????
>
>
>
> FOREIGN DESCRIPTION FILE
> Package: foreign
> Priority: recommended
> Version: 0.8-39
> Date: 2010-01-03
> Title: Read Data Stored by Minitab, S, SAS, SPSS, Stata, Systat, dBase,
>          ...
> Depends: R (>= 2.6.0), stats
> Imports: methods, utils
> Maintainer: R-core<R-core at r-project.org>
> Author: R-core members, Saikat DebRoy<saikat at stat.wisc.edu>, Roger
>          Bivand<Roger.Bivand at nhh.no>  and others: see COPYRIGHTS file in
>          the sources.
> Description: Functions for reading and writing data stored by
>          statistical packages such as Minitab, S, SAS, SPSS, Stata,
>          Systat, ..., and for reading and writing .dbf (dBase) files.
> LazyLoad: yes
> License: GPL (>= 2)
> BugReports: http://bugs.r-project.org
> Packaged: 2010-01-03 10:24:13 UTC; ripley
> Repository: CRAN
> Date/Publication: 2010-01-03 14:06:04
> Built: R 2.9.2; i386-pc-mingw32; 2010-01-03 23:21:40 UTC; windows
>
>
>
>
>
>
> Chris Howden
> Founding Partner
> Tricky Solutions
> Tricky Solutions 4 Tricky Problems
> Evidence Based Strategic Development, IP development, Data Analysis,
> Modelling, and Training
> (mobile) 0410 689 945
> (fax / office) (+618) 8952 7878
> chris at trickysolutions.com.au
>
>
> -----Original Message-----
> From: Uwe Ligges [mailto:ligges at statistik.tu-dortmund.de]
> Sent: Wednesday, 20 October 2010 9:15 PM
> To: Chris Howden
> Cc: r-help
> Subject: Re: [R] is there a way to update both packages if they occur in
2
> libraries?
>
> update.packages() updates all packages in all libraries listed in
> .libPaths() unless you specify an explicit library.
>
> It may happen that the version number has not changed and you just want
> to reinstall for your upgraded R. In that case use:
>
> update.packages(checkBuilt=TRUE)
>
> Best,
> Uwe Ligges
>
>
>
> On 20.10.2010 04:07, Chris Howden wrote:
>> Hi everyone,
>>
>>
>>
>> I've recently added a private library as a way to manage my R
libraries.
> And
>> I did this by simply copying my old library to a new folder and then
> linking
>> this to R by setting my R_LIBS  environmental variable in .Renviron.
>>
>>
>>
>> However I have run into a problem.
>>
>>
>>
>> When I update my packages it is not updating those that are current in
> the
>> base R library.
>>
>>
>>
>> This means I can't load packages that are included in base R, since R
is
>> looking in my private library first and when it finds the package it
> tries
>> to use it. But it's an outdated version.
>>
>>
>>
>> The easiest solution I can think of is to update both libraries, but
> when I
>> run update.packages(lib.loc="private library location" ask = FALSE,
>> checkBuilt=TRUE) it's not updating them.
>>
>>
>>
>> So I was wondering if there is a way to update all packages  that occur
> in
>> all libraries?
>>
>>
>>
>>
>>
>> (Note that I can think of other solutions to my problem, but they are
> all
>> time consuming and defeats the purpose of why I want a private library
> i.e.
>> it makes updating R easier since I don't need to copy over the library
>> folder each time nor update any environmental variables. So far the
best
>> alternative I've come up with is to delete all the duplicate base R
>> libraries from my private library)
>>
>>
>>
>> If anyone is interested the code I used to understand my problem is
> below.
>>
>>
>>
>>
>>
>> Thanks everyone
>>
>>
>>
>>
>>
>>
>>
>>> update.packages(lib.loc="C:\\Program Files\\R\\library", ask = FALSE,
>> checkBuilt=TRUE)
>>
>> --- Please select a CRAN mirror for use in this session ---
>>
>>
>>
>>> update.packages(ask = FALSE, checkBuilt = TRUE)
>>
>>
>>
>> Foreign package won't load
>>
>>> library(foreign)
>>
>> Error: package 'foreign' was built before R 2.10.0: please re-install
it
>>
>>
>>
>>> .libPaths()
>>
>> [1] "C:\\Program Files\\R\\library"   "C:/PROGRA~1/R/R-212~1.0/library"
>>
>>
>>
>>> .libPaths("new")
>>
>>
>>
>>> .libPaths()
>>
>> [1] "C:/PROGRA~1/R/R-212~1.0/library"
>>
>>
>>
>> Foreign package will load
>>
>>> library(foreign)
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> Chris Howden
>>
>> Founding Partner
>>
>> Tricky Solutions
>>
>> Tricky Solutions 4 Tricky Problems
>>
>> Evidence Based Strategic Development, IP development, Data Analysis,
>> Modelling, and Training
>>
>> (mobile) 0410 689 945
>>
>> (fax / office) (+618) 8952 7878
>>
>> chris at trickysolutions.com.au
>>
>> 	[[alternative HTML version deleted]]
>>
>>
>>
>>
>> ______________________________________________
>> R-help at r-project.org 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.
>
> ______________________________________________
> R-help at r-project.org 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.



More information about the R-help mailing list