Suddividere l'insieme di dati
In un esercizio precedente, hai stabilito che il numero medio di retweet per tweet è 3,3. In questo esercizio, vedremo quanti tweet sono sopra questa media e quanti sono sotto.
Per farlo, creeremo prima un mapper che verifichi se .x è maggiore di 3.3. Poi precompileremo map_at(), con .at impostato a "retweet_count" e .f che sarà prima il mapper che abbiamo creato e, in un secondo momento, la negazione di questo mapper.
Nota: da quando è stato creato questo corso, il comportamento di purrr è cambiato e, per evitare un conflitto tra l'argomento .f in partial() e .f in map_at(), devi usare l'operatore di quasi-assegnazione := (a volte chiamato "operatore tricheco"). Per lo scopo di questo esercizio, ti basta sapere che := funziona come =, ma indica a partial() che l'argomento va passato a map_at() invece di essere trattenuto da partial() stesso.
Una volta creati questi strumenti, li useremo sull'oggetto non_rt, che è un'estrazione dei "tweet originali" dal dataset rstudioconf.
purrr è già stato caricato per te.
Questo esercizio fa parte del corso
Programmazione funzionale intermedia con purrr
Istruzioni dell'esercizio
Crea
mean_above, un mapper che verifica se.xè maggiore di3.3.Precompila due versioni di
map_at(): una con"retweet_count"emean_above, e l'altra con"retweet_count"e la negazione dimean_above.Applica queste due funzioni precompilate a
non_rte conserva solo gli elementi"retweet_count".Ottieni la dimensione dei due risultati.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Create mean_above, a mapper that tests if .x is over 3.3
mean_above <- ___(~ ___)
# Prefil map_at() with "retweet_count", mean_above for above,
# and mean_above negation for below
above <- partial(___, .at = "retweet_count", .f := ___ )
below <- partial(___, .at = "retweet_count", .f := ___ )
# Map above() and below() on non_rt, keep the "retweet_count"
ab <- ___(non_rt, ___) %>% ___("retweet_count")
bl <- ___(non_rt, ___) %>% ___("retweet_count")
# Compare the size of both elements
___(ab)
___(bl)