Loved by learners at thousands of companies
Have you ever been wondering what the purrr description (“A functional programming toolkit for R”) refers to? Then, you’ve come to the right place! This course will walk you through the functional programming part of purrr - in other words, you will learn how to take full advantage of the flexibility offered by the .f in map(.x, .f) to iterate other lists, vectors and data.frame with a robust, clean, and easy to maintain code. During this course, you will learn how to write your own mappers (or lambda functions), and how to use predicates and adverbs. Finally, this new knowledge will be applied to a use case, so that you’ll be able to see how you can use this newly acquired knowledge on a concrete example of a simple nested list, how to extract, keep or discard elements, how to compose functions to manipulate and parse results from this list, how to integrate purrr workflow inside other functions, how to avoid copy and pasting with purrr functional tools.
Programming with purrrFree
Do lambda functions, mappers, and predicates sound scary to you? Fear no more! After refreshing your purrr memory, we will dive into functional programming 101, discover anonymous functions and predicates, and see how we can use them to clean and explore data.purrr basics - a refresher50 xpRefreshing your purrr memory100 xpAnother purrr refresher100 xpIntroduction to mappers50 xpCreating lambda functions100 xpLambda functions100 xpUsing mappers to clean up your data50 xpClean up your data with keep100 xpSplit up with keep() and discard()100 xpPredicates50 xpWhat is a predicate?50 xpExploring data with predicates100 xp
Functional programming: from theory to practice
Ready to go deeper with functional programming and purrr? In this chapter, we'll discover the concept of functional programming, explore error handling using including safely() and possibly(), and introduce the function compact() for cleaning your code.Functional programming in R50 xpEverything that happens is a function call50 xpIdentifying pure functions100 xpTools for functional programming in purrr50 xpSafe iterations100 xpCreate a function100 xpUsing possibly()50 xpA possibly() version of read_lines()100 xpEverything in one call100 xpHandling adverb results50 xpPurrrfecting our function100 xpExtracting status codes with GET()100 xp
Better code with purrr
In this chapter, we'll use purrr to write code that is clearer, cleaner, and easier to maintain. We'll learn how to write clean functions with compose() and negate(). We'll also use partial() to compose functions by "prefilling" arguments from existing functions. Lastly, we'll introduce list-columns, which are a convenient data structure that helps us write clean code using the Tidyverse.Why cleaner code?50 xpHow to write compose()50 xpBack to the office100 xpBuilding functions with compose() and negate()50 xpBuild a function100 xpCount the NA100 xpPrefilling functions50 xpA content extractor100 xpAnother extractor100 xpList columns50 xpAbout list-columns50 xpCreate a list-column data.frame100 xp
We'll wrap up everything we know about purrr in a case study. Here, we'll use purrr to analyze data that has been scraped from Twitter. We'll use clean code to organize the data and then we'll identify Twitter influencers from the 2018 RStudio conference.Discovering the dataset50 xpPlaying with tweets, round 1100 xpIdentify profiles100 xpExtracting information from the dataset50 xpCounting favorites100 xpExtracting mentions100 xpManipulating URLs50 xpAnalyzing URLs100 xpPlaying with URLs100 xpIdentifying influencers50 xpSplitting the dataset100 xpWe have a winner!100 xpCongratulations!50 xp
In the following tracksIntermediate Tidyverse Toolbox
PrerequisitesFoundations of Functional Programming with purrr
What do other learners have to say?
I've used other sites—Coursera, Udacity, things like that—but DataCamp's been the one that I've stuck with.
Devon Edwards Joseph
Lloyds Banking Group
DataCamp is the top resource I recommend for learning data science.
Harvard Business School
DataCamp is by far my favorite website to learn from.
Decision Science Analytics, USAA