Raymond Raymond / R Programming

Working with R Packages and IDE

event 2020-09-23 visibility 400 comment 0 insights toc
insights Stats

In this series, we've walked-through R programming basics and advanced data types. This article will focus on R packages and IDEs so that you can program efficiently with R.

R terminologies

Let's recap these commonly mentioned R terminologies:

  • Package: An extension of the R base system with code, data and documentation in standardized format.
  • Library: A directory containing installed packages.
  • Repository: A website providing packages for installation.
  • Source: The original version of a package with human-readable text and code.
  • Binary: A compiled version of a package with computer-readable text and code, may work only on a specific platform.
  • Base packages: Part of the R source tree, maintained by R Core team.
  • Recommended packages: Part of every R installation, but not necessarily maintained by R Core.
  • Contributed packages: All the rest.

R library & packages

There are two types of libraries in a R environment:

  • System library: Contains built in packages distributed with R client
  • User library: Contains packages manually installed via CRAN or manual download 

In RStudio, you can choose different R system library via Tools -> Global Options.

As shown above, I have multiple R distributions in my computer that can be used. 
For R packages, we can search, install and load them easily using system functions:
  • List all the packages currently loaded: 
  • List all installed packages
  • Install packages from CRAN (Comprehensive R Archiving Network)
  • Install packages manually
install.packages("local package path", repos=NULL, type="source")
  • Remove packages
  • Load packages

The following are some examples (script R17.Library.R)

Get library path

Run the following function to get current library path in the project:

# Get library path, it can returns different results in different IDEs based on the settings

[1] "E:/Documents/R/win-library/3.4"                      
[2] "C:/Program Files/Microsoft/R Client/R_SERVER/library"

List available packages

# Get list of all the packages installed in all library

In RStudio, it will open a window that list all the packages in each library:


Install package from CRAN

The following code snippet installs XML package 

# install package from CRAN

Show currently loaded package

> # currently loaded packages
> search()
 [1] ".GlobalEnv"            "tools:rstudio"         "package:RevoUtilsMath"
 [4] "package:RevoUtils"     "package:RevoMods"      "package:MicrosoftML"  
 [7] "package:mrsdeploy"     "package:RevoScaleR"    "package:lattice"      
[10] "package:rpart"         "package:stats"         "package:graphics"     
[13] "package:grDevices"     "package:utils"         "package:datasets"     
[16] "package:methods"       "Autoloads"             "package:base"       

Load library

Function library() can be used to load library. 

> # load library
> library("XML")
> # Run search again
> search()
 [1] ".GlobalEnv"            "package:XML"           "tools:rstudio"        
 [4] "package:RevoUtilsMath" "package:RevoUtils"     "package:RevoMods"     
 [7] "package:MicrosoftML"   "package:mrsdeploy"     "package:RevoScaleR"   
[10] "package:lattice"       "package:rpart"         "package:stats"        
[13] "package:graphics"      "package:grDevices"     "package:utils"        
[16] "package:datasets"      "package:methods"       "Autoloads"            
[19] "package:base"  

The above search function shows XML package is loaded. We can also use programming to check whether a package is loaded:

> # Check whether package is currently loaded.
> if("package:XML" %in% search())
+ {
+   print("XML package is currently loaded")
+ }else
+ {
+   print("XML package is not currently loaded")
+ }
[1] "XML package is currently loaded"

Working directory

In R, we can get current working directory using the following function:


Working directory can also be set dynamically using setwd function:


To list files in current directory, use list.files():


The following is the working directory for this R programming tutorial in my computer:



The following are the examples about working directory (script R18.WorkingDirectory.R):

# get current directory

# Set working directory

# list files in this directory

list.files(all.files = TRUE)


R objects and variables can be saved to .RData file.

To save list of object, use function save()To save variables in current working space using save.image() or save function:

save(list = ls(all.names = TRUE), file = ".RData", envir = .GlobalEnv)

Saved objects can be reloaded through load() function.

Here are some examples about .RData (script R19.RDataAndRHistory.R):

# Save objects into data files
x<- 1:10
y <- list(a = 1, b = TRUE, c = "chars")
save(x, y, file = "xy.RData")

# save my currenct working sapce
# or use save commands
save(list = ls(all.names = TRUE), file = ".RData", envir = .GlobalEnv)

# load file

# delete file


.RHistory in working directory stores all the historical commands that have been used previously. 

In RStudio, the history commands are displayed in the History tab:


Useful tips

In RStudio, there are few useful tips that are commonly used: 

Clear console

  • Run function: cat("\014") 
  • Or press CTRL + L

Function help

Use ? to get help


The output looks like the following:


Search keyword

You can also search certain keyword in the help documentations:



Here are some examples about getting help information (script R20.Helps.R):






Hopefully, you now have a good idea about how to use R IDEs efficiently and how to install and load external packages.

More from Kontext
comment Comments
No comments yet.

Please log in or register to comment.

account_circle Log in person_add Register

Log in with external accounts