M cvičení : M6120cv02 (Práce s daty v R)

Podobné dokumenty
RNDr. Marie Forbelská, Ph.D. 1

M cvičení : GLM03a (The Working Activities of Bees)

M praktikum : M0130pr03

Úkol 12. Přemysl Bejda. 22. března SAS slouží pro statistiky, jeho využití není příliš flexibilní, protože v něm nelze psát vlastní procedury.

STATISTICA Téma 1. Práce s datovým souborem

Popisná statistika. Komentované řešení pomocí programu R. Ústav matematiky Fakulta chemicko inženýrská Vysoká škola chemicko-technologická v Praze

velkou variabilitou: underdispersion, overdispersion)

KONTINGENČNÍ TABULKY Komentované řešení pomocí programu Statistica

M cvičení : GLM01a (Toxic Chemical Production Data)

Inovace a zkvalitnění výuky prostřednictvím ICT Databázové systémy MS Access propojení relací s formuláři a sestavami Ing.

Programujeme v softwaru Statistica - příklady

Výsledný graf ukazuje následující obrázek.

8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek

MS SQL Server 2008 Management Studio Tutoriál

M cvičení : GLM04b (Vztah mezi Poissonovým a

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Dotazy tvorba nových polí (vypočítané pole)

TECHNIKA UMĚLÝCH PROMĚNNÝCH V PRŮŘEZOVÉ ANALÝZE A V MODELECH ČASOVÝCH ŘAD

Pohlédněte si základní charakteristiky polohy jednotlivých veličin pomocí funkce summary.

Návod pro práci s SPSS

KIV/ZIS cvičení 6. Tomáš Potužák

PŘÍKLAD NA TŘÍDĚNÍ PODLE JEDNOHO NESPOJITÉHO ČÍSELNÉHO ZNAKU

Velmi stručný návod jak dostat data z Terminálu Bloomberg do R

Úvod do logiky (VL): 4. Zjištění průběhu pravdivostních hodnot formule tabulkovou metodou

Pravděpodobnost v závislosti na proměnné x je zde modelován pomocí logistického modelu. exp x. x x x. log 1

Časové řady - Cvičení

František Batysta 19. listopadu Abstrakt

Matematická statistika Zimní semestr

Kapitola 11: Formuláře 151

Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Jarkovský, L. Dušek, M. Cvanová. 5. Statistica

II. Elektronická pošta

Popisná statistika. Komentované řešení pomocí MS Excel

Bodové odhady parametrů a výstupů

fakulty MENDELU v Brně (LDF) s ohledem na disciplíny společného základu (reg. č. CZ.1.07/2.2.00/28.

2. Numerické výpočty. 1. Numerická derivace funkce

LDF MENDELU. Simona Fišnarová (MENDELU) Základy lineárního programování VMAT, IMT 1 / 25

Metodologie pro Informační studia a knihovnictví 2

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

9.6 TŘÍDĚNÍ PODLE JEDNOHO NESPOJITÉHO ČÍSELNÉHO ZNAKU

5 Vícerozměrná data - kontingenční tabulky, testy nezávislosti, regresní analýza

Ústav matematiky Fakulta chemicko inženýrská Vysoká škola chemicko-technologická v Praze

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

Metodologie pro Informační studia a knihovnictví 2

O čem bych tu rád povídal...

Hromadná korespondence

8 ANALÝZA ČASOVÝCH ŘAD SEZÓNNÍ SLOŽKA

Základní pojmy matematické logiky

Místo pojmu výroková formule budeme používat zkráceně jen formule. Při jejich zápisu

Obsah Úvod Kapitola 1 Než začneme Kapitola 2 Práce s hromadnými daty před analýzou

Dotaz se souhrny a dotaz křížový

Microsoft Excel kopírování vzorců, adresování, podmíněný formát. Mgr. Jan Veverka Střední odborná škola sociální Evangelická akademie

Sada 1 - Základy programování

Lineární regrese. Komentované řešení pomocí MS Excel

Budeme hledat řešení y(x) okrajové úlohy pro diferenciální rovnici druhého řádu v samoadjungovaném tvaru na intervalu a, b : 2 ) y i p i+ 1

VY_32_INOVACE_08_2_04_PR

PRAVDĚPODOBNOST A STATISTIKA

Parametrické programování

Vzorce. Suma. Tvorba vzorce napsáním. Tvorba vzorců průvodcem

1. D Y N A M I C K É DAT O V É STRUKTUR Y

Cvičení č. 2. Komunikace mezi procesy Program Hodiny. 4 body

Základná škola, Tupolevova 20, Bratislava

4 Kriteriální matice a hodnocení variant

Pearsonův korelační koeficient

GEOGRAFICKÉ INFORMAČNÍ SYSTÉMY CVIČENÍ 5

Korelace. Komentované řešení pomocí MS Excel

INFORMATIKA EXCEL 2007

Opravená data Úloha (A) + (E) Úloha (C) Úloha (B) Úloha (D) Lineární regrese

Regresní a korelační analýza

Pravidla pro tvorbu tabulek a grafů v protokolech z laboratoří fyziky

MAXScript výukový kurz

Gabriela Janská. Středočeský vzdělávací institut akademie J. A. Komenského

TEST 1 (40 bodů) (9 4)! 2. Nejméně kolikrát musíme hodit kostkou, abychom měli alespoň 80% pravděpodobnost, že padne alespoň jedna šestka?

Logika. 2. Výroková logika. RNDr. Luděk Cienciala, Ph. D.

α β ) právě tehdy, když pro jednotlivé hodnoty platí β1 αn βn. Danou relaci nazýváme relace

