UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI



Podobne dokumenty
Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje

Modelowanie rynków finansowych z wykorzystaniem pakietu R

Statystyczne systemy uczące

Pakiety Matematyczne - R Zestaw 1.

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.

Wprowadzenie do programu Mathcad 15 cz. 1

Metody i analiza danych

Instalacja Pakietu R

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

Wprowadzenie do Pakietu R dla kierunku Zootechnika. Dr Magda Mielczarek Katedra Genetyki Uniwersytet Przyrodniczy we Wrocławiu

Baltie 3. Podręcznik do nauki programowania dla klas I III gimnazjum. Tadeusz Sołtys, Bohumír Soukup

MATLAB - laboratorium nr 1 wektory i macierze

Wprowadzenie do Scilab: macierze

Pracownia Informatyczna Instytut Technologii Mechanicznej Wydział Inżynierii Mechanicznej i Mechatroniki. Podstawy Informatyki i algorytmizacji

Przykład 4. (Tabela z Danymi Arkusz: Tabele Przestawne 1 ) (Przykład 2 wykonany Arkusz: Tabele Przestawne 5 )

Obliczenia iteracyjne

Podstawy Programowania C++

PROGRAMOWANIE W PYTHONIE ALGORYTMY TABLICOWE A LISTY

WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI INSTYTUT AUTOMATYKI I INFORMATYKI KIERUNEK AUTOMATYKA I ROBOTYKA STUDIA STACJONARNE I STOPNIA

Diary przydatne polecenie. Korzystanie z funkcji wbudowanych i systemu pomocy on-line. Najczęstsze typy plików. diary nazwa_pliku

Arkusz kalkulacyjny Excel

Ćwiczenie 3. MatLab: Algebra liniowa. Rozwiązywanie układów liniowych

Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011

UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI

Plan Ćwiczeń. 3) znajdowanie i zmiana kartoteki roboczej polecenia getwd(), setwd()

Pakiety Matematyczne - R Zestaw 2.

WEKTORY I MACIERZE. Strona 1 z 11. Lekcja 7.

WYRAŻENIA ALGEBRAICZNE

Macierze. Rozdział Działania na macierzach

Wstęp do Programowania Lista 1

2. Tablice. Tablice jednowymiarowe - wektory. Algorytmy i Struktury Danych

Rozdział 5. Macierze. a 11 a a 1m a 21 a a 2m... a n1 a n2... a nm

PODSTAWY AUTOMATYKI. MATLAB - komputerowe środowisko obliczeń naukowoinżynierskich - podstawowe operacje na liczbach i macierzach.

Język skryptowy: Laboratorium 1. Wprowadzenie do języka Python

-Instalacja R: -Instalacja RStudio:

Wprowadzenie do Scilab: macierze

BIBLIOTEKA NUMPY, CZĘŚĆ 1

Wymiar musi być wyrażeniem stałym typu całkowitego, tzn. takim, które może obliczyć kompilator. Przykłady:

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Pętle. Programowanie komputerowe

Tablice. Jones Stygar na tropie zmiennych

czyli Arkuszy / Układów na podstawie modelu

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Matlab, zajęcia 3. Jeszcze jeden przykład metoda eliminacji Gaussa dla macierzy 3 na 3

Informatyka w Zarządzaniu

Podstawy Automatyki ćwiczenia Cz.1. Środowisko Matlab

Warsztaty dla nauczycieli

1. Indeksy/indeksowanie : Do elementów wektora, list, macierzy czy ramek, można się odwołać na kilka sposobów.

; B = Wykonaj poniższe obliczenia: Mnożenia, transpozycje etc wykonuję programem i przepisuję wyniki. Mam nadzieję, że umiesz mnożyć macierze...

Dodatkowo klasa powinna mieć destruktor zwalniający pamięć.

Zadeklarowanie tablicy przypomina analogiczną operację dla zwykłych (skalarnych) zmiennych. Może zatem wyglądać na przykład tak:

Algebra macierzy

Metody numeryczne Wykład 4

SZKOLENIE WPROWADZENIE DO R UNIWERSYTET SZCZECIŃSKI al. Papieża Jana Pawła II nr 22a Szczecin

Programowanie dynamiczne

SUM Edukacja Techniczno Informatyczna Języki i Systemy Programowania. Wykład 3. dr Artur Bartoszewski - WYKŁAD: Języki i Systemy Programowania,

*W uproszczeniu: jest dziewięciu sędziów przyznających po dwie noty: za wartość techniczną i artystyczną (skala od 0.0 do 6.0)

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

1 Podstawy c++ w pigułce.

0 + 0 = 0, = 1, = 1, = 0.

Wykorzystanie programów komputerowych do obliczeń matematycznych

Podstawy programowania w R - część 1

