## Show answer

```
`+`
?
# also
"+" ?
```

Because we work with functions all the time, it’s important to know certain details about how to use them, their required input(s), and their returned output.

So how do you find all this information technically known as a function’s **documentation**? There are several ways to access this type of information.

`help()`

If you know the name of a function you are interested in knowing more about, you can use the function `help()`

and pass it the name of the function you are looking for. Here’s an example to obtain the documentation of the absolute value function `abs()`

```
# documentation about the 'abs' function
help(abs)
# equivalent command
help("abs")
```

When using `help()`

, notice that the name of the input function can be written with or without quotes.

Here’s an another simple example in which we use `help()`

to obtain the documentation of the function `mean()`

:

```
# documentation about the 'mean' function
help(mean)
```

`?`

Alternatively, instead of utilizing `help()`

, you can also use the question mark `?`

followed by the name of the function, like in the following example:

```
# documentation about the 'abs' function
?abs
# documentation about the 'mean' function
?mean
```

`help.search()`

`help()`

and `?`

only work if you know the name of the function your are looking for. Sometimes, however, you don’t know the name of the function but you may know some keyword(s). To look for related functions associated to a keyword, use `help.search()`

or simply type double question marks `??`

```
# search for 'absolute'
help.search("absolute")
# alternatively you can also search like this:
??absolute
```

Notice the use of quotes surrounding the input name inside `help.search()`

Often overlooked by beginners but extremely helpful is to understand the anatomy of the information displayed in the technical documentation. The content is typically organized into seven sections listed below (although sometimes there may be less or more sections)

- Title
- Description
- Usage of function
- Arguments
- Details
- See Also
- Examples

The three screenshots below show the “Help” or technical documentation of the `log()`

function. This information is in RStudio’s `Help`

tab, located in the pane that contains other tabs such as `Files`

, `Plots`

, `Packages`

.

**Name**: In first place we have the name of the function as well as the name of the package it is part of. In the above screenshot, the name of the function is `log`

and its associated package is the `"base"`

package.

**Title**: Then we have the title of the documentation, e.g. *Logarithms and Exponentials*.

**Description**: Below the title comes the *Description*, which is basically one or more paragraphs with text about the function does.

Notice there are several functions that are part of this example. In addition to `log()`

, there is also `logb()`

, `log10()`

, `log2()`

, `log1p()`

, `exp()`

, and `expm1()`

.

**Usage**: The fourth component thas to do with the *Usage* section, which shows basic syntax for how to call or invoke any of the listed functions.

**Arguments**: The next element is the arguments of the function, one of the most fundamental parts of any function’s documentation. Simply put, this is the list of inputs that the function uses.

**Details**: An optional section is the *Details*. Keep in mind that not every function’s documentation includes this part. As the name indicates, it is there to provide additional information and details about the arguments, the output, the involved computations, and things like that.

**Value**: This element describes the output returned by the function.

**Source**: Another optional section is the *Source* which contains information about where the source code is based, or the source for the formulas behind the function’s code.

**References**: This is another optional part of a function’s documentation, listing important bibliographic references for the interested user.

**See Also**: This is yet another optional section and it lists one or more related functions.

**Examples**: Finally, the last section contains examples of how to invoke the function. This can be extremely helpful, especially in cases when it is the first time you have to use the function and you are not sure how to invoke it.

**1)** Refer to the help documentation of `mean()`

function, e.g. `help(mean)`

. Scroll down to the **Examples** section:

Click on the link

**Run examples**Copy-paste the sample commands in R’s console to see what happens.

**2)** Find out how to look for information about math binary operators like `+`

or `^`

(without using `?Arithmetic`

). *Tip*: quotes are your friend.

```
`+`
?
# also
"+" ?
```

**3)** Like in the previous exercise, use quotes or backticks to get the documentation of the **value matching** operator `%in%`

.

``%in%` ?`

**4)** Use the function `help.search()`

to obtain a list of suggested functions about `"linear model"`

`help.search("linear model")`