Přílohy. Příloha 1. Obr. P1.1 Zadání úlohy v MS Excel

Cvičení z biostatistiky 06

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

Microsoft Access. Úterý 26. února. Úterý 5. března. Typy objektů databáze: Vytvoření a návrh nové tabulky

Dopravní plánování a modelování (11 DOPM )

Výrazy a operátory. Operátory Unární - unární a unární + Např.: a +b

Instalace. Produkt je odzkoušen pro MS SQL server 2008 a Windows XP a Windows 7. Pro jiné verze SQL server a Windows nebyl testován.

Regresní a korelační analýza

Algoritmizace a programování

WinFAS. obecné. Praktický úvod do WinFASu IQ sestavy podrobně. Strana 1

Projekt Obrázek strana 135

DUM 07 téma: Proměnné, konstanty a pohyb po buňkách ve VBA

Aplikovaná ekonometrie a teorie časových řad Zápočtový test 2 Varianta P2017

4EK211 Základy ekonometrie

Úvod do databázových systémů

MANUÁL K PROGRAMU JEDNODUCHÝ SKLAD (VER-1.2)

KAPITOLA 9 - POKROČILÁ PRÁCE S TABULKOVÝM PROCESOREM

U DOKTORA. U DOKTORKY

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

Deskriptivní statistika (kategorizované proměnné)

1. Průběh funkce. 1. Nejjednodušší řešení

Suplování. ( v. 2.0) Nastavení 2. Suplování (rozvrh) 3. Poznámky k suplování 7. Výpis suplování 7. Absence v rozvrhu 8.

Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy

Testy nezávislosti kardinálních veličin

Transkript:

