With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

No credit card required

Introduction

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.5972778

\$objective
[1] 3.636756```

The returned value is a list with two elements: ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

No credit card required