Načtení experimentálních dat do R (resp. Rstudio) je vůbec prvním krokem pro jejich zpracování a ověření vaší alternativní hypotézy. V předchozím článku jsme se věnovali importu dat z Excelu, TIBCO Statistica (ve formátu csv) a programu SPSS.
Nyní se podíváme na další trojici aplikací, rozšířených na výzkumných pracovištích – na SAS, MATLAB a Stata. Stejně jako minule platí, že je potřeba:
- nejprve nastavit pracovní složku,
- po importu zkontrolovat data a ověřit jejich základní charakteristiky.
Pokud s RStudio začínáte, projděte si nejprve náš článek o základech jazyka R a ekosystému tidyverse.
Import dat ze SAS/STAT (formát sas7bdat/sas7bcat) do R
SAS/STAT (Statistical Analysis System) je software pro pokročilou analýzu dat, který se kromě akademického výzkumu používá např. i ve farmaceutickém průmyslu nebo finančnictví. Součástí datových souborů jsou opět metadata, např. popisné názvy sloupců či proměnných.
Pro import dat ze SAS/STAT (ve formátu sas7bdat – hlavní formát pro ukládání datových sad – a sas7bcat – ukládání grafů, šablon a dalších objektů) potřebujete balíček haven, který je součástí tidyverse, není ovšem v základní verzi ekosystému. Nainstalujete a načtete jej takto:
# instalace balíčku haven
install.packages("haven")
# načtení balíčku haven
library(haven)
Ukázka sas7bdat souboru v programu SAS
Zakupte si balíček 2 nebo více vybraných kurzů a ušetřete
Hlavní funkcí pro import dat z SAS je ‚read_sas()‘, která umožňuje načtení souborů sas7bdat i sas7bcat. Základní použití vypadá takto:
# import sas7bdat/sas7bcat souboru
data <- read_sas("nazev-souboru.sas7bdat")
Mezi nejpoužívanější argumenty funkce ‚read_sas()‘ patří:
‚col_select‘, který umožňuje vybrat pro import pouze určité sloupce:
# import sas7bdat/sas7bcat souboru s jedním vybraným sloupcem
data <- read_sas("nazev-souboru.sas7bdat", col_select = "nazev-sloupce")
# import sas7bdat/sas7bcat souboru s více vybranými sloupci
data <- read_sas("nazev-souboru.sas7bdat", col_select = c("nazev-sloupce1", "nazev-sloupce2", "nazev-sloupce3"))
‚n_max‘ – omezuje počet načtených řádků:
# import prvních 10 řádků ze sas7bdat/sas7bcat souboru
data <- read_sas("nazev-souboru.sas7bdat", n_max = 10)
‚skip‘ – určuje počet řádků, které se při importu dat přeskočí:
# import sas7bdat/sas7bcat souboru po přeskočení prvních 20 řádků
data <- read_sas("nazev-souboru.sas7bdat", skip = 20)
# přeskočení prvních 20 řádků a import prvních 10 řádků ze sas7bdat/sas7bcat souboru
data <- read_sas("nazev-souboru.sas7bdat", skip = 20, n_max = 10)
‚catalog_file‘ – umožňuje specifikovat soubor katalogu SAS (sas7bcat) spřízněného s importovaným sas7bdat souborem (obsahuje např. dodatečná metadata či grafy):
# import sas7bdat souboru se specifikací souboru sas7bcat
data <- read_sas("nazev-souboru.sas7bdat", catalog_file = "nazev-souboru.sas7bcat")
Ukázka importovaného sas7bdat souboru s metadaty
Import dat z aplikace MATLAB (formát mat) do R
MATLAB je výkonné prostředí pro numerické výpočty, vizualizaci a programování, oblíbené především ve vědecké a inženýrské komunitě.
Pro import dat z MATLABu do R potřebujete balíček R.matlab, který – na rozdíl od všech předchozích – není součástí tidyverse. Přesto jej kvůli rozšíření MATLABu mezi výzkumníky zmiňujeme. Balíček nainstalujete a načtete pomocí následujícího příkazu:
# instalace a načtení balíčku R.matlab
install.packages("R.matlab")
library(R.matlab)
Ukázka mat souboru v programu MATLAB
Hlavní funkcí pro import dat z MATLABu je ‚readMat()‘. Základní použití vypadá takto:
# import souboru mat
data <- readMat("nazev-souboru.mat")
Soubory MATLABu mohou mít, stejně jako v Excelu, více listů. Po importu se datové objekty (listy) zobrazí ve formě seznamu (viz níže). Pro zobrazení určité datové struktury (resp. proměnné) slouží funkce ‚View()‘:
# zobrazení datové struktury (proměnné) z importovaného mat souboru
View(nazev-objektu$nazev-promenne)
Listy lze spojit do jedné datové struktury pomocí funkcí balíčku dplyr (tomu se budeme věnovat v pokračování tohoto článku).
K hlavním argumentům funkce ‚readMat()‘ řadíme:
‚verbose’, který určuje, zda se mají zobrazovat podrobné informace o průběhu importu. Může nabývat hodnot TRUE nebo FALSE (výchozí nastavení):
# import souboru mat s informací o průběhu načítání
data <- readMat("nazev-souboru.mat", verbose = TRUE)
‚fixNames’ umožňuje opravit názvy proměnných tak, aby byly kompatibilní s R (v jazyce R např. proměnná nemůže začínat čislící, zatímco v MATLABu ano). Nabývá hodnot TRUE, nebo FALSE (výchozí nastavení):
# import souboru mat s opravou proměnných
data <- readMat("nazev-souboru.mat", fixNames = TRUE)
‚maxLength’ – omezuje maximální velikost importovaných vektorů nebo matic (v bytech):
# import mat souboru s omezením maximální délky vektorů/matic na 1 000 bytů
data <- readMat("název-souboru.mat", maxLength = 1000)
Importovaný mat soubor v okně Script v RStudio
Import dat z aplikace STATA (formát dta) do R
Statistický program Stata se těší popularitě v ekonometrii, epidemiologii a dalších oborech. Stejně jako u předchozích dvou programů nechybí možnost přidávat metadata.
Stata ukládá data primárně ve formátu .dta. Pro import těchto souborů do R budete potřebovat balíček haven (širší součást ekosystému tidyverse):
# instalace a načtení balíčku haven
install.packages("haven")
library(haven)
Hlavní funkcí pro import dat ze Stata je ‚read_stata()‘. V základní podobě vypadá takto:
# import souboru dta
data <- read_stata("nazev-souboru.dta")
Ukázka dta souboru v programu Stata
Mezi nejvyužívanější argumenty funkce ‚read_stata()‘ patří:
‚col_select‘ – importuje pouze vybrané sloupce:
# import dta souboru s jedním vybraným sloupcem
data <- read_stata("nazev-souboru.dta", col_select = "nazev-sloupce")
# import dta souboru s více vybranými sloupci
data <- read_stata("nazev-souboru.dta", col_select = c("nazev-sloupce1", "nazev-sloupce2", "nazev-sloupce3"))
‚n_max‘ – omezuje počet načtených řádků:
# import prvních 10 řádků z dta souboru
data <- read_stata("nazev-souboru.dta", n_max = 10)
‚skip‘ – určuje počet řádků, které se při importu dat přeskočí:
# import dta souboru po přeskočení prvních 20 řádků
data <- read_stata("nazev-souboru.dta", skip = 20)
# přeskočení prvních 20 řádků a import prvních 10 řádků z dta souboru
data <- read_stata("nazev-souboru.dta", skip = 20, n_max = 10)
‚.name_repair’ opravuje názvy proměnných (sloupců) za účelem jejich kompatibility s jazykem R. Nabývá hodnot:
- ‚universal‘ – oprava názvů proměnných tak, aby měly unikátní a kompatibilní názvy,
- ‚minimal‘ – žádná oprava jména proměnné,
- ‚unique‘ – ujištění, že názvy proměnných mají unikátní název (a zároveň nejsou prázdné),
- ‚check_unique‘ – ujištění, že názvy proměnných mají unikátní název (žádná oprava – výchozí nastavení).
# import souboru dta s opravou proměnných do unikátního, kompatibilního tvaru
data <- read_stata("nazev-souboru.dta", .name_repair = universal)
Ukázka importovaného dta souboru s metadaty
Naučte se ovládat jazyk R pod dohledem zkušeného lektora
Kurz ovládání programovacího jazyka R pořádáme pravidelně v Praze i na dalších místech. Během 1denního kurzu se kromě základních funkcí naučíte do jazyka R data importovat, upravit je, analyzovat a nakonec vizualizovat.
Lektorem kurzu je Mgr. Patrik Galeta, PhD., odborný asistent katedry antropologie Západočeské univerzity v Plzni. Statistickým metodám se věnuje v rámci demografických studií, na ZČU vede také kurz zpracování dat.
Ze školení si navíc odnesete více než 40 skriptů, které můžete použít pro zpracování dat ze svého výzkumu.