RNDr. Marie Forbelská, Ph.D. 1 M6120 2. cvičení : M6120cv02 (Práce s daty v R) A. Načtení vstupních dat: I. Čtení dat pomocí příkazu scan Příklad 1 U náhodně vybraných 10ti-letých chlapců a dívek byly změřeny hodnoty IQ: chlapci 113, 115, 103, 80, 92, 109, 109, 128, 117, 88, 103, 100 dívky 94, 101, 109, 116, 128, 100, 75, 75, 123, 82, 123, 94, 92 Nejprve zkopírujeme do schránky data, která se týkají chlapců. Pomocí funkce scan načteme data ze schránky do proměnné chlapci. > chlapci <- scan(file = "clipboard", sep = ",") Obdobně zkopírujeme do schránky data, která se týkají dívek a opět použijeme funkci scan. > divky <- scan(file = "clipboard", sep = ",") Z proměnných chlapci a divky vytvoříme datový rámec (datovou tabulku, datový soubor) pomocí příkazu data.frame a vypíšeme jeho obsah. > dataiq <- data.frame(iq = c(divky, chlapci), sex = c(rep(0, length(divky)), rep(1, length(chlapci)))) > dataiq IQ sex 1 94 0 2 101 0 3 109 0 4 116 0 5 128 0 6 100 0 7 75 0 8 75 0 9 123 0 10 82 0 11 123 0 12 94 0 13 92 0 14 113 1 15 115 1 16 103 1 17 80 1 18 92 1 19 109 1 20 109 1 21 128 1 22 117 1 23 88 1 24 103 1 25 100 1

2 Lineární statistické modely II (2. cvičení) II. Čtení dat pomocí příkazu read.table Příklad 2 Načteme datový soubor pomocí příkazu read.table. Vzhledem k tomu, že v prvním řádku obsahuje datový soubor názvy proměnných, v přikazu read.table nesmíme zapomenout nastavit header=true. Příkazem str vypíšeme strukturu datového rámce, příkazem header se vypíše prvních šest řádků. > filedat <- paste(data.library, "PorodniHmotnostDelka.dat", sep = "") > data <- read.table(filedat, header = TRUE) > str(data) data.frame : 99 obs. of 2 variables: $ porodni_hmotnost: int 3200 3720 4100 3960 3700 3700 2860 3420 3820 2900... $ porodni_delka : int 50 52 53 53 52 51 50 51 52 50... > head(data) porodni_hmotnost porodni_delka 1 3200 50 2 3720 52 3 4100 53 4 3960 53 5 3700 52 6 3700 51 III. Čtení dat pomocí příkazu readlines Příklad 3 Při zpracování jednotlivých dat budeme často mít k dispozici dva soubory: v jednom souboru bude jeho popis, ve druhém samotná data. Díky tomu, že první soubor bude obsahovat pouze text, tj. proměnné typu charakter, k jeho načtení budeme používat příkaz readlines. Protože je příkaz v závorkách, ihned se zobrazí obsah proměnné popis. > filetxt <- paste(data.library, "pryz.inf", sep = "") > con <- file(filetxt) > (popis <- readlines(con)) [1] "Zavislost odolnosti pryze v oderu na jejim slozeni" [2] "==================================================" [3] "Byl studovan vztah mezi odolnosti pryze v oderu \"y\" na obsahu" [4] "kremikoveho plniva \"X1\" a lepici substance \"X2\". Plnivo" [5] "zvysuje odolnost v oderu a lepici substance chemicky poji castecky" [6] "plniva k pryzi a zvysuje tak jejich ucinnost." [7] "Odhadnete parametry beta_1, beta_2 a beta_3 linearniho regresniho" [8] "modelu." [9] "[1] Y odolnost pryze v oderu" [10] "[2] X1 obsah kremikoveho plniva" [11] "[3] X2 obsah lepici substance" > close(con) Načteme i datový soubor, který nemá v prvním řádku názvy proměnných. Příkazem str vypíšeme jeho strukturu a uvedením jména datového rámce také i jeho obsah. > filedat <- paste(data.library, "pryz.txt", sep = "") > data.pryz <- read.table(filedat, header = FALSE) > str(data.pryz)

