Vector Arithmetic in R: Made Easy 2024

The post is about vector arithmetic in R Language. In R, different mathematical operations can be performed on vectors, that is vectors can be used in arithmetic expressions. The vector arithmetic operations are performed element by element.

It is important to note that vectors occurring in the same mathematical expression need not be of the same length (size). The shorter vectors in the arithmetic expression are recycled until they match the length of the longest vector.

Vector Arithmetic Operations

The vector arithmetic operations can be performed using arithmetic operators and vector functions. The +, -, *, /, and ^ are elementary arithmetic operators. The arithmetic functions are also available, such as, log, exp, sin, cos, tan, sqrt, and so on. The max() and min() functions returns the largest and smallest elements of a vector, respectively. Similarly, the range() function results in a vector of length two having minimum and maximum values from the vector, that is, c(min(x), max(x)).

The length(x) function returns the number of elements (size or number of observations) in a vector say $x$, sum(x) gives the total (sum) of the elements in vector $x$, and prod(x) returns the product of elements.

Instead of performing simple arithmetics (+, -, *, and /), we will use some functions for arithmetic that can be performed on a vector.

Vector Arithmetic in R: Examples

The basic vector arithmetic in R can be performed just like adding numbers on a calculator.

x <- c(1, 2, 3, 4, 5)
y <- c(4, 5, 6, 7, 8)

# Addition
x + y

# Subtraction
x - y

# Multiplication
x * y

# Division
x / y

# Exponentiation
x ^ y

One can compute the average (mean value) of a vector by performing arithmetics on a vector, such as

x <- c(5, 10, 5, 3, 5, 6, 7, 8, 4, 3, 10)
sum(x)/ length(x)

## Output
6

The built-in function for the computation of the average value of a vector is mean(), that is mean(x).

mean(x)

## output
6

The variance can also be computed by performing arithmetics on a vector say $x$.

sum((x - mean(x))^2)/ (length(x)-1)

## Output
6.2
Vector Arithmetic in R Language

The built-in function for sample variance is var(x). Note that if the argument var() is a $n$-by-$p$ matrix, a $p$-by-$p$ matrix of the sample covariance matrix will return.

var(x)

## Output
6.2

The sort(x) function returns a vector of the same size as $x$ with the elements arranged in increasing order.

sort(x)

## Output
[1]  3  3  4  5  5  5  6  7  8 10 10

The min() and max() functions are used to select the smallest and largest values from the argument, even if the argument contains several vectors.

In summary, Vector arithmetic is a fundamental aspect of R programming, enabling efficient and concise mathematical operations on sequences of elements. By understanding the basic operations, vector recycling, and available functions, you can effectively leverage vectors to solve a wide range of problems in data analysis and scientific computing.

https://rfaqs.com vector arithme5ics

https://itfeature.com, https://gmstat.com

Best MCQs Graph Plotting in R 17

The post is about MCQs Graph Plotting in R Language. There are 20 multiple-choice questions. The quiz covers the topics related to graphics devices in R Language, base and lattice graphics systems in R, the ggplot2 function, and parameters of different plot functions. Let us start with MCQs Graph Plotting in R Language.

The quiz is about Graphing and Plotting in R Language

1. Which of the following is the example of a vector graphics device in R?

 
 
 
 

2. Which of the following is a basic workhorse function of ggplot2?

 
 
 
 

3. What does the ‘pch’ option to par() control?

 
 
 
 

4. Bitmapped file formats can be most useful for

 
 
 
 

5. What does the gg in ggplot2 stand for?

 
 
 
 

6. In the lattice system, which of the following functions can be used to finely control the appearance of all lattice plots?

 
 
 
 

7. If I want to save a plot to a PDF file, which of the following is the correct way of doing that

 
 
 
 

8. Which function opens the screen graphics device on Windows?

 
 
 
 

9. What is a geom in the ggplot2 system?

 
 
 
 

10. Which of the following is an example of a valid graphics device in R?

 
 
 
 

11. What is ggplot2 an implementation of?

 
 
 
 

12. Which function opens the screen graphics device for the Mac?

 
 
 
 

13. Under the lattice graphics system, what do the primary plotting functions like xyplot() and bwplot() return?

 
 
 
 

14. Which of the following functions is typically used to add elements to a plot in the base graphics system?

 
 
 
 

15. The following code does NOT result in a plot appearing on the screen device.

library(lattice)
library(datasets)
data(airquality)
p <- xyplot(Ozone ~ Wind | factor(Month), data = airquality)

Which of the following is an explanation for why no plot appears?

 
 
 
 

16. When I run the following code I get an error:

I was expecting a scatterplot of ‘votes’ and ‘rating’ to appear. What’s the problem?

 
 
 
 

17. Transparency is determined by which parameter of the rgb function?

 
 
 
 

18. Which types of the plot does qplot plot?

 
 
 
 

19. Which of the following is an R package that provides color palettes for sequential, categorical, and diverging data?

 
 
 
 

20. The following code creates a scatterplot of ‘votes’ and ‘rating’ from the movies dataset in the ggplot2 package. After loading the ggplot2 package with the library() function, I can run

qplot(votes, rating, data = movies)

How can I modify the code above to add a smoother to the scatterplot?

 
 
 
 