Podstawowe operacje na macierzach

TABLICA (ang. array) pojedyncza zmienna z wieloma komórkami, w których można zapamiętać wiele wartości tego samego typu danych.

Lekcja 7 Tablice. Definiowanie tablicy

Ekonometria. Modele regresji wielorakiej - dobór zmiennych, szacowanie. Paweł Cibis pawel@cibis.pl. 1 kwietnia 2007

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9

Metody numeryczne Laboratorium 2

Matlab Składnia + podstawy programowania

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1

Ćwiczenie: JavaScript Cookies (3x45 minut)

Otwórz R. Zmień katalog roboczy za pomocą File/Change Dir. Wczytaj plik przypisując go obiektowi o nazwie students:

Podstawowe operacje na macierzach, operacje we/wy

Informatyka klasa III Gimnazjum wymagania na poszczególne oceny

Arytmetyka liczb binarnych

Zad. 3: Układ równań liniowych

Wprowadzenie do Mathcada 1

Rys.2.1. Drzewo modelu DOM [1]

WyŜsza Szkoła Zarządzania Ochroną Pracy MS EXCEL CZ.2

Ćwiczenie 1. Wprowadzenie do programu Octave

1 Zbiory i działania na zbiorach.

Wprowadzenie do środowiska

Tabele przestawne tabelą przestawną. Sprzedawcy, Kwartały, Wartości. Dane/Raport tabeli przestawnej i wykresu przestawnego.

czyli Arkuszy / Układów na podstawie modelu w zakładce MODEL

o nazwie: adresy.xls. Fragment danych źródłowych przestawiono na rysunku 1. Rysunek 1. Dane źródłowe - plik "adresy.xls"

Z nowym bitem. Informatyka dla gimnazjum. Część II

AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT. Instrukcja do zajęc laboratoryjnych nr 1 AUTOMATYZACJA I ROBOTYZACJA PROCESÓW PRODUKCYJNYCH

Re +/- Im i lub Re +/- Im j

EXCEL TABELE PRZESTAWNE

Język C, tablice i funkcje (laboratorium, EE1-DI)

Pętle. Dodał Administrator niedziela, 14 marzec :27

Typy danych. 2. Dane liczbowe 2.1. Liczby całkowite ze znakiem i bez znaku: 32768, -165, ; 2.2. Liczby rzeczywiste stało i zmienno pozycyjne:

3. Opracować program kodowania/dekodowania pliku tekstowego. Algorytm kodowania:

INFORMATYKA Z MERMIDONEM. Programowanie. Moduł 5 / Notatki

Podstawy Pythona. Krzysztof Gdawiec. Instytut Informatyki Uniwersytet Śląski

Podstawowe operacje i rodzaje analiz dostępne w pakiecie Statistica

MATLAB ŚRODOWISKO MATLABA OPIS, PODSTAWY

Laboratorium 3: Tablice, tablice znaków i funkcje operujące na ciągach znaków. dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski

Temat 3 ćwiczenie 5. Bazy danych w R

Ćwiczenie 1. Wprowadzenie do programu Octave

2. DZIAŁANIA NA WIELOMIANACH

Transkrypt:

UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI LABORATORIUM TECHNOLOGIA SYSTEMÓW INFORMATYCZNYCH W BIOTECHNOLOGII Pakiet R: Cz. II Strona 1 z 7

OBIEKTY Faktory (factors) Faktor jest specjalną strukturą, przechowującą oprócz danych informacje o powtórzeniach takich samych wartości oraz o zbiorze unikalnych wartości ciągu elementów. Faktor można utworzyć poprzez zdefiniowanie wektora z wartościami i następnie przekonwertowanie go do faktora za pomocą funkcji factor(): > settings = c("high", "Medium", "Low") > settings = factor(settings) > settings [1] High Medium Low Levels: High Low Medium Zestawienie ilości poszczególnych wartości możemy uzyskać przy użyciu funkcji table() np.: > table(settings) settings High Low Medium 1 1 1 Funkcja cut pozwala pogrupować dane wektora w przedziały np.: > liczby = c(1,2,3,4,5,6,7,8,9,10) > cut(liczby, c(0,3,6,10)) [1] (0,3] (0,3] (0,3] (3,6] (3,6] (3,6] (6,10] (6,10] (6,10] (6,10] Levels: (0,3] (3,6] (6,10] Macierze (matrices) / Tablice (arrays) Tablica jest wektorem, zawierającym dodatkowe dane określające uporządkowanie elementów. Najprostszą i najczęściej stosowaną formą jest tablica dwuwymiarowa (macierz), jednak istnieje możliwość stosowania dowolnej liczby wymiarów. Tablice są bardzo wygodnym narzędziem do przechowywania informacji, gdyż niezależnie od uporządkowania elementów w wiersze i kolumny, cała tabela jest dostępna pod postacią jednolitego wektora. Indeksowanie tablic odbywa się podobnie do wektorów; w nawiasie kwadratowym podajemy współrzędne indeksowanego elementu. W razie pominięcia współrzędnej wynikiem indeksowania jest cały rząd lub kolumna. Jeśli pomijamy współrzędną w indeksie, należy pamiętać o pozostawieniu przecinka. Strona 2 z 7

