kaggle:R可視化分析金拱門餐廳食物營養性(一)

感謝關注天善智能,走好數據之路↑↑↑

歡迎關注天善智能,我們是專注於商業智能BI,人工智能AI,大數據分析與挖掘領域的垂直社區,學習,問答、求職一站式搞定!

每週2-3場免費數據領域公開課,每月線下活動,歡迎關注!

上市公司全球大型跨國連鎖快餐巨頭金拱門餐廳,在全世界上大約擁有32000家分店,分佈在全球121個國家和地區!我們偶爾吃的這家快餐,它滴食物營養性咋樣,今天我們就來對kaggle競爭上的這份數據做一個可視化分析!

數據集下載地址:金拱門數據集下載密碼為yukt

理解數據變量

  • Category(食物類別) 如Breakfast、Beef & Pork等等

  • Item(食物名稱)

  • Serving Size(份量)

  • Calories(卡路里)

  • Calories from Fat(來自脂肪的熱量)

  • Total Fat(總脂肪)

  • Saturated Fat(飽和脂肪)

  • Trans Fat(反式脂肪)

  • Cholesterol(膽固醇)

  • Sodium(鈉)

  • Carbohydrates碳水化合物

  • Dietary Fiber(膳食纖維)

  • Sugars(糖)

  • Protein(蛋白)

  • Vitamin A (% Daily Value)、Vitamin C (% Daily Value)

  • Calcium (% Daily Value)(鈣)

  • Iron (% Daily Value)(鐵)

分析要求是:

1、麥當勞食品的平均卡路里是多少?

2、飲用多少飲料,例如蘇打水或者咖啡,會加強總熱量的攝入?

3、購買烤雞肉三明治,而不是炸雞肉三明治,是否會更加有營養?

4、怎麼從菜單中選擇最少數量的食品來你滿足一天的營養需求?

#加載包,讀入數據,查看數據形式suppressMessages(library(ggplot2))suppressMessages(library(dplyr))suppressMessages(library(plotly))suppressMessages(library(RColorBrewer))suppressMessages(library(devtools))suppressMessages(library(yarrr))suppressMessages(library(tidyr))suppressMessages(library(gridExtra))suppressMessages(library(viridis))menu<-read.csv("D:/金拱門食物數據/menu.csv")str(menu)

kaggle:R可視化分析金拱門餐廳食物營養性(一)

#查看缺失值:library(mice)md.pattern(menu)

kaggle:R可視化分析金拱門餐廳食物營養性(一)

缺失值情況

從上圖可以看出,menu數據沒有缺失值。

#可視化分析食物類別繪圖(圖1)m <- list(l = 50,r = 50,b = 100,t = 100,pad = 4)marker = list(color = brewer.pal(9, "Set1"))p <- plot_ly(x = menu$Category,marker = list(color = '#45171D'),type = "histogram")%>% layout(xaxis = list(title = ""),yaxis = list(title = ""),autosize = T)p

kaggle:R可視化分析金拱門餐廳食物營養性(一)

圖1:食物類別

從上圖可以看出,食物類別中數目最多的是Coffee & Tea,其次是Breakfast

kaggle:R可視化分析金拱門餐廳食物營養性(一)

圖1:食物類別

從上圖可以看出,食物類別中數目最多的是Coffee & Tea,其次是Breakfast

kaggle:R可視化分析金拱門餐廳食物營養性(一)

圖2

kaggle:R可視化分析金拱門餐廳食物營養性(一)

圖3

kaggle:R可視化分析金拱門餐廳食物營養性(一)

圖4

kaggle:R可視化分析金拱門餐廳食物營養性(一)

圖5

kaggle:R可視化分析金拱門餐廳食物營養性(一)

圖6

#卡路里的熱量分佈是結果變量,取決於其他營養素變量。#繪圖脂肪的熱量與卡路里之間的關係(圖7)p1 <- plot_ly(menu,x = ~Calories,type = "histogram",histnorm = "probability",name="Calorie",alpha=0.6)%>% add_histogram(x = ~Calories.from.Fat,name="Calorie From Fat",alpha=0.6) %>% layout(barmode = "overlay")p1

kaggle:R可視化分析金拱門餐廳食物營養性(一)

圖7

