Use lapply with additional arguments
In the video, the triple()
function was transformed to the multiply()
function to allow for a more generic approach. lapply()
provides a way to handle functions that require more than one argument, such as the multiply()
function:
multiply <- function(x, factor) {
x * factor
}
lapply(list(1,2,3), multiply, factor = 3)
On the right we've included a generic version of the select functions that you've coded earlier: select_el()
. It takes a vector as its first argument, and an index as its second argument. It returns the vector's element at the specified index.
This is a part of the course
“Intermediate R”
Exercise instructions
Use lapply()
twice to call select_el()
over all elements in split_low
: once with the index
equal to 1 and a second time with the index equal to 2. Assign the result to names
and years
, respectively.
Hands-on interactive exercise
Have a go at this exercise by completing this sample code.
# Definition of split_low
pioneers <- c("GAUSS:1777", "BAYES:1702", "PASCAL:1623", "PEARSON:1857")
split <- strsplit(pioneers, split = ":")
split_low <- lapply(split, tolower)
# Generic select function
select_el <- function(x, index) {
x[index]
}
# Use lapply() twice on split_low: names and years