Tablice można stworzyć z istniejącego już wektora, poprzez przypisanie wymiarów do funkcji dim() wywołanej na wektorze. Innymi, bardziej naturalnymi funkcjami tworzącymi tablice są matrix() i array(). > tbl=1:20 > dim(tbl)=c(4,5) #wektor staje się tablicą o wymiarach 4,5 > tbl [,1] [,2] [,3] [,4] [,5] [1,] 1 5 9 13 17 [2,] 2 6 10 14 18 [3,] 3 7 11 15 19 [4,] 4 8 12 16 20 Istnieje możliwość zmiany wymiarów istniejącej już tablicy bez żadnych ograniczeń (z wyjątkiem wymogu, aby iloczyn wymiarów był równy ilości elementów). > dim(tbl) #wyświetlenie wymiarów [1] 4 5 > dim(tbl) = c(2,10) #zmiana wymiarów tablicy > tbl [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [1,] 1 3 5 7 9 11 13 15 17 19 [2,] 2 4 6 8 10 12 14 16 18 20 Jeśli parametrem w nawiasie kwadratowym (indeksem) jest tablica o dwóch kolumnach, rezultatem jest wektor zawierający dane z tabeli o współrzędnych zamieszczonych w poszczególnych wierszach indeksu (wiersz w pierwszym, kolumna w drugim). W ten sposób można się jednorazowo odnosić do całej serii elementów tabeli, niezależnie od ich układu. Funkcje cbind() i rbind() formują tablice z podanych wektorów, poprzez umieszczenie ich rzędami lub kolumnami w nowo tworzonej tabeli. W ten sposób można serie danych łatwo scalić w tabele. Odwrotnie, każdą tabelę można prosto przekształcić na wektor, stosując funkcję as.vector(). Listy (lists) Lista jest uporządkowanym zbiorem elementów różnego typu. Każdy z nich może posiadać również nazwę, przez którą można się do niego odwołać w dalszych operacjach. Do tworzenia list służy funkcja list(). Jeśli wywołamy ją z listą liczb, otrzymamy listę jednoelementowych wektorów: > s = list(1,2) Strona 3 z 7

> s [[1]] [1] 1 [[2]] [1] 2 Jeśli chcemy odwołać się do konkretnego elementu listy i znamy jego numer, to można listę indeksować, jednak indeks należy podać w podwójnych nawiasach kwadratowych. W powyższym przypadku s[[1]] to pierwszy element listy, czyli jednoelementowy wektor z jedynką. Jeśli elementem listy jest wektor wieloelementowy lub tablica, można oczywiście odwoływać się dalej, podając jeszcze jeden indeks, tym razem w pojedynczym nawiasie, np. s[[2]][1]. Każdy z elementów listy może mieć określoną nazwę i takie nazwane listy spotyka się w praktyce najczęściej. Wtedy też można się odnosić do konkretnych elementów poprzez sprzężenie nazwy listy z nazwą elementu znakiem dolara $. Nie musimy pamiętać, który z kolei element nas interesuje, wystarczy znać jego nazwę. Upraszcza to znacznie odwołania do poszczególnych zmiennych listy. > s = list(wekt=c(1,2,3),skal=2,tabl=array(data=1:4,dim=c(2,2))) > s $wekt [1] 1 2 3 $skal [1] 2 $tabl [,1] [,2] [1,] 1 3 [2,] 2 4 Nazwy elementów listy można skracać do takiej długości, która wystarcza do jednoznacznej ich identyfikacji. Istnieje również możliwość łączenia list funkcją c(), np. lista3 = c(lista1,lista2). Ramki (data frames) Ramka to specyficzna struktura środowiska R. Najprościej można określić ją jako macierz, w której poszczególne kolumny mogą zawierać wartości różnego rodzaju. Do utworzenia takiej struktury służy funkcja data.frame(). Można również przekształcić inne struktury na ten typ funkcją as.data.frame(). Aby zaadresować wybraną kolumnę ramki używa się operatora $ z nazwą kolumny. > x = rep(3,4) > y = rep(5,4) Strona 4 z 7

