przewodnikPoPakiecieR3

przewodnikPoPakiecieR3



78 pnzuRrry

78 pnzuRrry

edukacj a    praca

1    uczeń pracuje

2    absolwent pracuje

3    uczeń nie pracuje

4    absolwent nie pracuje

5    uczeń


expand.grid(edukacja= c("uczen", "absolwent"), praca = cCpracuje", "nie pracuje"), piec “ cCKobieta", "Mezczyzna")) piec Kobieta Kobieta Kobieta Kobieta

pracuje Mężczyzna

6    absolwent pracuje Mezczyzna

7    uczeń nie pracuje Mezczyzna

8    absolwent nie pracuje Mezczyzna

Aby uporządkować wiersze macierzy według określonego klucza (wybranej ko--k liunny) możemy użyć już poznanej funkcji order (base). Wynikiem tej funkcji jest ’; permutacja, która powoduje że elementy wektora będą uporządkowane. Tę permu-?' tacje można wykorzystać do przeindeksowania wierszy macierzy.

>    » zainicjujmy przykładową macierz 16 liczb

[.13

[,2]

[,3]

C,4]

ClJ

14

6

16

8

[2,]

12

11

3

7

[3,]

10

2

5

15

[4.]

4

1

13

9


>    (macierz.^- matrix(sample(16:1,16 ,F) ,4,4, byrow-T))

>    Z sortujemy macierz wzglądem pierwszej kolumny, funkcją order O

odczytujemy pożądaną kolejność i przeindeksowujemy macierz

>    macierz[order(macierz[,13), 3

UJ

(.13

4

[.23

1

[,33

13

[.43

9

[2,3

10

2

’ 5

15

[3,3

12

11

3

7

[4,3

14

6

16

8

Bardzo przydatną funkcją do operacji na macierzach jest apply(base). Pozwala' ona na wykonanie pewnej funkcji na kolumnach lub wierszach zadanej macie Dzięki temu można policzyć sumy, średnie, maksima lub inne funkcje z kolumn, czy! też wierszy macierzy. Wyjaśnimy to na przykładach.

UJ

[.13

1

[.23

5

[,33

9

[.43

13

[2,3

2

6

10

14

[3,3

3

7

11

15

[4,3

4

8

12

16

>    # na tej macierzy będziemy eksperymentować

>    (macierz = matrlx(l:16,4,4))


>    # wyznaczmy sumę (trzeci argument określa co) elementów w wierszach

(drugi argument określa czy w wierszach czy w kolumnach)

>    apply(macierz,1,sum)

[1] 28 32 36 40

\ ! /


4 teraz sumę elementów w kolumnach ' apply(macierz,2,3urn)

'] 10 26 42 58

#    elementy maksymalne w wierszach S^apply (macierz,1,max)

■jt] 13 14 15 16

#    a teraz sumę kwadratów elementów w wierszach fcląpply(macierz,l,functlon(x) sum(x~2))

■1] 276 336 404 480


Wyznaczanie średnich i sura z kolumn lub wierszy macierzy w funk-cją apply O należy traktować jedynie jako przykład. Znacznie szyb-ciej można to zrobić funkcjami colSumsO, rowSumsO, colMeansO # irowMeansO.

Pomijając ten przypadek, funkcja apply () jest bardzo przydatna do wyznaczania różnych charakterystyk macierzy lub ramek danych.

Macierze można konstruować nie tylko funkcją matrix() ale również funkcjami cbind(base) i rbind(base). Funkcja cbind(base) pozwala na zbudowanie macierzy poprzez połączenie ze sobą kilku wektorów (wektory będą kolumnami w powstałej macierzy), macierzy lub przez dodanie kolumny do już istniejącej macierzy. Wynikiem tej funkcji jest macierz powstała z połączenia kolumn wszystkich argu-1 mentów (macierzy lub wektorów). Podobnie funkcja rbind(base) tworzy macierz powstałą z połączenia wierszy wszystkich argumentów. W obu przypadkach, w razie potrzeby, argumenty są konwertowane do wspólnego typu. Obie funkcje można trak-i tdwać jak macierzowe odpowiedniki funkcji c (), która służyła do łączenia wektorów.

łączenie dwóch wektorów, przy okazji zadziała , .recycling rule’’

:> !rbind(l:4, "a")

m.:S c.D c.2] f,3] c,4]

HKl: “1"    ”2"    "3"    ''4"

"a"    "a"    "a1'    "a"

Łączyć macierze ze sobą można również funkcją merge(base). Działa ona podobnie do SQLowego polecenia JOIN znanego z baz danych. Dla dwóch macierzy lub ramek danych będących argumentami tej funkcji możemy wskazać kolumny (jedną lub więcej) z kluczami (wskazujące na identyczne obiekty). Funkcja mergeO tworzy z dwóch macierzy jedną, łącząc wiersze o takiej samej wartości klucza we wskazanych kolumnach.

* konstruujemy dwie ramki danych ze wspólną kolumną 'klasa’

> (tabl = data. f rama (uczeń » cOAla", "Ola", “Ela", "Ula"), klasa


"IB",

"IB

uczeń klasa

1 Ala

IA

■2 Ola

IB

3 Ela

IB

K? Ula

IB


=c("IA"



Wyszukiwarka

Podobne podstrony:
przewodnikPoPakiecieR7 66 pnzuRrry2.1.1.1 Typ znakowyTyp znakowy służy do przechowywania napisów (ł
84710 Scan080220080229 78 MODEL EDUKACJI DIABETO LOGICZNE J W CUKRZYCY TYPU 1 Cukrzyca (diabetes me
Uwagi Wymagania programowe (edukacyjne) Podstawowe Uczeń •    Słucha
Okoń W., Wprowadzenie do dydaktyki ogólnej, Warszawa 1996. Podstawy edukacji, praca zbiorowa, Kraków
II etap edukacyjny8.    Kąty. Uczeń: 1)    wskazuje w kątach ramiona i
imo edukacja, kreatywny uczeń, innowacyjny inżynier
100c44 7 Edukacja matematyczna. Uczeń kończący klasę UL ]) liczy (w przód i w rył) od danej liczby p
Ciekawi świata [OPERON] Test sprawdzający 1 Edukacja i praca Grupa I imię 1
Słowo od redaktorów /Praca socjalna jako zmienianie / rzeczywistości przez edukację / Praca socjalna
SCHEMAT INSTRUKCJI PROJEKTU (za: E. Budnik i in. Ja i mój uczeń pracujemy aktywnie. Przewodnik po
EDUKACJA TECHNICZNA Uczeń kończący klasę II: 1)    zna środowisko techniczne: ■
EDUKACJA PLASTYCZNA Uczeń: -    określa swoją przynależność kulturową poprzez
33 Wiedza, która zniewala - transmisyjne tradycje w szkolnej edukacji transmisyjnej uczeń uczy się
WYMAGANIA EDUKACYJNE NA KONIEC KLASY III SZKOŁY PODSTAWOWEJ 1. Edukacja polonistyczna. Uczeń kończąc

więcej podobnych podstron