IniziaInizia gratis

R you functional? (2)

Ti è stata fornita una possibile implementazione della funzione interpret(). In questo esercizio scriverai un'altra funzione che userà interpret() per interpretare tutti i dati delle visualizzazioni giornaliere del tuo profilo contenuti in un vettore. Inoltre, la tua funzione restituirà la somma delle visualizzazioni nei giorni popolari, se richiesto. Un ciclo for è ideale per iterare su tutti gli elementi del vettore. La possibilità di restituire la somma delle visualizzazioni nei giorni popolari si può implementare tramite un argomento della funzione con un valore predefinito.

Questo esercizio fa parte del corso

R intermedio

Visualizza il corso

Istruzioni dell'esercizio

Completa il modello della funzione interpret_all():

  • Rendi return_sum un argomento opzionale, cioè TRUE per impostazione predefinita.
  • All'interno del ciclo for, itera su tutte le views: a ogni iterazione, aggiungi a count il risultato di interpret(v). Ricorda che interpret(v) restituisce v per i giorni popolari e 0 altrimenti. Allo stesso tempo, interpret(v) farà anche alcune stampe a video.
  • Completa la struttura if:
  • Se return_sum è TRUE, restituisci count.
  • Altrimenti, restituisci NULL.

Chiama questa nuova funzione sia su linkedin che su facebook.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# The linkedin and facebook vectors have already been created for you
linkedin <- c(16, 9, 13, 5, 2, 17, 14)
facebook <- c(17, 7, 5, 16, 8, 13, 14)

# The interpret() can be used inside interpret_all()
interpret <- function(num_views) {
  if (num_views > 15) {
    print("You're popular!")
    return(num_views)
  } else {
    print("Try to be more visible!")
    return(0)
  }
}

# Define the interpret_all() function
# views: vector with data to interpret
# return_sum: return total number of views on popular days?
interpret_all <- function(views, return_sum) {
  count <- 0

  for (v in views) {

  }

  if (return_sum) {

  } else {

  }
}

# Call the interpret_all() function on both linkedin and facebook
Modifica ed esegui il codice