2022 Hanukkah of Data • Puzzle 2

Ref: https://rud.is/b/2022/12/19/2022-hanukkah-of-data-puzzle-1/

library(tidyverse)

cust <- read_csv("~/Downloads/noahs-csv/noahs-customers.csv")
orders_items <- read_csv("~/Downloads/noahs-csv/noahs-orders_items.csv")
orders <- read_csv("~/Downloads/noahs-csv/noahs-orders.csv")
products <- read_csv("~/Downloads/noahs-csv/noahs-products.csv")

orders_items |> 
  left_join(products) -> oip

orders |> 
  left_join(oip) -> orders

orders |> 
  filter(
    2017 == lubridate::year(ordered),
    grepl("cleaner|bagel", desc, ignore.case=TRUE)
  ) |> 
  group_by(customerid, orderid) |> 
  summarise(
    ord = paste0(desc, collapse="; "),
    n = n()
  ) |> 
  arrange(desc(n)) # look for bagel + rug cleaner

cust |> 
  filter(customerid == '####') |> 
  select(phone)
Cover image from Data-Driven Security
Amazon Author Page

1 Comment 2022 Hanukkah of Data • Puzzle 2

  1. Uden

    nice concise solution! i needed some more lines of code :)

    i used a filter on the customer names on the value of the initials “JD” and joined these filtered customers to the orders. That results in the answer ‘jumping in your face’.

    Reply

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.