1. Learn
  2. /
  3. Cursuri
  4. /
  5. Programare funcțională intermediară cu purrr

Connected

exercițiu

Împărțirea setului de date

Într-un exercițiu anterior, ai determinat că media numărului de retweet-uri per tweet este 3,3. În acest exercițiu, vom analiza câte tweet-uri se află peste această medie și câte sunt sub ea.

Pentru aceasta, vom crea mai întâi un mapper care testează dacă .x este mai mare decât 3.3. Vom precomplet apoi map_at(), cu .at setat pe "retweet_count", și .f setat pe mapperul creat, respectiv pe negația acestuia.

Rețineți că, de la crearea acestui curs, comportamentul purrr s-a schimbat, iar pentru a evita un conflict de argumente între .f din partial() și .f din map_at(), trebuie să folosești operatorul de quasi-citare := (cunoscut uneori și ca „operatorul walrus"). În scopul acestui exercițiu, tot ce trebuie să știi este că := funcționează ca =, dar îi semnalează lui partial() că argumentul trebuie transmis către map_at(), nu reținut pentru sine.

Odată create aceste instrumente, le vom aplica pe obiectul non_rt, care reprezintă o extragere a „tweet-urilor originale" din setul de date rstudioconf.

purrr a fost deja încărcat pentru tine.

Instrucțiuni

100 XP
  • Creează mean_above, un mapper care testează dacă .x este mai mare decât 3.3.

  • Precompletează două versiuni ale funcției map_at(): una cu "retweet_count" și mean_above, iar cealaltă cu "retweet_count" și negația lui mean_above.

  • Aplică aceste două funcții precompletate pe non_rt și păstrează doar elementele "retweet_count".

  • Calculează dimensiunea celor două rezultate.