RNDr. Marie Forbelská, Ph.D. 3 data.frame : 11 obs. of 3 variables: $ V1: int 83 113 92 82 100 96 98 95 80 100... $ V2: num 1 1-1 -1 0 0 0 0 0 1.5... $ V3: num -1 1 1-1 0 0 0 1.5-1.5 0... > data.pryz V1 V2 V3 1 83 1.0-1.0 2 113 1.0 1.0 3 92-1.0 1.0 4 82-1.0-1.0 5 100 0.0 0.0 6 96 0.0 0.0 7 98 0.0 0.0 8 95 0.0 1.5 9 80 0.0-1.5 10 100 1.5 0.0 11 92-1.5 0.0 B. Úprava datových souborů: I. Přejmenování sloupců Příklad 4 V minulém příkladu jsme načetli datový soubor, který neměl v prvním řádku jména proměnných. Jazyk R automaticky proměnné po řadě nazval jmény V1, V2, V3. Chceme li jiná jména, použijeme příkaz names (popř. colnames). > names(data.pryz) <- c("odolnost_pryze", "obsah_kremikoveho_plniva", "obsah_lepici_substance") > data.pryz odolnost_pryze obsah_kremikoveho_plniva obsah_lepici_substance 1 83 1.0-1.0 2 113 1.0 1.0 3 92-1.0 1.0 4 82-1.0-1.0 5 100 0.0 0.0 6 96 0.0 0.0 7 98 0.0 0.0 8 95 0.0 1.5 9 80 0.0-1.5 10 100 1.5 0.0 11 92-1.5 0.0 II. Vytvoření proměnné typu faktor Příklad 5 V prvním příkladu jsme vytvořili datový soubor dataiq, ve kterém je druhá proměná, která nabývá hodnot 0 a 1. Z této proměnné vytvoříme faktor, jehož kategorie nazveme F a M (F (female) = 0, M (male) = 1): > dataiq$sex <- factor(dataiq$sex, labels = c("f", "M")) > head(dataiq)

4 Lineární statistické modely II (2. cvičení) IQ sex 1 94 F 2 101 F 3 109 F 4 116 F 5 128 F 6 100 F > tail(dataiq) IQ sex 20 109 M 21 128 M 22 117 M 23 88 M 24 103 M 25 100 M III. Spojování souborů Příklad 5 Předpokládejme, že máme k dispozici dva datové soubory, první (lifeforms.txt) charakterizuje rostlinu a druhý (fltimes.txt) informuje o době kvetení. Poznamenejme, že rostlina má ve jménu nejdříve rodové pojmenování (genus), potom druhové jméno (species), za ním případně následuje subspécie (subsp.), případně varieta (var.). Teprve pak, obvykle ale jen v literatuře, ne na jmenovkách, jsou údaje o jménu botanika. Oba dva soubory nejprve načteme. Pokud je příkaz v kulatých závorkách, vypíše se obsah proměnné. > filedat <- paste(data.library, "lifeforms.txt", sep = "") > (lifeforms <- read.table(filedat, header = TRUE)) Genus species lifeform 1 Acer platanoides tree 2 Acer palmatum tree 3 Ajuga reptans herb 4 Conyza sumatrensis annual 5 Lamium album herb > filedat <- paste(data.library, "fltimes.txt", sep = "") > (flowering <- read.table(filedat, header = TRUE)) Genus species flowering 1 Acer platanoides May 2 Ajuga reptans June 3 Brassica napus April 4 Chamerion angustifolium July 5 Conyza bilbaoana August 6 Lamium album January Pokud budeme chtít oba dva soubory spojit pomocí příkazu merge je třeba si uvědomit, že je třeba ošetřit situaci chybějících variant. Napíšeme li > (both1 <- merge(flowering, lifeforms))

