Quick Way of Installing all your old R libraries on a New Device

I recently bought a new laptop and began installing essential software all over again, including R of course! And I wanted all the libraries that I had installed in my previous laptop. Instead of installing libraries one by one all over again, I did the following:

Step 1: Save a list of packages installed in your old computing device (from your old device).

installed <- as.data.frame(installed.packages())
write.csv(installed, 'installed_previously.csv')

This saves information on installed packages in a csv file named installed_previously.csv. Now copy or e-mail this file to your new device and access it from your working directory in R.

Step 2: Create a list of libraries from your old list that were not already installed when you freshly download R (from your new device).

installedPreviously <- read.csv('installed_previously.csv')
baseR <- as.data.frame(installed.packages())
toInstall <- setdiff(installedPreviously, baseR)

We now have a list of libraries that were installed in your previous computer in addition to the R packages already installed when you download R. So you now go ahead and install these libraries.

Step 3: Download this list of libraries.


That’s it. Save yourself the trouble installing packages one-by-one all over again.



10 thoughts on “Quick Way of Installing all your old R libraries on a New Device

  1. Hello blogger, i must say you have high quality posts here.
    Your website can go viral. You need initial traffic only.
    How to get it? Search for: Mertiso’s tips go viral


    • Hi, I had 2 problems when running this script. First, I don’t see why the setdiff did not work in my case. So, I create a subset excluding those baseR packages. Second, the list “toInstall” was a data frame with many columns rather than a simple character vector. I had to save only the column with the package names into another object and then transform the class from factor to character for that obj. It worked then.
      These were the 2 lines I added:



Leave a Reply to Jason Miller Cancel reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s