Open In App

Compute Derivative of an Expression in R Programming – deriv() and D() Function

Improve
Improve
Like Article
Like
Save
Share
Report

In R programming, derivative of a function can be computed using deriv() and D() function. It is used to compute derivatives of simple expressions.

Syntax:
deriv(expr, name)
D(expr, name)

Parameters:
expr: represents an expression or a formula with no LHS
name: represents character vector to which derivatives will be computed

Example 1:




# Expression or formula
f = expression(x^2 + 5*x + 1)
  
# Derivative
cat("Using deriv() function:\n")
print(deriv(f, "x"))
  
cat("\nUsing D() function:\n")
print(D(f, 'x'))


Output:

Using deriv() function:
expression({
    .value <- x^2 + 5 * x + 1
    .grad <- array(0, c(length(.value), 1L), list(NULL, c("x")))
    .grad[, "x"] <- 2 * x + 5
    attr(.value, "gradient") <- .grad
    .value
})

Using D() function:
2 * x + 5

Example 2:




# Little harder derivative
  
# Using deriv() Function
cat("Using deriv() function:\n")
print(deriv(quote(sinpi(x^2)), "x"))
  
# Using D() Function
cat("\nUsing D() function:\n")
print(D(quote(sinpi(x^2)), "x"))


Output:

Using deriv() function:
expression({
    .expr1 <- x^2
    .value <- sinpi(.expr1)
    .grad <- array(0, c(length(.value), 1L), list(NULL, c("x")))
    .grad[, "x"] <- cospi(.expr1) * (pi * (2 * x))
    attr(.value, "gradient") <- .grad
    .value
})

Using D() function:
cospi(x^2) * (pi * (2 * x))

Last Updated : 30 Jun, 2020
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads