Dividindo o conjunto de dados
Em um exercício anterior, você determinou que a média de retweets por tweet é 3,3. Neste exercício, vamos ver quantos tweets estão acima dessa média e quantos estão abaixo.
Para isso, primeiro vamos criar um mapper que testa se .x está acima de 3.3. Em seguida, vamos pré-preencher map_at(), com .at sendo "retweet_count" e .f sendo primeiro o mapper que criamos e, em um segundo momento, a negação desse mapper.
Observe que, desde que este curso foi criado, o comportamento do purrr mudou e, para evitar conflito de argumentos entre .f em partial() e .f em map_at(), você deve usar o operador de igualdade de quasi-quotation, := (às vezes conhecido como “operador walrus”). Para este exercício, tudo o que você precisa saber é que := funciona como =, mas informa ao partial() que o argumento deve ser passado para map_at() em vez de ser mantido para si.
Depois de criar essas ferramentas, vamos usá-las no objeto non_rt, que é uma extração dos “tweets originais” do conjunto de dados rstudioconf.
purrr já foi carregado para você.
Este exercicio faz parte do curso
Programação Funcional Intermediária com purrr
Instruções do exercicio
Crie
mean_above, um mapper que testa se.xestá acima de3.3.Pré-preencha duas versões de
map_at(): uma com"retweet_count"emean_above, e outra com"retweet_count"e a negação demean_above.Faça o mapeamento dessas duas funções pré-preenchidas em
non_rte mantenha apenas os elementos"retweet_count".Obtenha o tamanho dos dois resultados.
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
# 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)