Harrison Bowers
Harrison Bowers

Reputation: 33

understanding the output of a function

Trying to understand how the value of "traded" is 34

available <- c(10,4,7,10,12)
desired <- c(12,5,2,6,14)
traded <- sum(mapply(function(x,y) min(x,y), available, desired))

Correct value for traded is 34. Just not sure why this is the case. I thought the value would be 6 as the minimum values from each vector (4 and 2) summed together =6

Upvotes: 1

Views: 44

Answers (1)

lmml
lmml

Reputation: 79


This is answered in the comments, but I wanted to add this breakdown since it helps me to visualize each step.

  1. mapply(function(x,y) min(x,y)): Maps min(x,y) to each item in vectors x and y , so the function is doing this:

    min(10,12)
    
    min(4,5)
    
    min(7,2)
    
    min(10,6)
    
    min(12,14)
    

    and outputs = (10, 4, 2, 6, 12)

  1. sum(mapply(...)): Which "sees" the output above and computes 10+4+2+6+12 = 34

Upvotes: 2

Related Questions