R solve() is a generic function that solves the linear algebraic equation a %*% x = b
for x
, where b
can be either a vector or a matrix. For example 10 * x = 20, in this equation, 10 is the coefficient; 20 is a constant and solve() calculates x which is 2.
1. Quick Examples of solve() Function in R
Following are quick examples of solve() function that solves the different equations.
# calculate x using solve()
solve(10, 20)
solve(3, 6)
solve(4, 20)
# with two variables
a <- matrix(c(3,1,4,1),nrow=2,ncol=2)
b <- matrix(c(10,4),nrow=2,ncol=1)
print(a)
print(b)
res <- solve(a,b)
print(res)
# with matrix
a <- c(2, 1)
b <- c(5, 3)
xyz <- rbind(a, b)
print(xyz)
solve(xyz)
# with 4x4 matrix
a <- c(2, 1, 3, 3)
b <- c(5, 3, 5, 4)
c <- c(6, 5, 9, 6)
d <- c(1, 3, 2, 2)
xyz <- rbind(a, b, c, d)
print(xyz)
res <- solve(a=xyz)
print(res)
2. solve() Syntax
Below is the syntax of the solve() equation function.
# Syntax of solve()
solve(a, b, …)
The following are the parameters.
a
– A square numeric or complex matrix. It is the coefficients of the equation.b
– A numeric or complex vector or matrix of the equation. It is optional....
– Further arguments passed to or from other methods.
3. R solve() Equation Example
By using solve() function in R you can solve algebraic equations like a %x% = b. The solve() function takes arguments a and b as arguments and calculates x. Also, use this function to calculate complex equations like finding the value for x and y. Let’s see the first example which finds the value of x.
# One variable example
# 10x = 20
# What is the x?
solve(10, 20)
# Output
# [1] 2
Below are some more examples.
4. R solve() with Matrix
solve() also takes a matrix as an argument for param a. Let’s create two vectors using combine function c(). and using rbind() function let’s bind these into a matrix. The below example demonstrates finding values for two variables x and y.
# Two variable example
# 3x + 4y = 10
# x + y = 4
# What is x and y?
# Example
a <- matrix(c(3,1,4,1),nrow=2,ncol=2)
b <- matrix(c(10,4),nrow=2,ncol=1)
print(a)
print(b)
res <- solve(a,b)
print(res)
# x value is -6
# y value is 4
Yields below output. The row and column names of the equation result are taken from the column names of a
and of b
respectively. If b
is missing the column names of the result are the row names of a
.
5. Using Just Param a and default b
Let’s pass the one param a to the R solve() function and leave the b as default.
# solve() with matrix
a <- c(2, 1)
b <- c(5, 3)
xyz <- rbind(a, b)
print(xyz)
solve(xyz)
Yields below output.
Let’s check another example with 4 x 4 matrix.
# with 4x4 matrix
a <- c(2, 1, 3, 3)
b <- c(5, 3, 5, 4)
c <- c(6, 5, 9, 6)
d <- c(1, 3, 2, 2)
xyz <- rbind(a, b, c, d)
print(xyz)
res <- solve(b=xyz)
print(res)
Yields below output.
6. Conclusion
In this article, you have learned R solve() is a generic function that solves the linear algebraic equation a %*% x = b
for x
, For example 10 * x = 20, in this equation, 10 is the coefficient; 20 is a constant and solve() calculates x which is 2.
Related Articles
- R lm() Function
- For Loop in R – With Examples
- Pipe in R with Examples
- Dates and Times in R with Examples
- outer() Function in R with Examples
- R Group by Mean With Examples
- R Group by Sum With Examples
- Sort Table in R with Examples