library(ggplot2)
library(dplyr)
library(tidyr)

# 1. Read the 'Growing Trends' CSV
#    (Adjust skip=10 if line 11 is your header row, or skip=9 if line 10 is your header.)
df_growing <- read.csv(
  "Pinterest_Trends_Data.csv",
  skip = 10,                # or 9, depending on the file
  stringsAsFactors = FALSE,
  header = TRUE,
  row.names = NULL,
  check.names = FALSE,
  fill = TRUE,
  comment.char = ""
)

cat("GROWING TRENDS - Column names:\n")
## GROWING TRENDS - Column names:
print(names(df_growing))
##  [1] "Rank"           "Trend"          "Weekly change"  "Monthly change"
##  [5] "Yearly change"  "2024-12-16"     "2024-12-23"     "2024-12-30"    
##  [9] "2025-01-06"     "2025-01-13"     "2025-01-20"     "2025-01-27"    
## [13] "2025-02-03"     "2025-02-10"     "2025-02-17"     "2025-02-24"    
## [17] "2025-03-03"     "2025-03-10"     "2025-03-17"     "2025-03-24"    
## [21] "2025-03-31"     "2025-04-07"     "2025-04-14"     "2025-04-21"    
## [25] "2025-04-28"     "2025-05-05"     "2025-05-12"     "2025-05-19"    
## [29] "2025-05-26"     "2025-06-02"     "2025-06-09"
# Convert Weekly/Monthly/Yearly change to numeric if desired
for (col in c("Weekly change", "Monthly change", "Yearly change")) {
  if (col %in% names(df_growing)) {
    df_growing[[col]] <- gsub(",", "", df_growing[[col]])  # remove commas
    df_growing[[col]] <- gsub("%", "", df_growing[[col]])  # remove '%'
    df_growing[[col]] <- as.numeric(df_growing[[col]])
  }
}

# Quick preview
head(df_growing)
##   Rank                Trend Weekly change Monthly change Yearly change
## 1    1         spring nails            20            900             0
## 2    2 future wedding plans            30            100          7000
## 3    3   home aesthetic diy            40            100            NA
## 4    4    winter hair braid            40             30            NA
## 5    5  date planning inspo            50             20            NA
## 6    6   cherry nails inspo            40             20            NA
##   2024-12-16 2024-12-23 2024-12-30 2025-01-06 2025-01-13 2025-01-20 2025-01-27
## 1          1          1          1          2          2          4          7
## 2         13         16         45         51         37         38         63
## 3         11          7         36         50         36         36         61
## 4         34         60         50         48         33         36         59
## 5         53         56         70         45         30         37         57
## 6         51         61         50         48         33         34         59
##   2025-02-03 2025-02-10 2025-02-17 2025-02-24 2025-03-03 2025-03-10 2025-03-17
## 1         14         22         39         48         55         66         71
## 2         74        100         NA         NA         NA         NA         NA
## 3         72        100         NA         NA         NA         NA         NA
## 4         70        100         NA         NA         NA         NA         NA
## 5         69        100         NA         NA         NA         NA         NA
## 6         70        100         NA         NA         NA         NA         NA
##   2025-03-24 2025-03-31 2025-04-07 2025-04-14 2025-04-21 2025-04-28 2025-05-05
## 1         58         46         35         29         25         21         18
## 2         NA         NA         NA         NA         NA         NA         NA
## 3         NA         NA         NA         NA         NA         NA         NA
## 4         NA         NA         NA         NA         NA         NA         NA
## 5         NA         NA         NA         NA         NA         NA         NA
## 6         NA         NA         NA         NA         NA         NA         NA
##   2025-05-12 2025-05-19 2025-05-26 2025-06-02 2025-06-09
## 1         12          7          4         NA         NA
## 2         NA         NA         NA         NA         NA
## 3         NA         NA         NA         NA         NA
## 4         NA         NA         NA         NA         NA
## 5         NA         NA         NA         NA         NA
## 6         NA         NA         NA         NA         NA
# Example: Plot "Yearly change" by "Trend" for the Growing Trends data
ggplot(df_growing, aes(x = reorder(Trend, `Yearly change`), y = `Yearly change`)) +
  geom_bar(stat = "identity", fill = "turquoise") +
  coord_flip() +
  labs(
    title = "Growing Trends: Yearly Change by Trend",
    x = "Trend",
    y = "Yearly Change"
  ) +
  theme_minimal()
## Warning: Removed 19 rows containing missing values or values outside the scale range
## (`geom_bar()`).