Лабораторна робота №1

Імпорт даних

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