# Size Estimates by Name (Making Choices)

This is a follow up to Use and Modify.

To make it even easier to work with your dinosaur size estimation functions you decide to create a function that lets you specify which dinosaur group you need to estimate the size of by name and then have the function automatically choose the right parameters.

Remember the general form of the equation is:

mass <- a * length ^ b

Create a new function `get_mass_from_length_by_name()`

that takes two arguments,
the `length`

and the name of the dinosaur group. Inside this function use
`if`

/`else if`

/`else`

statements to check to see if the name is one of the
following values and if so use the associated `a`

and `b`

values to estimate the
species mass using these equations:

*Stegosauria*:`mass = 10.95 * length ^ 2.64`

(Seebacher 2001)*Theropoda*:`mass = 0.73 * length ^ 3.63`

(Seebacher 2001)*Sauropoda*:`mass = 214.44 * length ^ 1.46`

(Seebacher 2001)

If the name is not any of these values the function should return `NA`

.

Run the function for:

- A
*Stegosauria*that is 10 meters long. - A
*Theropoda*that is 8 meters long. - A
*Sauropoda*that is 12 meters long. - A
*Ankylosauria*that is 13 meters long.

*Challenge ( optional)*: If the name is not one of values that have

`a`

and
`b`

values print out a message that it doesn’t know how to convert that group that includes that groups name in a message like “No known estimation for Ankylosauria”. (the function `paste()`

will be helpful here). Doing this successfully will modify your answer to (4), which is fine.*Challenge ( optional)*: Change your function so that it uses two different
values of

`a`

and `b`

for *Stegosauria*. When

*Stegosauria*is greater than 8 meters long use the equation above. When it is less than 8 meters long use

`a`

=
`8.5`

and `b`

= `2.8`

. Run the function for a *Stegosauria*that is 6 meters long.

*Challenge ( optional)*: Rewrite your function so that instead of calculating mass directly it sets the values of

`a`

and `b`

to the values for the species (or to `NA`

if the species doesn’t have an equation) and then calls another function to do the basic `mass`

= `a`

* `length`

^ `b`

calculation.*Expected outputs for Size Estimates by Name:*

*1*