Want to share your content on R-bloggers? click here if you have a blog, or here if you don't. `mapply()` works with multivariate arrays, and applys a function to a set of vector or list arguments. `mapply()` also simplifies the output.

Structure of the `mapply()` function:
`mapply(FUN, ..., MoreArgs = NULL, SIMPLIFY = TRUE, USE.NAMES = TRUE)`

Answers to the exercises are available here.

Exercise 1
Beginning level

Required dataframe:
```PersonnelData <- data.frame(Representative=c(1:4), Sales=c(95,110,115,90), Territory=c(1:4))```

Using `mapply()`, find the classes of `PersonnelData`‘s columns.

Exercise 2
Beginning level

Print “`PersonnelData`” with the `mapply()` function.

Exercise 3
Beginning level

Use `mapply()` to inspect “`PersonnelData`” for numeric values.

Exercise 4
Intermediate level

Use `mapply()` to sum the vectors “`5:10`” and “`20:25`“.

Exercise 5
Intermediate level

Use `mapply()` to paste the vector “`1:4`” and “`5:8`“, with the separator “`LETTERS[1:4]`“.

Learn more about mapply, and the entire family of apply() functions in the online course Learn R by Intensive Practice. In this course you will learn how to:

• Do any sort of manipulation with datasets
• Create and master the manipulation of vectors, lists, dataframes, and matrices
• Confidently write apply() functions and design any logic within the apply function.
• Melt, reshape, aggregate, and make pivot tables from dataframes
• And much more

Exercise 6
Intermediate level

Use `mapply()` to paste “`PersonnelData\$Representative`“, “`PersonnelData\$Sales`“, and “`PersonnelData\$Territory`“, with the
`MoreArgs=`” argument of “`list(sep="-")`“.

Exercise 7

Required variable:
`NewSales <- data.frame(Representative=c(1:4), Sales=c(104, 97, 112, 94), Territory=c(1:4))`

Sum the corresponding elements of `PersonnelData\$Sales` and `NewSales\$Sales`.

Exercise 8

Required function:
`merge.function <- function(x,y){return(x+y)}`

Use `merge.function` to combine the `Sales` totals from `PersonnelData` and `NewSales`.

Exercise 9

`mcmapply` is a parallelized version of `mapply`.

The structure of `mcmapply()` is:
`mcmapply(FUN, ..., MoreArgs = NULL, SIMPLIFY = TRUE, USE.NAMES = TRUE, mc.preschedule = TRUE, mc.set.seed = TRUE, mc.silent = FALSE, mc.cores = getOption("mc.cores", 2L), mc.cleanup = TRUE)`

Required library:
`library(parallel)`

Use `mcmapply()` to generate 5 lists of `1:5` random numbers.

Exercise 10
Using `mcmapply()`, create a 10 by 10 matrix with 10 rows of the sequence `1:10`: