Pipe In R: Propojovací funkce s Dplyr
V tomto tutoriálu se naučíte, jak zřetězit funkce dohromady pomocí operátoru potrubí dplyr v programovacím jazyce R.
V tomto návode sa dozviete o vnorených výrazoch, objektoch a prostrediach v . Vnorené výrazy a premenné sa použijú na diskusiu o tom, ako fungujú prostredia a pomôžu pri generovaní údajov. Naučíte sa tiež zaobchádzať s bežnými scenármi pri transformácii vnorených objektov.
Obsah
Vytváranie vnorených výrazov
Výrazy sú definované ako vzorec používaný na vytvorenie hodnoty.
Výraz v riadku vzorcov je vytvorený z čiastkových výrazov. Literály 1 a 2 sú podvýrazy rodičovského výrazu.
Premenné sú definované ako pomenované hodnoty. Toto je vzorový záznam.
Ak otvoríte okno rozšíreného editora, môžete vidieť premenné použité v dotaze.
Každá z premenných a , b a c predstavuje hodnotu, ktorá je výsledkom výrazu, ktorý často nájdete za znakom rovnosti. Všetky premenné v nadradenom výraze, ktorým je samotný záznam, tvoria prostredie tohto záznamu. V tomto prostredí musí byť každá premenná jedinečná.
Ak teda pridáte ďalšiu premennú s názvom c , pod oknom rozšíreného editora sa zobrazí chybové hlásenie.
Záznam môže pristupovať ku všetkým svojim podvýrazom pomocou identifikátorov alebo názvov premenných. Pre vnorené výrazy v zázname je však každé prostredie iné, pretože môžu pristupovať ku všetkým ostatným premenným v zázname okrem seba.
V tomto príklade môžete vidieť, že premenná c odkazuje sama na seba.
Ak stlačíte tlačidlo Hotovo, zobrazí sa chybové hlásenie.
Ak extrahujete hodnotu c pridaním operátora prístupu k položke, dostanete výsledok. Rovnaký výsledok môžete získať aj s výrazom let , pretože sa naň vzťahujú rovnaké pravidlá.
Pochopenie vnorených výrazov v prostredí
Toto je ďalší príklad rekordnej hodnoty.
Ak otvoríte okno rozšíreného editora, uvidíte, že premenné aab zdieľajú rovnaké prostredie, ktoré je najvzdialenejším prostredím. Tiež uvidíte, že premenné x , y a z sú podvýrazy rodičovského výrazu a .
Každá premenná má prístup ku všetkým ostatným premenným v rámci vnoreného záznamu okrem seba. Môžete zavolať premennú, ktorá existuje v inom prostredí. V tomto príklade môžete vidieť, že z odkazuje na b , ktoré je vo vonkajšom prostredí.
Premenné x , y a z môžu pristupovať k b , pretože b je súčasťou ich nadradeného výrazového prostredia. Môžete mať tiež rovnakú premennú, ale v rôznych prostrediach.
V tomto ďalšom príklade môžete vidieť, že vnútorný a vonkajší záznam má premennú x .
Premenné musia byť jedinečné vo svojom vlastnom prostredí. Použije sa najbližšie x priradené k premennej. V tomto vzorovom dotaze sa používa vnútorné x , pretože je bližšie z pohľadu záznamu a .
V tomto ďalšom dotaze sa vo výraze používa najbližšie x , ktoré je blízko premennej b .
Vonkajšia premenná b môže odkazovať na premennú x vo vnútri záznamu a pomocou operátora prístupu k položke. Musíte odkazovať na premennú a a potom pristupovať k x pomocou sady hranatých zátvoriek. Rovnakým spôsobom môže záznam a odkazovať na premennú x vo vnútri premennej b .
Keď sa prostredie vnoreného záznamu a zlúči s premennými z rodičovského výrazu, vedie to ku konfliktu, pretože x existuje dvakrát a všetky premenné musia byť vo svojom prostredí jedinečné. Keďže premenná nemôže odkazovať na seba, konflikt je vyriešený odkazom na vonkajšie x.
Riešenie bežných scenárov
Bežným scenárom je transformácia vnorených objektov. Na demonštráciu bude použitá táto tabuľka.
Ak chcete získať hodnotu z vonkajšej tabuľky a umiestniť ju do vnorenej tabuľky, existujú dva spôsoby, ako to dosiahnuť. Prvým spôsobom je použitie možnosti Pridať vlastný stĺpec .
Kliknite na ikonu tabuľky v ľavom hornom rohu tably náhľadu a vyberte Pridať vlastný stĺpec.
Zadajte Temp ako názov stĺpca a zadajte zástupný symbol do vlastného. Po dokončení stlačte tlačidlo OK.
Vo vnútri riadka vzorcov nahraďte každý výraz vlastnou funkciou pridaním stĺpca do vnorenej tabuľky. Spustite logiku pre vlastnú funkciu a nazvite ju OT pre vonkajšiu tabuľku. Potom pridajte znamenie go-to.
Potom pomocou funkcie Table.AddColumn pridajte stĺpec. Pozrite si tabuľku vo vonkajšej tabuľke v stĺpci Názvy. Potom zadajte nový názov stĺpca.
V tomto príklade je použitý názov stĺpca Výnosy . Zadajte každú funkciu, aby ste získali hodnoty každého riadka v stĺpci Získať výnosy.
Ak kliknete na priestor vo vnútri bunky riadka v stĺpci Temp, pod tablou náhľadu sa zobrazí ukážka vnorenej tabuľky. Uvidíte, že každý riadok má hodnotu vonkajšej tabuľky.
Použitie premenných na ukladanie hodnôt
Druhým spôsobom transformácie vnorených objektov je použitie premenných na ukladanie hodnôt. Najprv pridajte vlastný stĺpec a zadajte Temp2 ako názov stĺpca. Pre vzorec použite výraz let na uloženie hodnôt do premenných.
Zadajte let a potom napíšte názov premennej. V tomto príklade je názov premennej myR . Potom prirovnajte premennú k stĺpcu Získať výnosy. Potom zadajte klauzulu in a pomocou funkcie Table.AddColumn pridajte stĺpec do vnorenej tabuľky.
Pre prvý parameter funkcie zadajte stĺpec Názvy, ktorý obsahuje vnorené tabuľky. Potom pomenujte nový stĺpec Výnosy. Použite každú na volanie premenných každého riadku.
Ak kliknete na medzeru vo vnútri bunky riadka v stĺpci Temp2, uvidíte, že sa získali hodnoty z vonkajšej tabuľky.
Ďalším bežným scenárom je vyhľadávanie, kde neexistuje žiadny zdieľaný kľúč. Pre tento scenár sa použijú 2 vzorové tabuľky: tabuľka kategórií a tabuľka produktov .
Použite tabuľku kategórií ako predbežný dotaz na doplnenie atribútov tabuľky rozmerov produktu. Keďže neexistuje žiadny zdieľaný kľúč, zlúčenie sa nedá vykonať. Prvá vec, ktorú musíte urobiť, je vnoriť celú tabuľku kategórií do dotazu tabuľky produktov pomocou Pridať vlastný stĺpec.
Pridajte vlastný stĺpec a ako názov stĺpca napíšte Kategóriu. Potom vo vlastnom vzorci zavolajte dopyt kategórie.
Potom ste teraz vnorili úplnú tabuľku kategórií do každého riadku tabuľky produktov.
Keď kliknete na priestor vo vnútri bunky riadka v stĺpci Kategória, v každom riadku sa zobrazí úplná tabuľka kategórií.
Načítanie jednej hodnoty
Ak chcete získať iba jednu hodnotu, musíte filtrovať tabuľku kategórií na jeden riadok, kde sa časť reťazca z produktu zhoduje so skupinou produktov v tabuľke kategórií.
Otvorte dialógové okno Custom Column (Vlastný stĺpec) stlačením tlačidla ozubeného kolieska vedľa položky Added Custom (Pridané vlastné) na table Applied Steps (Použité kroky).
Do vzorca pridajte funkciu Table.SelectRows . Pre prvý parameter sa používa tabuľka Category. Druhý parameter použil ako podmienku funkciu Text.Contains . Pre vnútornú tabuľku táto funkcia kontroluje, či text obsahuje časť z produktového reťazca vo vonkajšej tabuľke.
Pri prístupe k vonkajšiemu stolu si to všimnetepridá každé kľúčové slovo do riadka vzorcov. Je to unárna funkcia, ktorá berie podčiarkovník ( _ ) ako bezmennú premennú. Keďže však pristupujete iba k stĺpcu, môžete ho vynechať.
Ak kliknete na priestor vo vnútri bunky riadka v stĺpci Kategória, v každej z vnorených tabuliek sa teraz zobrazí jeden riadok.
Odtiaľ môžete extrahovať hodnotu pre kategóriu kombináciou operátorov prístupu k riadkom a poliam.
Vráťte sa do dialógového okna Vlastný stĺpec a pridajte operátory do vzorca. Ak chcete získať prvý riadok tabuľky, zadajte 0 do množiny zložených zátvoriek. Potom zadajte názov poľa Kategória do hranatých zátvoriek.
Ak chcete riešenie zabezpečiť aj v budúcnosti, môžete na koniec pridať otáznik ( ? ), aby ste zmenili správanie typu nenájdené z vrátenia chyby na hodnotu null.
Záver
Prostredia a vnorené výrazy pomáhajú vášmu dotazu získať určité hodnoty z vašich kódov, aby ste získali požadované výsledky. Uvedomiť si ich je dôležité pri písaní, pretože keď im porozumiete, budete schopní riešiť pokročilejšie a zložitejšie scenáre.
Melissa
V tomto tutoriálu se naučíte, jak zřetězit funkce dohromady pomocí operátoru potrubí dplyr v programovacím jazyce R.
RANKX od LuckyTemplates umožňuje vrátit pořadí konkrétního čísla v každém řádku tabulky, který tvoří součást seznamu čísel.
Naučte sa, ako rozobrať súbor PBIX, aby ste extrahovali motívy a obrázky LuckyTemplates z pozadia a použili ich na vytvorenie správy!
Cheat Sheet pre vzorce Excel: Stredne pokročilý sprievodca
Tabuľka kalendára LuckyTemplates: Čo to je a ako ju používať
Naučte se, jak nainstalovat programovací jazyk Python do LuckyTemplates a jak používat jeho nástroje k psaní kódů a zobrazování vizuálů.
Zjistěte, jak vypočítat dynamické ziskové marže u LuckyTemplates a jak můžete získat více informací tím, že se ponoříte hlouběji do výsledků.
Zistite, ako správne zoradiť polia zo stĺpcov tabuľky s rozšíreným dátumom. Toto je dobrá stratégia pre náročné polia.
V tomto článku vám ukážem, ako môžete nájsť svoje najlepšie produkty podľa regiónu pomocou výpočtov DAX v LuckyTemplates vrátane funkcií TOPN a CALCULATE.
Zistite, ako používať dimenziu nevyžiadanej pošty pre príznaky nízkej mohutnosti, ktoré chcete efektívne začleniť do svojho dátového modelu.