RNDr. Marie Forbelská, Ph.D. 5 Genus species flowering lifeform 1 Acer platanoides May tree 2 Ajuga reptans June herb 3 Lamium album January herb vidíme, že výstupní soubor obsahuje pouze 3 řádky, kdežto pokud uvedeme > (both2 <- merge(flowering, lifeforms, all = TRUE)) Genus species flowering lifeform 1 Acer platanoides May tree 2 Acer palmatum <NA> tree 3 Ajuga reptans June herb 4 Brassica napus April <NA> 5 Conyza bilbaoana August <NA> 6 Conyza sumatrensis <NA> annual 7 Chamerion angustifolium July <NA> 8 Lamium album January herb výsledný soubor obsahuje všechny varianty. Protože oba dva výchozí soubory měly stejné názvy proměnných, spojování souborů bylo velmi jednoduché. Nyní načteme další soubor, který obsahuje informace o váze semen > filedat <- paste(data.library, "seedwts.txt", sep = "") > (seeds <- read.table(filedat, header = TRUE)) name1 name2 seed 1 Acer platanoides 32.0 2 Lamium album 12.0 3 Ajuga reptans 4.0 4 Chamerion angustifolium 1.5 5 Conyza bilbaoana 0.5 6 Brassica napus 7.0 7 Acer palmatum 21.0 8 Conyza sumatrensis 0.6 V případě, kdy jména proměnných neodpovídají, chceme li k souboru both2 připojit informaci o váze semene, musíme psát > (AllInf <- merge(both2, seeds, by.x = c("genus", "species"), by.y = c("name1", "name2"))) Genus species flowering lifeform seed 1 Acer palmatum <NA> tree 21.0 2 Acer platanoides May tree 32.0 3 Ajuga reptans June herb 4.0 4 Brassica napus April <NA> 7.0 5 Conyza bilbaoana August <NA> 0.5 6 Conyza sumatrensis <NA> annual 0.6 7 Chamerion angustifolium July <NA> 1.5 8 Lamium album January herb 12.0 Všimněme si ještě, že jména proměných výstupního souboru odpovídají jménům souboru both2.

6 Lineární statistické modely II (2. cvičení) IV. Třídění souborů Příklad 6 Načteme následující soubor > filedat <- paste(data.library, "worms.txt", sep = "") > (worms <- read.table(filedat, header = TRUE)) Field.Name Area Slope Vegetation Soil.pH Damp Worm.density 1 Nashs.Field 3.6 11 Grassland 4.1 FALSE 4 2 Silwood.Bottom 5.1 2 Arable 5.2 FALSE 7 3 Nursery.Field 2.8 3 Grassland 4.3 FALSE 2 4 Rush.Meadow 2.4 5 Meadow 4.9 TRUE 5 5 Gunness.Thicket 3.8 0 Scrub 4.2 FALSE 6 6 Oak.Mead 3.1 2 Grassland 3.9 FALSE 2 7 Church.Field 3.5 3 Grassland 4.2 FALSE 3 8 Ashurst 2.1 0 Arable 4.8 FALSE 4 9 The.Orchard 1.9 0 Orchard 5.7 FALSE 9 10 Rookery.Slope 1.5 4 Grassland 5.0 TRUE 7 11 Garden.Wood 2.9 10 Scrub 5.2 FALSE 8 12 North.Gravel 3.3 1 Grassland 4.1 FALSE 1 13 South.Gravel 3.7 2 Grassland 4.0 FALSE 2 14 Observatory.Ridge 1.8 6 Grassland 3.8 FALSE 0 15 Pond.Field 4.1 0 Meadow 5.0 TRUE 6 16 Water.Meadow 3.9 0 Meadow 4.9 TRUE 8 17 Cheapside 2.2 8 Scrub 4.7 TRUE 4 18 Pound.Hill 4.4 2 Arable 4.5 FALSE 5 19 Gravel.Pit 2.9 1 Grassland 3.5 FALSE 1 20 Farm.Wood 0.8 10 Scrub 5.1 TRUE 3 Chceme-li soubor setřídit (vzestupně) podle jedné proměnné, např. sklonu, napíšeme > worms[order(worms$slope), ] Field.Name Area Slope Vegetation Soil.pH Damp Worm.density 5 Gunness.Thicket 3.8 0 Scrub 4.2 FALSE 6 8 Ashurst 2.1 0 Arable 4.8 FALSE 4 9 The.Orchard 1.9 0 Orchard 5.7 FALSE 9 15 Pond.Field 4.1 0 Meadow 5.0 TRUE 6 16 Water.Meadow 3.9 0 Meadow 4.9 TRUE 8 12 North.Gravel 3.3 1 Grassland 4.1 FALSE 1 19 Gravel.Pit 2.9 1 Grassland 3.5 FALSE 1 2 Silwood.Bottom 5.1 2 Arable 5.2 FALSE 7 6 Oak.Mead 3.1 2 Grassland 3.9 FALSE 2 13 South.Gravel 3.7 2 Grassland 4.0 FALSE 2 18 Pound.Hill 4.4 2 Arable 4.5 FALSE 5 3 Nursery.Field 2.8 3 Grassland 4.3 FALSE 2 7 Church.Field 3.5 3 Grassland 4.2 FALSE 3 10 Rookery.Slope 1.5 4 Grassland 5.0 TRUE 7 4 Rush.Meadow 2.4 5 Meadow 4.9 TRUE 5 14 Observatory.Ridge 1.8 6 Grassland 3.8 FALSE 0 17 Cheapside 2.2 8 Scrub 4.7 TRUE 4 11 Garden.Wood 2.9 10 Scrub 5.2 FALSE 8 20 Farm.Wood 0.8 10 Scrub 5.1 TRUE 3 1 Nashs.Field 3.6 11 Grassland 4.1 FALSE 4

