diff --git a/_lezioni/4.md b/_lezioni/4.md new file mode 100644 index 0000000..3fb924d --- /dev/null +++ b/_lezioni/4.md @@ -0,0 +1,17 @@ +--- +title: For Loop +number: 4 +week: 2 +date: 2023-10-04 +slides_pdf: materiale_lezioni/4/quarta_lezione.pdf +--- + +- For Loop +- BMI +- BMI App Web Shiny +- BMI For Loop + +[Link File R Lezione for loop]({{ site.baseurl }}/materiale_lezioni/4/lezione_4.R) +[Link File R Lab BMI]({{ site.baseurl }}/materiale_lezioni/4/bmi.R) +[Link File Rmd App BMI]({{ site.baseurl }}/materiale_lezioni/4/BMI.Rmd) +[Link File Rmd App BMI loop]({{ site.baseurl }}/materiale_lezioni/4/bmi_loop.R) \ No newline at end of file diff --git a/materiale_lezioni/4/BMI.Rmd b/materiale_lezioni/4/BMI.Rmd new file mode 100644 index 0000000..6dcdbeb --- /dev/null +++ b/materiale_lezioni/4/BMI.Rmd @@ -0,0 +1,55 @@ +--- +title: "Calcolo BMI - Body mass index" +author: "Vincenzo Nardelli" +output: html_document +runtime: shiny +--- + +```{r setup, include=FALSE} +knitr::opts_chunk$set(echo = TRUE) +``` + +Muovi l'indicatore per impostare altezza e peso, verrà fornito direttamente l'IMC. +I valori che possono essere indicati variano rispettivamente per il peso tra 30 kg e 150 kg e per l'altezza tra 120 cm e 210 cm. + +```{r eruptions, echo=FALSE} +inputPanel( + sliderInput("peso", label = "Peso (kg):", + min = 30, max = 150, value = 30, step = 1), + + sliderInput("altezza", label = "Altezza (cm):", + min = 120, max = 210, value = 120, step = 1) +) + +renderText({ +altezza <- as.numeric(input$altezza/100) +peso <- as.numeric(input$peso) +BMI <- round(peso/altezza^2, 2) + + +if(BMI < 16){ + classificazione <- "Grave magrezza" +}else if(BMI < 18.5){ + classificazione <- "Sottopeso" +}else if(BMI < 25){ + classificazione <- "Normopeso" +}else if(BMI < 30){ + classificazione <- "Sovrappeso" +}else if(BMI < 35){ + classificazione <- "Obeso classe 1" +}else if(BMI < 40){ + classificazione <- "Obeso classe 2" +}else{ + classificazione <- "Obeso classe 3" +} + +print(paste("BMI", as.character(BMI), "- Classificazione", classificazione)) +}) +``` + + +

+L'IMC è l'indicatore di riferimento per studi epidemiologici e di screening di obesità. E' utile sottolineare che l'IMC in quanto indicatore di studi di popolazione, non è in grado di valutare la reale composizione corporea, così come non permette di conoscere la distribuzione del grasso corporeo nell'individuo. + + + diff --git a/materiale_lezioni/4/bmi.R b/materiale_lezioni/4/bmi.R new file mode 100644 index 0000000..cddb8f3 --- /dev/null +++ b/materiale_lezioni/4/bmi.R @@ -0,0 +1,24 @@ +altezza <- 1.80 +peso <- 69 + + +BMI <- peso/altezza^2 +BMI + +if(BMI <= 16){ + classificazione <- "Grave magrezza" +}else if(BMI <= 18.5){ + classificazione <- "Sottopeso" +}else if(BMI <= 25){ + classificazione <- "Normopeso" +}else if(BMI <= 30){ + classificazione <- "Sovrappeso" +}else if(BMI <= 35){ + classificazione <- "Obeso classe 1" +}else if(BMI < 40){ + classificazione <- "Obeso classe 2" +}else{ + classificazione <- "Obeso classe 3" +} +print(classificazione) + diff --git a/materiale_lezioni/4/bmi_loop.R b/materiale_lezioni/4/bmi_loop.R new file mode 100644 index 0000000..16991e4 --- /dev/null +++ b/materiale_lezioni/4/bmi_loop.R @@ -0,0 +1,30 @@ +vettore_altezza <- c(1.58, 1.73, 1.81, 1.47, 1.74) +vettore_peso <- c(62, 86, 85, 95, 75) + + +for(i in 1:5){ + print(i) + altezza <- vettore_altezza[i] + peso <- vettore_peso[i] + BMI <- peso/altezza^2 + + + if(BMI < 16){ + classificazione <- "Grave magrezza" + }else if(BMI < 18.5){ + classificazione <- "Sottopeso" + }else if(BMI < 25){ + classificazione <- "Normopeso" + }else if(BMI < 30){ + classificazione <- "Sovrappeso" + }else if(BMI < 35){ + classificazione <- "Obeso classe 1" + }else if(BMI < 40){ + classificazione <- "Obeso classe 2" + }else{ + classificazione <- "Obeso classe 3" + } + + print(classificazione) + +} diff --git a/materiale_lezioni/4/lezione_4.R b/materiale_lezioni/4/lezione_4.R new file mode 100644 index 0000000..48cef9d --- /dev/null +++ b/materiale_lezioni/4/lezione_4.R @@ -0,0 +1,64 @@ +vettore <- c(1, 2, 3, 4) +vettore <- 1:4 + +vettore2 <- c(23, 46, 78, 98) +vettore2[1] +vettore2[c(TRUE, FALSE, FALSE, FALSE)] +vettore2 < 50 +vettore2[vettore2 < 50] + +for(i in 1:10){ + print(i) +} + +print(1:10) + + +for(i in c("Alberto", "Beatrice", "Ciarli")){ + print(i) +} + + +for(nome in c("Alberto", "Beatrice", "Ciarli")){ + print(nome) +} + + +nomi <- c("Alberto", "Beatrice", "Ciarli") + +for(i in 1:3){ + print(nomi[i]) +} + +print(nomi[1]) +print(nomi[2]) +print(nomi[3]) + +nomi <- c("Alberto", "Beatrice", "Ciarli") +eta <- c(12, 19, 23) + +for(i in 1:3){ + if(eta[i] < 18){ + classe_eta <- "minorenne" + }else{ + classe_eta <- "maggiorenne" + } + print(paste0(nomi[i], " è ", classe_eta)) +} + + + +for(i in 1:3){ + if(eta[i] < 18){ + print(paste0(nomi[i], " è minorenne")) + }else{ + print(paste0(nomi[i], " è minorenne")) + } +} + + +if(eta_alberto < 18){ + print("Alberto è minorenne") +}else{ + print("Alberto è maggiorenne") +} diff --git a/materiale_lezioni/4/quarta_lezione.pdf b/materiale_lezioni/4/quarta_lezione.pdf new file mode 100644 index 0000000..200c159 Binary files /dev/null and b/materiale_lezioni/4/quarta_lezione.pdf differ