instead of plyr package, you can use the more modern dplyr, and tidyr sub packages via tidyverse
library(tidyverse)
use the following replacement
# data <- daply(data, .(product, date), summarize, sum(amount))
data <- group_by(data,
product,date) |>
summarise(amount=sum(amount)) |>
pivot_wider(names_from="date",
values_from="amount")
# data <- cbind(product = rownames(data), data)