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.
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
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
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
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.
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")
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.