Introduction to R Language

The post is about an introduction to R Language. In this introduction to R Language, we will discuss here a short history of R programming language, obtaining R, the installation path of the language, installing R, and R console. Let us start with an introduction to the R language.

Introduction to R Language

R is an open-source (GPL) programming language for statistical computing and graphics, made after S and S-plus language. The S language was developed by AT&T laboratories in the late ’80s. Robert Gentleman and Ross Ihaka started the research project of the statistics department of the University of Auckland in 1995 called R Language.

The R language is currently maintained by the R core development team (an international team of volunteer developers). The (R Project website) is the main site for information about R. From this page information about obtaining the software, accompanying package, and many other sources of documentation (help files) can be obtained.

Introduction to R Language

R provides a wide variety of statistical and graphical techniques such as linear and non-linear modeling, classical statistical tests, time-series analysis, classification, multivariate analysis, etc., as it is an integrated suite of software having facilities for data manipulation, calculation, and graphics display. It includes

  • Effective data handling and storage facilities
  • Have a suite of operators for calculation on arrays, particularly for matrices
  • Have a large, coherent, integrated collection of intermediate tools for data analysis
  • Graphical data analysis
  • Conditions, loops, user-defined recursive functions, and input-output facilities.

Obtaining R Software

R language Software can be obtained/downloaded from the R Project site the ready-to-run (binaries) files for several operating systems such as Windows, Mac OS X, Linux, Solaris, etc. The source code for R is also available for download and can be compiled for other platforms. R language simplifies many statistical computations as R is a very powerful statistical language with many statistical routines (programming code) developed by people from all over the world and freely available from the R project website as “Packages”. The basic installation of R language contains many powerful sets of tools and it includes some basic packages required for data handling and data analysis.

Many users of R think of R as a statistical system, but it is an environment within which statistical techniques are implemented. The R language can also be extended via packages.

Installing R

For the Windows operating system, the binary version is available from http://cran.r- project.org/bin/windows/base/. “R-4.4.1-win.exe. R-4.4.1” (Race for Your Life) is the latest version of R released on 15 June 2024 by Duncan Murdoch.

After downloading the binary file double-click it, and almost automatic installation of the R system will start although the customized installation option is also available. Follow the instructions during the installation procedure. Once the installation process is complete, you have the R icon on your computer desktop.

The R Console

When R starts, you will see R console windows, where you type commands to get the required results. Note that commands are typed on the R Console command prompt. You can also edit the commands previously typed on the command prompt by using the left, right, up, and down arrow keys, home, end, backspace, insert and delete keys from the keyboard. Command history can be obtained by up and down arrow keys to scroll through recent commands. It is also possible to type commands in a file and then execute the file, using the source function in the R console.

Books on R Programming Language

The following books can be useful for learning the R and S language.

  • “Practicing R for Statistical Computing by Aslam, M, and Imdad Ullah, M., Springer, 2023.
  • “Psychologie statistique avec R” by Yvonnick Noel. Partique R. Springer, 2013.
  • “Instant R: An introduction to R for Statistical Analysis” by Sarah Stowell. Jotunheim Publishing, 2012.
  • “Financial Risk Modeling and Portfolio Optimization with R” by Bernhard Pfaff. Wiley, Chichester, UK, 2012.
  • “An R Companion to Applied Regression” by John Fox and Sanford Weisberg, Sage Publications, Thousand Oaks, CA, USA, 2nd Edition, 2011,
  • “R Graphs Cookbook” by Hrishi Mittal, Packt Publishing, 2011
  • “R in Action” by Rob Kabacoff. Manning, 2010.
  • “The Statistical Analysis with R Beginners Guide” by John M. Quick. Packt Publishing, 2010.
  • “Introducing Monte Carlo Methods with R” by Christian Robert and George Casella. Use R. Springer, 2010.
  • “R for SAS and SPSS users” by Robert A. Muenchen. Springer Series in Statistics and Computing. Springer, 2009.

MCQs General Knowledge

Questions about R: Important Frequently Asked

This post is about some frequently asked Questions about R Language. The frequently asked questions are about compilers in R, R packages, just in just-in-time compilers, procedural programming in R, and the Recycling rule of vectors. These questions will help you prepare for examinations and interviews.

Frequently Asked Questions About R

Questions about R Language

Question: What is a Compiler in R Language?
Answer: A compiler is software that transforms computer code (source code) to another computer language (target language, i.e., object code).

Question: What is a package in R Language?
Answer: The R package is a collection of R functions, compiled code, sample data, and help documentation. The R packages are stored in a directory called “library” in the R environment. The R language also installed a set of packages during installation.

Question: What is JIT?
Answer:
JIT standards for “Just in Time” compiler. It is a method to improve the run-time performance of a computer program.

Question: What is procedural Programming in R Language?
Answer:
Procedural programming is derived from structured programming and it is based on the concept of procedure call. Procedures are also known as routines, subroutines, or functions. It contains a series of computational steps to be carried out. Any procedure may be called (at any point) during a program’s execution.

Mathematical Operation in R

Question: What is the recycling of elements in a vector?
Answer: When a mathematical operation (such as addition, subtraction, multiplication, division, etc) is performed on two vectors of different lengths (the number of elements in both vectors is different), the element having a shorter length is reused to complete the mathematical operations.

vect1 <- c(4, 1, 4, 5, 6, 9)
vect2 <- c(2, 5)
vect1 * vect2 

###
8, 5, 8, 25, 12, 45

The elements of vect2 are recycled to complete the operation of all elements of vect1.