MCQs Graph Plotting in R

  • Which of the following is an example of a valid graphics device in R?
  • Which of the following is the example of a vector graphics device in R?
  • Bitmapped file formats can be most useful for
  • Which of the following functions is typically used to add elements to a plot in the base graphics system?
  • Which function opens the screen graphics device on Windows?
  • What does the ‘pch’ option to par() control?
  • If I want to save a plot to a PDF file, which of the following is the correct way of doing that
  • Which function opens the screen graphics device for the Mac?
  • What does the gg in ggplot2 stand for?
  • Under the lattice graphics system, what do the primary plotting functions like xyplot() and bwplot() return?
  • Which of the following is a basic workhorse function of ggplot2?
  • Which types of the plot does qplot plot?
  • Transparency is determined by which parameter of the rgb function?
  • Which of the following is an R package that provides color palettes for sequential, categorical, and diverging data?
  • The following code does NOT result in a plot appearing on the screen device.
    library(lattice)
    library(datasets)
    data(airquality)
    p <- xyplot(Ozone ~ Wind | factor(Month), data = airquality)
    Which of the following is an explanation for why no plot appears?
  • In the lattice system, which of the following functions can be used to finely control the appearance of all lattice plots?
  • What is ggplot2 an implementation of?
  • What is a geom in the ggplot2 system?
  • When I run the following code I get an error: I was expecting a scatterplot of ‘votes’ and ‘rating’ to appear. What’s the problem?
  • The following code creates a scatterplot of ‘votes’ and ‘rating’ from the movies dataset in the ggplot2 package. After loading the ggplot2 package with the library() function, I can run qplot(votes, rating, data = movies)
    How can I modify the code above to add a smoother to the scatterplot?
Learn R Language and FAQS, MCQs Graph plotting in R

https://itfeature.com, https://gmstat.com

Matrix Multiplication in R: A Quick Tutorial

Introduction Matrix Multiplication in R

Matrix multiplication is a fundamental operation in linear algebra, and R provides efficient functions. The matrix multiplication in R can be done easily. For this purpose, the %*% operator is used for general matrix multiplication. An $n\times 1$ or $1 \times n$ vector (also called matrix) may be used as an $ n$ vector. In other words, vectors that occur in matrix multiplication expressions are automatically promoted to row (or column) vectors, whichever is multiplicatively coherent, if possible.

Scalar Multiplication

The * operator may be used for multiplying a matrix by a scalar quantity. The scalar value is multiplied by each element of the matrix.

m <- matrix(1:9, nrow = 3)
m <- 2 * m
m
Matrix Multiplication in R

From the above output, it can be seen that each element of the original matrix is multiplied by 2.

Element-wise Multiplication

If $A$ and $B$ are two square matrices of the same size, then the element-wise multiplication between matrices $A$ and $B$ can be performed using the * operator. In element-wise multiplication of the matrices, the corresponding elements of both matrices will be multiplied (provided that the matrices have the same dimension).

A <- matrix(1:9, nrow = 3)
A
## Ouput
     [,1] [,2] [,3]
[1,]    1    4    7
[2,]    2    5    8
[3,]    3    6    9

B <- matrix(10:18, nrow = 3)
B

## Output
     [,1] [,2] [,3]
[1,]   10   13   16
[2,]   11   14   17
[3,]   12   15   18

A * B

## Output
     [,1] [,2] [,3]
[1,]   10   52  112
[2,]   22   70  136
[3,]   36   90  162

Matrix Multiplication in R

The matrix multiplication in R can be done easily. The general multiplication of matrices (matrix product) can be performed using the %*% operator. The matrix multiplication must satisfy the condition that the number of columns in the first matrix is equal to the number of rows in the second matrix. Suppose, if matrix $A$ has $m$ rows and $n$ columns and matrix $B$ has $n$ rows and $x$ columns, then the multiplication of these matrices will result in with dimension of $n times x$. Consider the following example of matrix multiplication in R language.

A <- matrix(1:9, nrow = 3)
B <- matrix(10:18, nrow = 3)

A %*% B
Matrix multiplication in R Language

Note the difference in output between A*B and A%*%B.

Suppose, $x$ is a vector, then the quadratic form of the matrices is

x <- c(5, 6, 7)
A <- matrix(1:9, nrow = 3)
x %% A %% x

## Output
     [,1]
[1,] 1764

Splitting the above multiplication procedure, one can easily understand how the matrices and vectors are multiplied.

x%*%A
## Output
[,1] [,2] [,3]
[1,]   38   92  146

x%*%A%*%x
## Output
     [,1]
[1,] 1764

The crossprod() in R

The function crossprod() forms “crossproducts” meaning that crossprod(X, y) is the same as t(X) %*% y. The crossprod() operation is more efficient than the t(X) %*%y.

crossprod(x, A)
     [,1] [,2] [,3]
[1,]   38   92  146

The cross product of $x$, $A$, the` (crossprod(x, A)) is equivalent to x%*%A, and crossprod(x%*%A, x) is equivalent to x%*%A%*%x.

Multiplication of Large Matrices

For larger matrices, the Matrix package may be used for optimized performance. The Matrix package also helps for working with sparse matrices or matrices with special structures.

Some Important Points about Matrices

  • Be careful about matrix dimensions to avoid errors.
  • Be careful about the use of operators * and %*%.
  • Be careful about the order of the matrices during multiplication (A%*%B, or B%*%A).
  • Explore other matrix operations like addition, subtraction, and transposition using R functions.
  • The dim() function helps identify the dimensions of a matrix.
  • For larger matrices, consider using the solve() function for matrix inversion or the eigen() function for eigenvalue decomposition.
Frequently Asked Questions About R

https://itfeature.com

https://gmstat.com