RNDr. Marie Forbelská, Ph.D. 7 Chceme-li soubor setřídit sestupně podle jiné proměnné, např. plochy, píšeme > worms[rev(order(worms$area)), ] Field.Name Area Slope Vegetation Soil.pH Damp Worm.density 2 Silwood.Bottom 5.1 2 Arable 5.2 FALSE 7 18 Pound.Hill 4.4 2 Arable 4.5 FALSE 5 15 Pond.Field 4.1 0 Meadow 5.0 TRUE 6 16 Water.Meadow 3.9 0 Meadow 4.9 TRUE 8 5 Gunness.Thicket 3.8 0 Scrub 4.2 FALSE 6 13 South.Gravel 3.7 2 Grassland 4.0 FALSE 2 1 Nashs.Field 3.6 11 Grassland 4.1 FALSE 4 7 Church.Field 3.5 3 Grassland 4.2 FALSE 3 12 North.Gravel 3.3 1 Grassland 4.1 FALSE 1 6 Oak.Mead 3.1 2 Grassland 3.9 FALSE 2 19 Gravel.Pit 2.9 1 Grassland 3.5 FALSE 1 11 Garden.Wood 2.9 10 Scrub 5.2 FALSE 8 3 Nursery.Field 2.8 3 Grassland 4.3 FALSE 2 4 Rush.Meadow 2.4 5 Meadow 4.9 TRUE 5 17 Cheapside 2.2 8 Scrub 4.7 TRUE 4 8 Ashurst 2.1 0 Arable 4.8 FALSE 4 9 The.Orchard 1.9 0 Orchard 5.7 FALSE 9 14 Observatory.Ridge 1.8 6 Grassland 3.8 FALSE 0 10 Rookery.Slope 1.5 4 Grassland 5.0 TRUE 7 20 Farm.Wood 0.8 10 Scrub 5.1 TRUE 3 Jestliže chceme soubor setřídit (vzestupně) podle více proměnných, např. uvnitř proměnné Vegetation podle proměnné Soil.pH, píšeme > worms[order(worms$vegetation, worms$soil.ph), ] Field.Name Area Slope Vegetation Soil.pH Damp Worm.density 18 Pound.Hill 4.4 2 Arable 4.5 FALSE 5 8 Ashurst 2.1 0 Arable 4.8 FALSE 4 2 Silwood.Bottom 5.1 2 Arable 5.2 FALSE 7 19 Gravel.Pit 2.9 1 Grassland 3.5 FALSE 1 14 Observatory.Ridge 1.8 6 Grassland 3.8 FALSE 0 6 Oak.Mead 3.1 2 Grassland 3.9 FALSE 2 13 South.Gravel 3.7 2 Grassland 4.0 FALSE 2 1 Nashs.Field 3.6 11 Grassland 4.1 FALSE 4 12 North.Gravel 3.3 1 Grassland 4.1 FALSE 1 7 Church.Field 3.5 3 Grassland 4.2 FALSE 3 3 Nursery.Field 2.8 3 Grassland 4.3 FALSE 2 10 Rookery.Slope 1.5 4 Grassland 5.0 TRUE 7 4 Rush.Meadow 2.4 5 Meadow 4.9 TRUE 5 16 Water.Meadow 3.9 0 Meadow 4.9 TRUE 8 15 Pond.Field 4.1 0 Meadow 5.0 TRUE 6 9 The.Orchard 1.9 0 Orchard 5.7 FALSE 9 5 Gunness.Thicket 3.8 0 Scrub 4.2 FALSE 6 17 Cheapside 2.2 8 Scrub 4.7 TRUE 4 20 Farm.Wood 0.8 10 Scrub 5.1 TRUE 3 11 Garden.Wood 2.9 10 Scrub 5.2 FALSE 8

