Functional programming with R and Tidyverse - Try 20200222

In an attempt to get more comfortable with tidyverse
and functional programming, here is a quick post to demonstrated the much sleeker and explainable code using these concepts.
This post is motivated by this awesome talk by Hadley Wickham: https://www.youtube.com/watch?v=bzUmK0Y07ck&feature=emb_title
library(tidyverse)
library(quantmod)
## Obtain symbol data
getSymbols(ticker, from="2010-01-01")
# apply functional programming concepts
# credit: https://speakerdeck.com/hadley/the-joy-of-functional-programming?slide=9
# credit: https://github.com/hadley/joy-of-fp
tickers <- c("FB", "AMZN", "AAPL", "NFLX", "GOOG", "SPY")
# get the data
map(tickers, ~ assign(.x, getSymbols(.x, env=.GlobalEnv)))
# this also works
# walk(tickers, ~ assign(.x, getSymbols(.x, env=.GlobalEnv)))
# plot all the charts
map(tickers, ~ plot(Cl(get(.x)), type = "l", main = .x)
# merge the data
stocks <- map(tickers, ~ Cl(get(.x)) %>% set_names(.x))
stocks <- do.call('cbind', stocks)
head(stocks)
plot.zoo(stocks, main = "All stocks")