Імпорт даних
campaigns <- read.csv("data/campaigns.csv")
## Warning in read.table(file = file, header = header, sep = sep, quote = quote, :
## incomplete final line found by readTableHeader on 'data/campaigns.csv'
print(campaigns)
## campaign_id campaign_name client_id start_date budget platform
## 1 1 Summer Sale 1 2025-06-01 10000 Facebook
## 2 2 Black Friday 2 2025-11-20 20000 Instagram
## 3 3 Holiday Promo 3 2025-12-15 15000 Google Ads
Аналіз даних
set.seed(123)
campaigns <- data.frame(
campaign_id = 1:10,
campaign_name = c("Summer Sale", "Black Friday", "Holiday Promo", "New Year Blast", "Spring Discount", "Tech Launch", "Healthcare Awareness", "Retail Rush", "B2B Growth", "Global Reach"),
client_id = 1:10,
start_date = sample(seq(as.Date("2025-01-02"), as.Date("2025-07-01"), by = "day"), 10),
budget = sample(seq(1000, 50000, by = 500), 10, replace = TRUE),
platform = sample(c("Facebook", "Instagram", "Google Ads", "LinkedIn"), 10, replace = TRUE)
)
for (i in 1:nrow(campaigns)) {
if (campaigns$campaign_name[i] == "New Year Blast") {
campaigns$start_date[i] <- sample(seq(as.Date("2025-01-01"), as.Date("2025-01-31"), by = "day"), 1)
} else if (campaigns$campaign_name[i] == "Holiday Promo") {
campaigns$start_date[i] <- sample(seq(as.Date("2025-01-01"), as.Date("2025-01-31"), by = "day"), 1)
} else if (campaigns$campaign_name[i] == "Spring Discount") {
campaigns$start_date[i] <- sample(seq(as.Date("2025-03-01"), as.Date("2025-03-31"), by = "day"), 1)
} else if (campaigns$campaign_name[i] == "Summer Sale") {
campaigns$start_date[i] <- sample(seq(as.Date("2025-06-01"), as.Date("2025-07-31"), by = "day"), 1)
}
}
campaigns$end_date <- campaigns$start_date + sample(20:30, 10, replace = TRUE)
print(campaigns)
## campaign_id campaign_name client_id start_date budget platform
## 1 1 Summer Sale 1 2025-07-09 45500 Instagram
## 2 2 Black Friday 2 2025-06-29 46000 Google Ads
## 3 3 Holiday Promo 3 2025-01-21 35000 Instagram
## 4 4 New Year Blast 4 2025-01-12 46000 Facebook
## 5 5 Spring Discount 5 2025-03-15 29000 Instagram
## 6 6 Tech Launch 6 2025-04-29 46500 Google Ads
## 7 7 Healthcare Awareness 7 2025-02-13 5000 LinkedIn
## 8 8 Retail Rush 8 2025-06-30 47000 Instagram
## 9 9 B2B Growth 9 2025-06-26 50000 Facebook
## 10 10 Global Reach 10 2025-06-03 36500 Google Ads
## end_date
## 1 2025-08-07
## 2 2025-07-25
## 3 2025-02-18
## 4 2025-02-09
## 5 2025-04-13
## 6 2025-05-25
## 7 2025-03-15
## 8 2025-07-24
## 9 2025-07-22
## 10 2025-06-27
head(campaigns)
## campaign_id campaign_name client_id start_date budget platform end_date
## 1 1 Summer Sale 1 2025-07-09 45500 Instagram 2025-08-07
## 2 2 Black Friday 2 2025-06-29 46000 Google Ads 2025-07-25
## 3 3 Holiday Promo 3 2025-01-21 35000 Instagram 2025-02-18
## 4 4 New Year Blast 4 2025-01-12 46000 Facebook 2025-02-09
## 5 5 Spring Discount 5 2025-03-15 29000 Instagram 2025-04-13
## 6 6 Tech Launch 6 2025-04-29 46500 Google Ads 2025-05-25