8 Lineární statistické modely II (2. cvičení) V. Přidání řádků a sloupců Příklad 7 Načteme soubor, ve kterém jsou pro jednotlivé osoby uvedeny prodeje za jaro, léto podzim a zimu. > filedat <- paste(data.library, "salesrb.txt", sep = "") > (sales <- read.table(filedat, header = TRUE)) name spring summer autumn winter 1 Jane.Smith 14 18 11 12 2 Robert.Jones 17 18 10 13 3 Dick.Rogers 12 16 9 14 4 William.Edwards 15 14 11 10 5 Janet.Jones 11 17 11 16 Naším úkolem bude přidat novou proměnnou, která bude pro každého jednotlivce (tj. pro každý řádek) obsahovat odchylku jeho ročního průměru od celkového průměru. Nejprve spočítáme řádkové a sloupcové průměry. > (RadekPrum <- rowmeans(sales[, 2:5])) [1] 13.75 14.50 12.75 12.50 13.75 > (SloupecPrum <- colmeans(sales[, 2:5])) spring summer autumn winter 13.8 16.6 10.4 13.0 Spočítáme odchylky > (devpoeple <- RadekPrum - mean(radekprum)) [1] 0.30 1.05-0.70-0.95 0.30 > (devseasons <- SloupecPrum - mean(sloupecprum)) spring summer autumn winter 0.35 3.15-3.05-0.45 Přidáme sloupec, tj. novou proměnnou > (sales1 <- cbind(sales, devpoeple)) name spring summer autumn winter devpoeple 1 Jane.Smith 14 18 11 12 0.30 2 Robert.Jones 17 18 10 13 1.05 3 Dick.Rogers 12 16 9 14-0.70 4 William.Edwards 15 14 11 10-0.95 5 Janet.Jones 11 17 11 16 0.30 Na závěr přidáme ještě jeden řádek, kde do proměnné name dáme název proměnné, dále sezónní odchylky a do poslední proměnné, tj. do devpoeple, dosadíme nulu. Přidáme sloupec, tj. novou proměnnou > newrow <- sales1[1, ] > newrow[1] <- "devseasons" > newrow[2:5] <- devseasons > newrow[6] <- 0 > (salesnew <- rbind(sales1, newrow))

RNDr. Marie Forbelská, Ph.D. 9 name spring summer autumn winter devpoeple 1 Jane.Smith 14.00 18.00 11.00 12.00 0.30 2 Robert.Jones 17.00 18.00 10.00 13.00 1.05 3 Dick.Rogers 12.00 16.00 9.00 14.00-0.70 4 William.Edwards 15.00 14.00 11.00 10.00-0.95 5 Janet.Jones 11.00 17.00 11.00 16.00 0.30 6 devseasons 0.35 3.15-3.05-0.45 0.00 C. Úkoly: 1. Světová populace Vytvořte datový soubor s proměnnými country a population, ve kterých bude název země a počet obyvatel (minimálně 25 zemí). 2. Doplnění datového souboru Předchozí datový soubor doplňte o proměnnou continent. 3. Třídění dat Setřid te data nejprve podle počtu obyvatel, pak totéž, ale v rámci svědadílů. 4. Výběr dat a nový soubor Vytvořte nový datový soubor, ve kterém bude název kontinentu a počet obyvatel.