The data we will be using is the olive garden menu nutritional data that includes amounts like calories, protein, sugars, and trans fat for each menu item. Included in this data frame is their catering nutritional information as well. This information is available thanks to Nutritionix.
What are we trying to learn?
I want to look at how many of the meals listed on the Olive Garden menu take up the total amount of calories that one person should have in a day (2000). I also want to look at how someone with diabetes could eat at Olive Garden. Most people who live with diabetes or high cholesterol have to eat heart healthy, low carb, and low sodium diets.
Starting the Process
We have to first make sure all of our packages that we require are available by using out library() function.
Portion Sizes
We are staring out process by looking at the serving sizes of the Olive Garden menu. A recommendation for the appropriate amount of calories to eat in a day is 2000. Therefore, I want to start by looking at what menu items are close to maxing out a persons calorie intake for an entire day.
#to filter out the bulking words from the data setdf_filtered <- nutrition %>%filter(!grepl("Catering|One-Gallon|Half-Gallon", `Menu Item`,ignore.case =TRUE)) %>%arrange(desc(Calories)) %>%select(`Menu Item`, Calories) %>%slice_head(n=3)print(df_filtered)
The above answers the basic question that no one classic menu item will be equal to or more than your suggested daily calories intake. However if a customer decides to add a drink, I want to know what drinks they can order that will allow for those customers to still stay under the 2000 calorie limit.
#The menu data frame is ordered like a menu to where lines 142 to 196 are the drinksdrinks<- nutrition %>%slice(142:196)drinks %>%ggplot(aes(x = Calories)) +geom_histogram(fill ="pink",col ="blue", bins =40)+scale_x_continuous(breaks =seq(0, 900, by =100))+labs(title ="Calorie Distribution of Drinks", x="Calories", y ="How Many Drinks have this Calorie Amount?" )
We can see that there are only 5 drinks (Coffee, Water, Tea, Coke Zero, and Diet Coke) that are less than the 20 calorie buffer left by the Chicken Tortellini Alfredo.
Heart Health Eating
Let look at the what Menu Items would be considered friendly to diabetics. Whom, to my understanding, need items with low to no sugars and low amounts of carbohydrates. A Low-Carb Diet means that a person is consuming no more than 130 carbs a day. A low sodium diet means consuming no more than 1500 mgs of sodium a day.
#we make a column that nutrition %>%mutate(low_sodium = Sodium<1500) %>%mutate(diabetic_friendly = Sugars==0&`Total Carbs`<=130 ) %>%filter(diabetic_friendly==TRUE&low_sodium==TRUE&Cholesterol>0) %>%ggplot(aes(x =`Menu Item`, y = Cholesterol)) +geom_bar(stat ="identity", fill ="steelblue")+labs(title ="Heart Healthy Options", x ="Menu Items", y ="Cholesterol")
# A tibble: 17 × 6
`Menu Item` Calories Cholesterol Sodium `Total Carbs` Sugars
<chr> <dbl> <dbl> <dbl> <dbl> <dbl>
1 Calamari, Add Spicy Ranch[m… 240 15 740 2 0
2 Shrimp Fritto Misto, Add Sp… 240 15 740 2 0
3 Kids Cheese Pizza, Add Pepp… 60 15 210 0 0
4 Kids Create Your Own Pasta,… 160 20 350 2 0
5 Create Your Own Pasta, Cris… 240 50 730 14 0
6 Kids Create Your Own Pasta,… 240 50 730 14 0
7 Stuffed Ziti Fritta[more in… 500 60 1040 40 0
8 Create Your Own Pasta, Meat… 480 65 1060 7 0
9 Side of Meatballs[more info] 480 65 1060 7 0
10 Kids Chicken Fingers[more i… 300 65 580 15 0
11 Stuffed Ziti Fritta, Add Al… 220 70 300 3 0
12 Create Your Own Pasta, Gril… 130 75 540 0 0
13 Side of Grilled Chicken[mor… 130 75 540 0 0
14 Kids Create Your Own Pasta,… 130 75 540 0 0
15 Kids Create Your Own Pasta,… 45 75 130 0 0
16 Create Your Own Pasta, Glut… 380 100 260 77 0
17 Create Your Own Pasta, Saut… 170 245 410 1 0
The above listed options are heart health friendly and we can see that a heart healthy option is the fired calamari. The sugar, carb, sodium, and cholesterol levels are low enough that a person on a heart healthy diet should choose calamari as their meal and or as a smart choice for their appetizer. Many of the kids meals were classified as heart healthy, we could assume that this is due to their smaller portion size.
Catering Options
The last question I have for this menu is what catering options are considered diabetic friendly on the larger scale. So to do this I first found what menu items were considered “catering” options and then i looked to find what options were low sodium and low carb. The only catering option for food that is zero sugar is the Chicken Tenders. The catering meals are considered family style and therefore serve anywhere from 4 to 6 people. For our purposes we will take the sodium and total carb amounts and divde them by 1500 and 130 to see if the number is < 5 (middle of 4 and 6) to then see if it is a carb and sodium friendly meal.
nutrition %>%filter(grepl("Catering", `Menu Item`, ignore.case =TRUE)) %>%mutate(serves_people_carb =`Total Carbs`/5, serves_people_sodium = Sodium/1500, peoples_worth_calories = Calories/2000) %>%mutate(for_five = peoples_worth_calories<5) %>%ggplot(aes(x = serves_people_sodium, y = serves_people_carb))+geom_point(col ="orange")+labs(title ="How Many Peoples Worth of Carbs to Sodium in Catering Options", x ="Peoples worth of Sodium", y ="Peoples worth of Carbs")
There is a positive correlation between sodium levels and carb levels. Therefore the catering menu serves more sodium and carbohydrates worth of food than the listed serving size.
Conclusion
If you are looking to go to Olive Garden for a meal, and you are restricted to a heart healthy diet there are few items available for you. The same case exists if we try and organize a catering from Olive Garden for people on a heart healthy diet.
Source Code
---title: "How to Eat Diet Friendly at Olive Garden"author: "Erin McLaughlin"editor: visualtoc: true # Generates an automatic table of contents.format: # Options related to formatting. html: # Options related to HTML output. code-tools: TRUE # Allow the code tools option showing in the output. embed-resources: TRUE # Embeds all components into a single HTML file. execute: # Options related to the execution of code chunks. warning: FALSE # FALSE: Code chunk sarnings are hidden by default. message: FALSE # FALSE: Code chunk messages are hidden by default. echo: true # TRUE: Show all code in the output.---## What are We Looking At?The data we will be using is the olive garden menu nutritional data that includes amounts like calories, protein, sugars, and trans fat for each menu item. Included in this data frame is their catering nutritional information as well. This information is available thanks to Nutritionix.### What are we trying to learn?I want to look at how many of the meals listed on the Olive Garden menu take up the total amount of calories that one person should have in a day (2000). I also want to look at how someone with diabetes could eat at Olive Garden. Most people who live with diabetes or high cholesterol have to eat heart healthy, low carb, and low sodium diets.## Starting the ProcessWe have to first make sure all of our packages that we require are available by using out library() function.```{r}#| label: Setting Up Your Data#| include: FALSE # "Run the code, but do not show any code or output thereof"library(tidyverse) # All the tidy thingslibrary(jsonlite) # Converting json data into data frameslibrary(magrittr) # Extracting items from list objects using piping grammarlibrary(httr) # Interacting with HTTP verbslibrary(knitr)# to be able to publish on rpubs library(readr)#nutrition<-read_csv("https://myxavier-my.sharepoint.com/:x:/g/personal/mclaughline3_xavier_edu/ESKwBxcp1yBDp1XSfxteXnYBrRaYEonKdY82ZuIdjCTP0A?download=1")```## Portion SizesWe are staring out process by looking at the serving sizes of the Olive Garden menu. A recommendation for the appropriate amount of calories to eat in a day is 2000. Therefore, I want to start by looking at what menu items are close to maxing out a persons calorie intake for an entire day.```{r}#| label: Are any menu Items (Excluding Bulk Items) that are 2000 Calories or more?#| include: TRUE#to filter out the bulking words from the data setdf_filtered <- nutrition %>%filter(!grepl("Catering|One-Gallon|Half-Gallon", `Menu Item`,ignore.case =TRUE)) %>%arrange(desc(Calories)) %>%select(`Menu Item`, Calories) %>%slice_head(n=3)print(df_filtered)```The above answers the basic question that no one classic menu item will be equal to or more than your suggested daily calories intake. However if a customer decides to add a drink, I want to know what drinks they can order that will allow for those customers to still stay under the 2000 calorie limit.```{r}#| label: Distribution of Calories for Drinks#| include: TRUE#The menu data frame is ordered like a menu to where lines 142 to 196 are the drinksdrinks<- nutrition %>%slice(142:196)drinks %>%ggplot(aes(x = Calories)) +geom_histogram(fill ="pink",col ="blue", bins =40)+scale_x_continuous(breaks =seq(0, 900, by =100))+labs(title ="Calorie Distribution of Drinks", x="Calories", y ="How Many Drinks have this Calorie Amount?" )zero_calories<- drinks %>%filter(Calories <=20) %>%select(`Menu Item`,Calories)print(zero_calories)```We can see that there are only 5 drinks (Coffee, Water, Tea, Coke Zero, and Diet Coke) that are less than the 20 calorie buffer left by the Chicken Tortellini Alfredo.## Heart Health EatingLet look at the what Menu Items would be considered friendly to diabetics. Whom, to my understanding, need items with low to no sugars and low amounts of carbohydrates. A Low-Carb Diet means that a person is consuming no more than 130 carbs a day. A low sodium diet means consuming no more than 1500 mgs of sodium a day.```{r}#| label: Diabetic Options Graph#| include: TRUE#we make a column that nutrition %>%mutate(low_sodium = Sodium<1500) %>%mutate(diabetic_friendly = Sugars==0&`Total Carbs`<=130 ) %>%filter(diabetic_friendly==TRUE&low_sodium==TRUE&Cholesterol>0) %>%ggplot(aes(x =`Menu Item`, y = Cholesterol)) +geom_bar(stat ="identity", fill ="steelblue")+labs(title ="Heart Healthy Options", x ="Menu Items", y ="Cholesterol")``````{r}#| label: Diabetic Options Table#| include: TRUEheart_options<- nutrition %>%mutate(low_sodium = Sodium<1500) %>%mutate(diabetic_friendly = Sugars==0&`Total Carbs`<=130 ) %>%filter(diabetic_friendly==TRUE&low_sodium==TRUE&Cholesterol>0) %>%arrange(Cholesterol) %>%select(`Menu Item`, Calories,Cholesterol, Sodium, `Total Carbs`, Sugars)print(heart_options)```The above listed options are heart health friendly and we can see that a heart healthy option is the fired calamari. The sugar, carb, sodium, and cholesterol levels are low enough that a person on a heart healthy diet should choose calamari as their meal and or as a smart choice for their appetizer. Many of the kids meals were classified as heart healthy, we could assume that this is due to their smaller portion size.## Catering OptionsThe last question I have for this menu is what catering options are considered diabetic friendly on the larger scale. So to do this I first found what menu items were considered "catering" options and then i looked to find what options were low sodium and low carb. The only catering option for food that is zero sugar is the Chicken Tenders. The catering meals are considered family style and therefore serve anywhere from 4 to 6 people. For our purposes we will take the sodium and total carb amounts and divde them by 1500 and 130 to see if the number is \< 5 (middle of 4 and 6) to then see if it is a carb and sodium friendly meal.```{r}#| label: Diet Friendly Options Table#| include: TRUEnutrition %>%filter(grepl("Catering", `Menu Item`, ignore.case =TRUE)) %>%mutate(serves_people_carb =`Total Carbs`/5, serves_people_sodium = Sodium/1500, peoples_worth_calories = Calories/2000) %>%mutate(for_five = peoples_worth_calories<5) %>%ggplot(aes(x = serves_people_sodium, y = serves_people_carb))+geom_point(col ="orange")+labs(title ="How Many Peoples Worth of Carbs to Sodium in Catering Options", x ="Peoples worth of Sodium", y ="Peoples worth of Carbs")```There is a positive correlation between sodium levels and carb levels. Therefore the catering menu serves more sodium and carbohydrates worth of food than the listed serving size.## ConclusionIf you are looking to go to Olive Garden for a meal, and you are restricted to a heart healthy diet there are few items available for you. The same case exists if we try and organize a catering from Olive Garden for people on a heart healthy diet.