class: center, middle, inverse, title-slide .title[ # Podstawy programowania ] .subtitle[ ## Wczytywanie danych ] .author[ ### © Łukasz Wawrowski ] --- # Zestaw analityka - tidyverse .pull-left[ ``` install.packages("tidyverse") ``` - readxl - wczytywanie plików Excela - haven - wczytywanie plików SAS, SPSS, Stata - jsonlite - wczytywanie JSON - xml2 - wczytywanie XML - httr - dostęp do stron html - rvest - web scraping - DBI - dostęp do baz danych - hms - operacje na czasie dnia - blob - przechowywanie danych binarnych - magrittr - przetwarzanie potokowe `%>%` - glue - łączenie tekstów ] .pull-right[ ``` library("tidyverse") ``` - dplyr - przetwarzanie danych tabelarycznych - forcats - operacje na czynnikach - ggplot2 - wykresy - lubridate - operacje na datach - purrr - programowanie funkcyjne - readr - wczytywanie plików tekstowych - stringr - operacje na tekstach - tibble - nowoczesny data.frame - tidyr - porządkowanie danych ] [Strona projektu Tidyverse](https://www.tidyverse.org/) --- # Instalacja vs. wczytywanie ![](img/packages.jpg) --- # Struktura projektu ``` project/ ├── data/ ├── docs/ ├── figs/ ├── output/ ├── 01_input.R └── 02_analysis.R ``` --- # Pliki tekstowe i csv Pakiet _readr_: - `read_delim()` - ogólna funkcja do plików tekstowych - `read_csv()` - uwzględnia nagłówek, separator kolumn to przecinek, separator miejsc dziesiętnych to kropka - `read_csv2()` - uwzględnia nagłówek, separator kolumn to średnik, separator miejsc dziesiętnych to przecinek -- R dostarcza także funkcje `read.csv()`, `read.csv2()`, `read.delim()`, które są starszymi odpowiednikami funkcji z pakietu _readr_. --- # Pliki Excela Pakiet _readxl_: - `read_excel()` - określa format na podstawie pliku - `read_xls()` - wczytuje pliki .xls - `read_xlsx()` - wczytuje pliki .xlsx --- # Pliki SAS, SPSS, Stata Pakiet _haven_: - `read_sas()` - wczytuje pliki .sas - `read_sav()` - wczytuje pliki .sav - `read_stata()` - wczytuje pliki .dta --- ## Wczytywanie danych o formacie R - `load("zbior.RData")` - `dane <- readRDS("zbior.RDS")` --- ## Zapisywanie danych o formacie R Zapisywanie do formatu R: - `save(dane, file = "zbior.RData")` - `save(dane1, dane2, file = "zbior.RData")` - `saveRDS(dane, file = "zbior.RDS")` --- # Zapisywanie danych Zapisywanie do pliku tekstowego (txt, csv): - `write_csv(x = obiekt, file = "plik.csv")` - `write_csv2(x = obiekt, file = "plik.csv")` Zapisywanie do pliku Excela z pakietem _openxlsx_: - `write.xlsx(x = obiekt, file = "plik.xlsx")` --- # Wczytanie zbioru danych Importujemy zbiór danych dotyczący wyników wyborów parlamentarnych w 2023 roku. Plik z danymi: http://wawrowski.edu.pl/data/wybory2023.csv [Źródło](https://wybory.gov.pl/sejmsenat2023/pl/dane_w_arkuszach) --- class: inverse # Zadanie Wywołaj funkcję `summary()` na wczytanym zbiorze danych.
−
+
02
:
00
--- # Pakiet _janitor_ Surowe dane zwykle nie posiadają nazw kolumn przystosowanych do przetwarzania przez komputer - nazwy zmiennych nie powinny zawierać polskich liter i spacji - nazwy zmiennych nie powinny zaczynać się od liczby Te problemy rozwiązuje pakiet _janitor_ (dozorca, woźny) i funkcja `clean_names()`: ```r zbior <- janitor::clean_names(zbior) ``` - funkcja ta zamienia wielkie litery na małe, spacje na podkreślniki i znaki transliteruje do ASCII. --- class: inverse # Zadanie Wczytaj do R plik movies: http://wawrowski.edu.pl/data/movies.csv i wywołaj na nim funkcję `summary()`.
−
+
05
:
00