#食物類別與卡路里的可視化繪圖(圖8)new_col<-c("grey50", "blue","hotpink","Magenta","seagreen","violet","brown","maroon","navyblue")plot_ly(x = menu$Category, y=menu$Calories,color = menu$Category,colors =new_col , type = "box")%>% layout(xaxis = list(title = ""),yaxis = list(title = "Calories"),showlegend=FALSE,autosize = T)

kaggle:R可視化分析金拱門餐廳食物營養性(一)

通過箱線圖,一目瞭然!我們可以很清晰的看到每種食物類別的卡路里(第一分位數,第三分位數,最大值,最小值,中位數)

#食物類別與蛋白質含量的可視化繪圖(圖9)plot_ly(x = menu$Category, y=menu$Protein,color = menu$Category,colors =new_col , type = "box")%>% layout( xaxis = list(title = ""), yaxis = list(title = ""), showlegend=FALSE, autosize = T)

kaggle:R可視化分析金拱門餐廳食物營養性(一)

通過箱線圖,一目瞭然!我們可以很清晰的看到食物類別中蛋白質的(第一分位數,第三分位數,最大值,最小值,中位數)

#食物種類(Category)之Chicken & Fish類與Item的蛋白質(Protein)含量可視化繪圖#圖10library(ggrepel)menu %>% select(Category,Item,Protein,Total.Fat)%>%arrange(desc(Protein))%>%filter(Category =="Chicken & Fish")%>%ggplot(aes(x=Item,y=Protein,col=Item))+geom_point(size=3)+theme(legend.position = "none",axis.title.x=element_blank(),axis.text.x=element_blank(),axis.ticks.x=element_blank())+geom_label_repel(aes(label=substr(Item,1,20)),size=2)+labs(title="High Protein/Fat Item in Chicken & Fish Category")+geom_bar(aes(y=Total.Fat),alpha=0.5,stat="identity")

kaggle:R可視化分析金拱門餐廳食物營養性(一)

圖10

#碳水化合物含量與食物種類的可視化分析(圖11)plot_ly(x = menu$Category, y=menu$Carbohydrates,color = menu$Category,colors =new_col , type = "box") %>% layout( xaxis = list(title = ""), yaxis = list(title = ""), showlegend=FALSE, autosize = T)

kaggle:R可視化分析金拱門餐廳食物營養性(一)

圖11

通過箱線圖,可以很清晰的看到各食物類別中的碳水化合物含量(第一分位數,第三分位數,最大值,最小值,中位數)

#碳水化合物與碳水化合物之間的散點圖,卡路里大於500為紅色,卡路里小於500為藍色(圖12)p2<-plot_ly(x=menu$Calories, y=menu$Carbohydrates, type="scatter", mode = "markers" , marker=list( color=ifelse(menu$Calories>500,"red","blue") , opacity=0.5 , size=20) )p2

kaggle:R可視化分析金拱門餐廳食物營養性(一)

圖12

#食物類別與總脂肪的箱線圖繪圖,RStudio裡可見箱線圖數值(圖13)plot_ly(x = menu$Category, y=menu$Total.Fat,color = menu$Category,colors =new_col , type = "box") %>% layout( xaxis = list(title = ""), yaxis = list(title = ""), showlegend=FALSE, autosize = T)

kaggle:R可視化分析金拱門餐廳食物營養性(一)

圖13

#總脂肪、脂肪的熱量,飽和脂肪三維圖比較分析繪圖(圖14)m1<-menu%>%select(Total.Fat,Calories.from.Fat,Saturated.Fat)m2<-as.matrix(m1)colnames(m2)<-NULL#m2p3 <- plot_ly(z=~m2) %>% add_surface()%>%layout(scene = list(xaxis = list(title = 'Total.Fat'), yaxis = list(title = 'Calories from Fat'), zaxis = list(title = 'Saturated Fat')))p3

kaggle:R可視化分析金拱門餐廳食物營養性(一)

未完待續。

下回分析請見 :《kaggle:R可視化分析金拱門餐廳食物營養性(二)》

本文作者:天善智能社區學員鄔書豪

原文鏈接:https://ask.hellobi.com/blog/dannyer520/10283

歡迎關注天善智能,我們是專注於商業智能BI,人工智能AI,大數據分析與挖掘領域的垂直社區,學習,問答、求職一站式搞定!

每週2-3場免費數據領域公開課,每月線下活動,歡迎關注!


相關推薦

推薦中...