1. Introducció

EN QUÈ ES BASA: Hem agafat el conjunt de dades del moodle i es basa en el menjar saludable, tipus de cuina, calories, en si es saludable o no, etc.

OBJECTIU: trobar una relació on es vegi una similitud/coordinació entre les dades de cares a tasques futures.

PREGUNTA: Quin mètode de cuina dona els menjars amb més calories? Les variables que necessitem per respondre aquesta pregunta són les de cooking_method, calories i meal_name.

2. Importació de les dades

Mostreu com heu importat el fitxer i quin nom té l’objecte carregat.

load("healthy_food.RData")
dades=healthy_food

FORMAT ORIGINAL: el format original del fitxer de dades és el .csv

3. Dimensions del dataset

 dim(dades)
## [1] 2000   19
 glimpse(dades)
## Rows: 2,000
## Columns: 19
## $ meal_id        <int> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, …
## $ meal_name      <chr> "Kid Pasta", "Husband Rice", "Activity Rice", "Another …
## $ cuisine        <chr> "Indian", "Mexican", "Indian", "Mexican", "Thai", "Ital…
## $ meal_type      <chr> "Lunch", "Lunch", "Snack", "Snack", "Lunch", "Dinner", …
## $ diet_type      <chr> "Keto", "Paleo", "Paleo", "Keto", "Vegan", "Balanced", …
## $ calories       <int> 737, 182, 881, 427, 210, 484, 114, 473, 863, 671, 746, …
## $ protein_g      <dbl> 52.4, 74.7, 52.9, 17.5, 51.6, 55.3, 60.9, 57.5, 16.8, 4…
## $ carbs_g        <dbl> 43.9, 144.4, 97.3, 73.1, 104.3, 130.3, 6.7, 119.0, 43.0…
## $ fat_g          <dbl> 34.3, 0.1, 18.8, 7.6, 26.3, 0.1, 6.7, 19.6, 39.4, 38.2,…
## $ fiber_g        <dbl> 16.8, 22.3, 20.0, 9.8, 24.8, 29.7, 23.4, 2.0, 24.5, 14.…
## $ sugar_g        <dbl> 42.9, 38.6, 37.5, 41.7, 18.2, 1.6, 8.3, 39.8, 33.0, 29.…
## $ sodium_mg      <int> 2079, 423, 2383, 846, 1460, 411, 1107, 257, 515, 1110, …
## $ cholesterol_mg <int> 91, 7, 209, 107, 42, 162, 60, 63, 50, 214, 270, 76, 175…
## $ serving_size_g <int> 206, 317, 395, 499, 486, 209, 291, 143, 471, 117, 384, …
## $ cooking_method <chr> "Grilled", "Roasted", "Boiled", "Grilled", "Raw", "Stea…
## $ prep_time_min  <int> 47, 51, 58, 14, 47, 56, 41, 18, 33, 35, 57, 8, 11, 45, …
## $ cook_time_min  <int> 56, 34, 29, 81, 105, 112, 90, 21, 56, 68, 43, 76, 117, …
## $ rating         <dbl> 4.4, 2.4, 4.3, 4.6, 4.3, 1.6, 2.8, 1.6, 4.0, 5.0, 3.1, …
## $ is_healthy     <int> 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…

Incloeu:

- Nombre de files: 2.000

- Nombre de columnes: 19

4. Diccionari de variables

Descriviu cada variable del dataset.

Variable Tipus Descripció Valors possibles / rang
meal_id numèrica Identificació del plat 0–100
meal_name string Nom del menjar [a…n]
cuisine string País / tipus de cuina [a…n]
meal_type string Tipus de menjar [a…n]
diet_type string Tipus de dieta [a…n]
calories int Contingut calòric 0–N
protein_g float Grams de proteïna 0–N
carbs_g float Grams d’hidrats de carboni 0–N
fat_g float Grams de greix 0–N
fiber_g float Grams de fibra 0–N
sugar_g float Grams de sucre 0–N
sodium_mg int Quantitat de sodi (mg) 0–N
cholesterol_mg int Colesterol (mg) 0–N
serving_size_g int Pes de la ració (g) 0–N
cooking_method string Mètode de cocció [a…n]
prep_time_min int Temps de preparació (min) 0–N
cook_time_min int Temps de cocció (min) 0–N
rating float Valoració del plat 0.0–5.0
is_healthy binària Indicador de si és saludable 0 o 1
tibble(
  variable = names(dades),
  tipus = sapply(dades, class)
 )
