get paid to paste

TL;DW Tutorials - R Junk Food/Food Recall...

library(httr)
library(jsonlite)
library(dplyr)

# Function to get recall data from the FDA API
get_recall_data <- function(product) {
  base_url <- "https://api.fda.gov/food/enforcement.json"
  params <- list(
    search = paste0('product_description:"', product, '"'),
    limit = 100
  )
  
  response <- GET(base_url, query = params)
  
  if (status_code(response) == 200) {
    data <- content(response, as = "parsed", type = "application/json")
    
    if ("results" %in% names(data)) {
      recall_data <- lapply(data$results, function(x) {
        data.frame(
          Product = product,
          Recall_Date = ifelse(is.null(x$recall_initiation_date), "N/A", x$recall_initiation_date),
          Reason = ifelse(is.null(x$reason_for_recall), "N/A", x$reason_for_recall),
          stringsAsFactors = FALSE
        )
      })
      return(do.call(rbind, recall_data))
    } else {
      print(paste("No results found for product", product))
      return(data.frame())
    }
  } else {
    print(paste("Error:", status_code(response), "for product", product))
    return(data.frame())
  }
}

# List of products to search for
products <- c("Doritos", "Cheetos", "Lay's", "Pringles", "Ritz", "Oreo", "Snickers")

# Initialize an empty data frame to store results
all_results <- data.frame()

# Loop through each product and get recall data
for (product in products) {
  recall_data <- get_recall_data(product)
  all_results <- bind_rows(all_results, recall_data)
}

# Save the results to a CSV file
write.csv(all_results, "popular_snacks_recall_data.csv", row.names = FALSE)
print("Data has been exported to popular_snacks_recall_data.csv")

Pasted: May 28, 2024, 10:49:14 am
Views: 50