{"id":2662,"date":"2019-12-04T09:26:48","date_gmt":"2019-12-04T07:26:48","guid":{"rendered":"https:\/\/webanalyst.ro\/?p=2662"},"modified":"2020-06-02T11:31:03","modified_gmt":"2020-06-02T08:31:03","slug":"tidyverse-1-3-0","status":"publish","type":"post","link":"https:\/\/webanalyst.ro\/blog\/2019\/tidyverse-1-3-0\/","title":{"rendered":"Tidyverse 1.3.0"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Pachetele extind func\u021bionalit\u0103\u021bile de baz\u0103 ale limbajului R, iar tidyverse este un set de pachete folosite \u00een lucrul cu date. Pachetele din tidyverse au \u00een spate aceea\u0219i filosofie \u0219i un mod de lucru comun. Pentru c\u0103 tidyverse are o sintax\u0103 diferit\u0103 de cea obi\u0219nuit\u0103 din R, se spune \u0219i c\u0103 el \u00eensu\u0219i este un limbaj pentru rezolvarea problemelor de <em>data science<\/em> cu ajutorul codului R.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00cen urm\u0103 cu c\u00e2teva zile s-a lansat versiunea 1.3.0. Mai multe despre aceasta, despre pachetele con\u021binute \u0219i despre ce face fiecare dintre ele, g\u0103si\u021bi \u00een continuarea articolului.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p class=\"wp-block-paragraph\">Tidyverse cuprinde pachete care s\u0103 rezolve majoritatea sarcinilor \u00eentr-un proiect de data science, precum importul datelor, transformarea, manipularea, vizualizarea \u0219i programarea. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pentru c\u0103 tidyverse este un concept care a prins foarte bine, au ap\u0103rut sute de pachete care folosesc acelea\u0219i principii \u0219i aceea\u0219i sintax\u0103, a\u0219a c\u0103 mai nou vorbim de <strong>pachete de baz\u0103 din tidyverse<\/strong>. Acestea sunt:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">readr<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Orice proiect de data science \u00eencepe cu importul datelor \u0219i exact asta face acest pachet, care import\u0103 date din fi\u0219iere tabulare, precum csv, tsv sau fwf.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">tidyr<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Al doilea pas important este preg\u0103tirea (sau aranjarea) datelor \u00eentr-o form\u0103 consistent\u0103, pentru a face mai u\u0219oar\u0103 analiza ulterioar\u0103. tidyr ofer\u0103 mai multe op\u021biuni interesante pentru asta. \u00cen septembrie s-a lansat versiunea 1.0.0 a acestui pachet, care a venit cu mai multe func\u021bii noi.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">dplyr<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Urmeaz\u0103 transformarea datelor, care poate con\u021bine calcule, filtre sau combin\u0103ri \u00een datele pe care le avem. Aceste lucruri se fac \u00een dplyr. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">forcats<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Se folose\u0219te tot \u00een transformarea datelor, dar pentru factori. Ace\u0219tia din urm\u0103 reprezint\u0103 tipul de date categorice din R (un fel de dimensiuni, pentru cei cu mai mult\u0103 experien\u021b\u0103 \u00een analytics dec\u00e2t \u00een programare).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">stringr<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Este al treilea pachet folosit des \u00een transformarea datelor. A\u0219a cum \u00eei spune \u0219i numele, se ocup\u0103 de \u0219iruri (tipul de date string).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">ggplot2<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Este un pachet foarte popular de vizualizare a datelor. Despre acesta am mai scris c\u00e2teva <a href=\"https:\/\/webanalyst.ro\/blog\/tag\/ggplot2\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"articole (se deschide \u00eentr-o fil\u0103 nou\u0103)\">articole<\/a>, precum \u0219i despre alte pachete care \u00eel completeaz\u0103.  <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">purrr<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Lucrul cu date necesit\u0103 de multe ori \u0219i programare, \u0219i aici intervine purrr, pachetul de programare func\u021bional\u0103 \u00een R.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">tibble<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Este un alt utilitar interesant. Este ca un fel de versiune optimizat\u0103 de data frame, cea din urm\u0103 fiind \u00een R o structur\u0103 de date \u00een format de tabel.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Toate aceste pachete se pot instala \u0219i \u00eenc\u0103rca de-odat\u0103 prin includerea lor \u00een setul tidyverse. La instalare vom observa c\u0103 vor fi \u0219i alte pachete, precum unele <strong>pachete care nu sunt de baz\u0103 \u00een tidyverse<\/strong>. Cele mai importante dintre acestea sunt:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>readxl<\/strong> &#8211; pentru importul datelor \u00een formate .xls sau .xlsx (\u00een general, fi\u0219ierele create \u00een Excel) <\/li><li><strong>haven<\/strong> &#8211; pentru importul din fi\u0219iere statistice, precum cele din SAS, SPSS sau Stata<\/li><li><strong>rvest<\/strong> &#8211; pentru importul datelor de pe web (web scrapping)<\/li><li><strong>googledrive<\/strong> &#8211; pentru interac\u021biunea cu fi\u0219ierele din Google Drive<\/li><li><strong>xml2<\/strong> &#8211; pentru lucrul cu fi\u0219iere XML<\/li><li><strong>jsonline<\/strong> &#8211; lucrul cu fi\u0219iere JSON<\/li><li><strong>httr<\/strong> &#8211; pentru lucrul cu date din API-uri web<\/li><li><strong>lubridate<\/strong> &#8211; pentru transformarea datelor calendaristice \u0219i a orelor \u0219i diverse calcule \u00eentre acestea<\/li><li><strong>hms<\/strong> &#8211; pentru transforamrea orelor \u00een diverse formate<\/li><li><strong>modelr<\/strong> &#8211; modelarea datelor folosind sintaxa tidyverse; acoper\u0103 model\u0103ri de baz\u0103, pentru lucruri avansate fiind nevoie de alte pachete<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Toate aceste pachete primesc constant actualiz\u0103ri. C\u00e2teva dintre ele au primit versiuni noi chiar \u00een ultima lun\u0103 (de exemplu haven).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O solu\u021bie simplu pentru a \u00eencepe folosirea acestor pachete este instalarea lor comun\u0103, adic\u0103 rularea comenzii:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">install.packages(\"tidyverse\")<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Desigur, pentru asta ave\u021bi nevoie \u00eent\u00e2i s\u0103 ave\u021bi instalat R, preferabil \u0219i RStudio. Am scris <a href=\"https:\/\/webanalyst.ro\/blog\/2017\/datele-din-google-analytics-r\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"aici (se deschide \u00eentr-o fil\u0103 nou\u0103)\">aici<\/a> despre asta.<\/p>\n\n\n","protected":false},"excerpt":{"rendered":"<p>Pachetele extind func\u021bionalit\u0103\u021bile de baz\u0103 ale limbajului R, iar tidyverse este un set de pachete folosite \u00een lucrul cu date. Pachetele din tidyverse au \u00een spate aceea\u0219i filosofie \u0219i un mod de lucru comun. Pentru c\u0103 tidyverse are o sintax\u0103 diferit\u0103 de cea obi\u0219nuit\u0103 din R, se spune \u0219i c\u0103 el \u00eensu\u0219i este un limbaj [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2673,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12],"tags":[843,888],"class_list":["post-2662","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technical","tag-r","tag-rstudio"],"_links":{"self":[{"href":"https:\/\/webanalyst.ro\/blog\/wp-json\/wp\/v2\/posts\/2662","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webanalyst.ro\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webanalyst.ro\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webanalyst.ro\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/webanalyst.ro\/blog\/wp-json\/wp\/v2\/comments?post=2662"}],"version-history":[{"count":4,"href":"https:\/\/webanalyst.ro\/blog\/wp-json\/wp\/v2\/posts\/2662\/revisions"}],"predecessor-version":[{"id":2871,"href":"https:\/\/webanalyst.ro\/blog\/wp-json\/wp\/v2\/posts\/2662\/revisions\/2871"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/webanalyst.ro\/blog\/wp-json\/wp\/v2\/media\/2673"}],"wp:attachment":[{"href":"https:\/\/webanalyst.ro\/blog\/wp-json\/wp\/v2\/media?parent=2662"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webanalyst.ro\/blog\/wp-json\/wp\/v2\/categories?post=2662"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webanalyst.ro\/blog\/wp-json\/wp\/v2\/tags?post=2662"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}