Code
library(tidyverse)
library(skimr)
library(knitr)
# ---- Load data -----------------------------------------------
# Replace the path below with your real CSV file once collected
df <- read.csv("./salad-sales-main-data.csv",
stringsAsFactors = FALSE)
df <- df |>
mutate(
date = as.Date(date),
promo_active = factor(promo_active, levels = c("NO", "YES")),
weather = factor(weather),
service_mode = factor(service_mode),
salad_type = factor(salad_type),
day_of_week = factor(day_of_week,
levels = c("Monday","Tuesday","Wednesday",
"Thursday","Friday","Saturday","Sunday")),
day_type = ifelse(day_of_week %in% c("Saturday","Sunday"),
"Weekend", "Weekday") |> factor(),
transaction_id = factor(transaction_id),
customer_rating = factor(customer_rating),
quantity = as.integer(quantity),
revenue_ngn = as.numeric(gsub("[^0-9.]", "", revenue_ngn)),
ingredient_cost_ngn = as.numeric(gsub("[^0-9.]", "", ingredient_cost_ngn)),
profit_ngn = revenue_ngn - ingredient_cost_ngn,
staff_on_duty = factor(staff_on_duty)
)
glimpse(df)Rows: 150
Columns: 16
$ S.N <int> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,…
$ transaction_id <fct> PK20180506CGS, PK20180506SF, PK20180506OVP, PK2024…
$ date <date> 2024-01-08, 2024-01-11, 2024-01-13, 2024-01-15, 2…
$ day_of_week <fct> Monday, Thursday, Saturday, Monday, Tuesday, Wedne…
$ day_type <fct> Weekday, Weekday, Weekend, Weekday, Weekday, Weekd…
$ salad_type <fct> Chicken Gourmet Salad, Seafood Salad, Oven Grille…
$ quantity <int> 20, 15, 20, 10, 28, 13, 26, 26, 12, 16, 27, 25, 24…
$ unit_price_ngn <chr> "10,000", "15,000", "20,000", "15,000", "10,000", …
$ revenue_ngn <dbl> 200000, 225000, 400000, 150000, 280000, 130000, 26…
$ service_mode <fct> Delivery, Delivery, Delivery, Delivery, Delivery, …
$ promo_active <fct> NO, NO, NO, YES, NO, NO, YES, NO, NO, NO, NO, YES,…
$ weather <fct> Sunny, Sunny, Sunny, Sunny, Sunny, Cloudy, Cloudy,…
$ staff_on_duty <fct> Mary, Mary, Ronke, Mary, Bola, Ada, Mary, Chinedu,…
$ customer_rating <fct> 4, 4, 4.5, 5, 4.5, 4.5, 5, 5, 4.5, 4, 4.5, 4.5, 4,…
$ ingredient_cost_ngn <dbl> 6500, 10500, 13500, 10500, 6500, 6500, 6500, 13500…
$ profit_ngn <dbl> 193500, 214500, 386500, 139500, 273500, 123500, 25…