Är du funktionell? (2)
En möjlig implementation av funktionen interpret() finns redan. I den här övningen skriver du en ny funktion som använder interpret() för att tolka alla dagliga profilvisningar i en vektor. Funktionen returnerar dessutom summan av visningar på populära dagar, om det efterfrågas. En for-loop passar bra för att iterera över alla element i vektorn. Möjligheten att returnera summan av visningar på populära dagar kan du lösa med ett funktionsargument som har ett standardvärde.
Den här övningen är en del av kursen
R för medelnivå
Övningsinstruktioner
Färdigställ mallen för funktionen interpret_all():
- Gör
return_sumtill ett valfritt argument med standardvärdetTRUE. - Inuti
for-loopen itererar du över allaviews: lägg vid varje iteration till resultatet avinterpret(v)tillcount. Kom ihåg attinterpret(v)returnerarvför populära dagar och0annars. Samtidigt skriverinterpret(v)ut viss information. - Färdigställ
if-konstruktionen: - Om
return_sumärTRUE, returneracount. - Annars, returnera
NULL.
Anropa den nydefinierade funktionen med både linkedin och facebook.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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