## # A tibble: 19 × 2
##    variable       tipus    
##    <chr>          <chr>    
##  1 meal_id        integer  
##  2 meal_name      character
##  3 cuisine        character
##  4 meal_type      character
##  5 diet_type      character
##  6 calories       integer  
##  7 protein_g      numeric  
##  8 carbs_g        numeric  
##  9 fat_g          numeric  
## 10 fiber_g        numeric  
## 11 sugar_g        numeric  
## 12 sodium_mg      integer  
## 13 cholesterol_mg integer  
## 14 serving_size_g integer  
## 15 cooking_method character
## 16 prep_time_min  integer  
## 17 cook_time_min  integer  
## 18 rating         numeric  
## 19 is_healthy     integer

5. Estadístiques descriptives

summary(dades)
##     meal_id        meal_name           cuisine           meal_type        
##  Min.   :   1.0   Length:2000        Length:2000        Length:2000       
##  1st Qu.: 500.8   Class :character   Class :character   Class :character  
##  Median :1000.5   Mode  :character   Mode  :character   Mode  :character  
##  Mean   :1000.5                                                           
##  3rd Qu.:1500.2                                                           
##  Max.   :2000.0                                                           
##   diet_type            calories        protein_g        carbs_g      
##  Length:2000        Min.   : 100.0   Min.   : 5.00   Min.   :  0.00  
##  Class :character   1st Qu.: 372.0   1st Qu.:23.60   1st Qu.: 39.20  
##  Mode  :character   Median : 648.0   Median :43.60   Median : 75.95  
##                     Mean   : 650.1   Mean   :42.86   Mean   : 75.92  
##                     3rd Qu.: 914.5   3rd Qu.:61.90   3rd Qu.:113.03  
##                     Max.   :1200.0   Max.   :79.90   Max.   :150.00  
##      fat_g          fiber_g         sugar_g        sodium_mg     
##  Min.   : 0.00   Min.   : 0.00   Min.   : 0.00   Min.   :  50.0  
##  1st Qu.:14.80   1st Qu.: 7.60   1st Qu.:12.00   1st Qu.: 647.5  
##  Median :30.30   Median :15.15   Median :24.75   Median :1273.0  
##  Mean   :30.07   Mean   :15.25   Mean   :24.60   Mean   :1257.3  
##  3rd Qu.:45.20   3rd Qu.:23.20   3rd Qu.:37.20   3rd Qu.:1854.5  
##  Max.   :60.00   Max.   :30.00   Max.   :50.00   Max.   :2499.0  
##  cholesterol_mg  serving_size_g  cooking_method     prep_time_min  
##  Min.   :  0.0   Min.   :100.0   Length:2000        Min.   : 5.00  
##  1st Qu.: 72.0   1st Qu.:207.0   Class :character   1st Qu.:19.00  
##  Median :150.0   Median :302.0   Mode  :character   Median :34.00  
##  Mean   :150.5   Mean   :302.6                      Mean   :33.35  
##  3rd Qu.:228.0   3rd Qu.:402.0                      3rd Qu.:48.00  
##  Max.   :300.0   Max.   :500.0                      Max.   :60.00  
##  cook_time_min        rating        is_healthy    
##  Min.   :  5.00   Min.   :1.000   Min.   :0.0000  
##  1st Qu.: 33.00   1st Qu.:2.000   1st Qu.:0.0000  
##  Median : 61.00   Median :3.000   Median :0.0000  
##  Mean   : 61.51   Mean   :2.984   Mean   :0.0935  
##  3rd Qu.: 90.00   3rd Qu.:4.000   3rd Qu.:0.0000  
##  Max.   :120.00   Max.   :5.000   Max.   :1.0000

Comenteu:

Hi ha valors perduts? No s’observa cap valor perdut NA a l’executar el summary.

Alguna variable s’hauria de transformar? meal_id: no s’hauria de tractar com una variable numèrica en models estadístics. Es podria passar a factor o simplement excloure-la de l’anàlisi.

meal_name, cuisine, meal_type, diet_type, cooking_method: per a la majoria d’anàlisis convé transformar-les en factors.

is_healthy: és recomanable tractar-la com a factor o variable lògica (TRUE/FALSE) si es fa modelització.

rating: es pot considerar com a variable ordinal i transformar-la a ordered factor si es vol tenir en compte l’ordenació.

Hi ha Outliers o valors estranys? El rang de les variables nutricionals són raonables i no es veuen outliers clarament estranys als rangs mostrats.

6. Visualització inicial

Incloeu una o dues gràfiques exploratòries.

# Exemple:
plot(dades$calories, dades$protein, xlab = "Calories", ylab = "Proteïnes")

boxplot(calories ~ diet_type, data = dades, xlab = "Tipus de dieta", ylab = "Calories")

7. Variables externes i dades addicionals

Expliqueu:

Si necessitareu dades externes per completar l’anàlisi. En principi, creiem que no es necessari lús de dades externes.

Si falten variables per respondre la pregunta inicial. En principi, creiem que no calen.

8. Altres comentaris