Chapter 13. Beyond Basic Numerics and Statistics

This chapter presents a few advanced techniques such as those you might encounter in the first or second year of a graduate program in applied statistics.

Most of these recipes use functions available in the base distribution. Through add-on packages, R provides some of the world’s most advanced statistical techniques. This is because researchers in statistics now use R as their lingua franca, showcasing their newest work. Anyone looking for a cutting-edge statistical technique is urged to search CRAN and the web for possible implementations.

13.1 Minimizing or Maximizing a Single-Parameter Function

Problem

Given a single-parameter function f, you want to find the point at which f reaches its minimum or maximum.

Solution

To minimize a single-parameter function, use optimize. Specify the function to be minimized and the bounds for its domain (x):

optimize(f, lower = lowerBound, upper = upperBound)

If you instead want to maximize the function, specify maximum = TRUE:

optimize(f,
         lower = lowerBound,
         upper = upperBound,
         maximum = TRUE)

Discussion

The optimize function can handle functions of one argument. It requires upper and lower bounds for x that delimit the region to be searched. The following example finds the minimum of a polynomial, 3x4 – 2x3 + 3x2 – 4x + 5:

f <- function(x)
  3 * x ^ 4 - 2 * x ^ 3 + 3 * x ^ 2 - 4 * x + 5
optimize(f, lower = -20, upper = 20)
#> $minimum
#> [1] 0.597
#>
#> $objective
#> [1] 3.64

The returned ...

Get R Cookbook, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.