Question: What is the difference between a data frame and a matrix in R Language?
Answer: In R, the data frame contains heterogeneous data (different columns of the data frame may have different types of variable) while a matrix contains homogeneous data (all the columns of the matrix have the same type of variable). In a matrix, similar data types can be stored while in a data frame, different types of data can be stored.

See Questions about R language Missing Values

MCQs General Knowledge, MCQs in Statistics

R Quick Reference I

The article is about R Quick Reference related to Data representation in R Language, Data Types in R, Checking/Testing of special values in R, Changing the basic data types, use of Mathem operations, rounding of the numbers and outputs, and mathematical functions.

R Quick Reference

R Language A Quick Reference

R language: A Quick Reference is about learning R Programming with a short description of the widely used commands. It will help the learner and intermediate user of the R Programming Language to get help with different functions quickly. This R Quick Reference is classified into different groups. Let us start with R Language: A Quick Reference – I.

Basic Data Representation in R

In R, data may be represented as logical values, in scientific notation, as a complex, or as a float number. The are certain values such as NA, NULL, NaN, and Inf values.

R CommandShort Description
True, FalseLogical true or false
1.23e10A number in scientific notation $1.23\times 10^{20}$
3.4iA complex number
“Hello”A String/ Characters
NAMissing Value representation (in any type of vector)
NULLMissing Value indicator in lists
NaNNot a number
-InfNegative Infinity
InfPositive infinity

Checking/ Testing the Basic Data Types in R

The type of data can be checked using some functions such as is.logical(), is.numeric(), is.list(), is.character(), is.vector() or is.complex() function.

R CommandShort Description
is.logical(x)Results in true for logical vectors
is.numeric(x)Results in true for numeric vectors
is.character(x)Results in true for character vectors
is.list(x)Results in true for lists
is.vector(x)Results in true for both lists and vectors
is.complex(x)Results in true for complex vectors

Checking/ Testing the Special Values

The type of special values can be checked using is.na(), is.nan(), is.finite(), is.ordered(), and is.factor() etc., functions

R CommandShort Description
is.na(x)Results in true for elements that are NA or NaN
is.nan(x)Results in true for elements that are NaN
is.null(x)Results in true whether $x$ is NULL
is.finite(x)Results in true for finite elements (e.g., not NA, NaN, Inf or -Inf)
is.infinite(x)Results in true for elements equal to Inf or -Inf
is.factor(x)Results in true for a factors and ordered factors
is.ordered(x)Results in true for ordered factors

Changing Basic Data Types in R

The Data Types in R can be changed by using functions such as, as.logical(), as.numeric(), as.list(), or as.numeric() etc., functions.

Type CoercionShort Description
as.logical(x)Coerces to a vector (However, lists remain lists)
as.numeric(x)Coerces a vector to a numeric vector
as.character(x)Coerces a vector to a character vector
as.list(x)Coerces a vector to a list
as.vector(x)Coerces to a vector (However, lists remains lists)
unlist(x)Converts a list to a vector
as.complex(x)Coerces to a vector (However, lists remain lists)

Basic Mathematical Operations

R can be used as a calculator. Mathematical operations such as addition, subtraction, multiplication, and division can also be performed.

Basic Math OperationShort Description
x + yPerform addition between the $x$ and $y$ vector
x – yPerform subtraction between the $x$ and $y$ vector
x * yPerform multiplication between the $x$ and $y$ vector
x / yPerform division between the $x$ and $y$ vector
x ^ yPerform exponentiation, “$x$ raised to power $y$”
x %% yComputes remainder, “$x$ modulo $y$”
x %/% yPerforms Integer division, “$x$ divided by $y$”, discard the fractional part

Rounding off the Numbers

The numbers or values of a variable can be rounded as desired.

R CommandShort Description
round(x)Round down the values of a variable to the next lowest integer
round(x, d)Round the values of a variable $x$ to the $d$ decimal places
signif(x, d)Round the values of a variable $x$ to $d$ significant digits
floor(x)Round down the values of a variable to next lowest integer
ceiling(x)Round up the values of a variable to the highest integer

Common Mathematical Functions

The commonly used mathematical functions in the R language are abs(), sqrt(), exp(), log(), and different bases of log functions.

R CommandShort Description
abs(x)Absolute values
sqrt(x)Computes the square root of the values of a variable
exp(x)Computes $e^x$
log(x)Computes the log values of the variable $x$
log10(x)Computes the log base 10 (common log) of the variable $x$
log2(x)Computes the log base 2 of the variable $x$
log(x, base=b)Computes the log base $b$ of the variable $x$

Trigonometric and Hyperbolic Functions

Following is the list of different trigonometric and Hyperbolic functions

Trigonometric FunctionsShort Description
sin(x), cos(x), tan(x)Computes the trigonometric values, sin, cos, and tan of a vector $x$
asin(x), acos(x), atan(x)Computes the inverse trigonometric values of a vector $x$
atan2(x, y)Computes arc tangent with two arguments
sinh(x), cosh(x), tanh(x)Computes hyperbolic values of a vector $x$
asinh(x), acosh(x), atanh(x)Computes the inverse hyperbolic values of a vector $x$

Special Mathematical Functions

The following is the list of special mathematical functions.

Mathematical FunctionsShort Description
beta(x, y)The beta function
lbeta(x, y)The log beta function
gamma(x)The gamma function
lgamma(x)The log gamma function
psigamma(x, deriv = 0)The psigamma function
digamma(x)The digamma function
trigamma(x)The trigamma function

R Frequently Asked Questions

MCQs in Statistics