> xy = data.frame(x,y) > xy x y 1 3 5 2 3 5 3 3 5 4 3 5 #utworzenie nowego wektora q poprzez wybranie kolumny x z ramki xy > q = xy$x > q [1] 3 3 3 3 Dodawanie kolumn lub wierszy uzyskuje się wykorzystując funkcje cbind() i rbind(). Pakiet R pozwala na łatwe ładowanie danych z zewnętrznych plików. Każdą tabelę zawartą w pliku tekstowym (utworzoną np. w Excelu poprzez opcję export) można załadować funkcją read.table(). Opcja header w funkcji read.table() oznacza, że plik tekstowy zawiera w pierwszym wierszu nazwy kolumn. Jedną z najważniejszych właściwości obiektów typu lista i ramka jest możliwość ich przyłączenia (attach). Jeśli mamy listę lub ramkę o nazwie lista, zawierającą elementy a i b, to po jej włączeniu, w środowisku zmienne te istnieją bezpośrednio i nie trzeba się odwoływać do nich za pośrednictwem ramki lub listy, aż do czasu jej odłączenia (detach). Sprawdzanie i zmiana typu danych W pakiecie R istnieje grupa funkcji is.typ, która umożliwia identyfikację typu i rodzaju danych. Z kolei grupa funkcji as.typ wykonuje zamianę istniejącego typu lub rodzaju danych na inny. Wynik konwersji należy przypisać do zmiennej, inaczej będzie on nietrwały. W przypadku nonsensownej zamiany danych, np. z typu tekstowego na liczbowy, program dokonuje konwersji do wartości NA (not available). Strona 5 z 7

Zad. 1. Katedra Informatyki Uniwersytetu Rzeszowskiego ZADANIA Proszę utworzyć wektor o nazwie wek zawierający następujące wartości w podanej kolejności: 1,2,2,3,3,3,4,4,4,4,5,5,5,5,5. Do utworzenia obiektu należy wykorzystać funkcję seq() i rep(). Zad. 2. Proszę utworzyć wektor o nazwie z o następujących elementach: 1,2,3,4,12,31,2,51,23,1,23,2341,23,512,32,312,123,21,3, a następnie: a) posortować elementy rosnąco wykorzystując funkcję operującą na wektorach; b) wybrać elementy od 3-go do 7-go; c) zmienić wartość trzeciego elementu z 3 na 7 i wyświetlić cały wektor; d) podać długość wektora z (liczbę elementów); e) utworzyć wektor z100 zawierający tylko te elementy wektora z, których wartości są większe od 100. Zad. 3. Obliczyć dla wektorów: wek1 (o wartościach: 0,0.5,1,,4,4.5,5) i wek2 (o wartościach od -10 do 10 z krokiem równym 2): a) średnie, b) mediany, c) odchylenia standardowe, d) sumy, e) iloczyny elementów, f) wartości zwracane przez funkcje: - pmin, - pmax, - cummin, - cummax diff. Zad. 4. Proszę utworzyć stuelementowe wektory logiczne wl1 (co szósty element ma wartość TRUE, reszta FALSE) i wl2 (co 9-y element ma wartość TRUE, reszta FALSE). a) Ile elementów ma wartość TRUE? Strona 6 z 7

b) Podaj indeksy elementów o wartości TRUE dla połączonych wektorów? c) Jakie wartości będzie posiadał wektor wl3 stanowiący sumę wl1 i wl2? Podaj interpretację wyników. Zad. 5. Proszę utworzyć macierz o nazwie matrix zawierającą liczby od 1 do 7, w 3 kolumnach. Zad. 6. Proszę utworzyć listę o nazwie mylist zawierającą następujące elementy: - Liczbę 5; - Wektor w o elementach: 10, 9, 8, 7, 6, 5; - Tekst seven ; - Macierz mat o wymiarach: 2 x 2 zawierającą liczby całkowite: 2, 3, 1, 5 (w 2 wierszach i 2 kolumnach). Zad. 7. Proszę utworzyć ramkę o nazwie comparativegenomesize zawierającą 3 wektory: - wektor pierwszy o nazwie organizm z elementami: "Human", "Mouse", "Fruit Fly", "Roundworm", "Yeast"; - wektor drugi o nazwie genomesizebp z elementami: 3000000000, 3000000000, 135600000, 97000000, 12100000; - wektor trzeci o nazwie estgenecount z elementami: 30000, 30000, 13061, 19099, 6034. Jako nazwy kolumn ramki należy zastosować nazwy wektorów. UWAGA! Całą sesję należy zapisać w pliku o nazwie identyfikującej użytkownika w swoim folderze. Utworzone powyżej obiekty będą wykorzystywane na następnych zajęciach! Lokalizację zapisywanych plików określamy poleceniem Change dir z menu Plik. Obraz przestrzeni roboczej zapisujemy komendą: > save.image(file= nazwa_użytkownika.rdata ) Strona 7 z 7