KSAP / Podstawy programowania w R. Michał Ramsza

Wielkość: px
Rozpocząć pokaz od strony:

Download "KSAP / Podstawy programowania w R. Michał Ramsza"

Transkrypt

1 KSAP / Podstawy programowania w R Michał Ramsza 1

2 Spis treści 2

3 1 Pierwszy skrypt Celem tego punktu jest stworzenie pierwszego skrypu, który zawiera typowe kroki do analizy danych: wczytania danych, wykonania analizy, zapisania wyników przeprowadzonej analizy. 1.1 Prosta analiza danych stworzenie histogramu Poniżej jest przykład prostego skryptu obrazującego wykorzystanie funkcji hist(). Skrypt składa się z dwóch elementów: (a) stworzenia danych; (b) stworzenia wykresu 1 ### Tworzenie danych 2 n <- 10^4 3 x <- rnorm ( n, 0, 1) 4 5 ### Tworzenie prostego wykresu 6 hist ( x, freq = FALSE, 7 col = "# AAFFCC ", 8 main = "To jest tytul ", 9 xlab = " napis na dole ", 10 ylab = " napis z boku ") 11 grid () 12 lines ( density ( x), col = " red ", 13 lwd = 2, 14 lty = " dashed " ) 1.2 Zapisywanie i wczytywanie danych Zapisywanie wykresów do pliku Poniższy skrypt pokazuje w jaki sposób można zapisać wykresy do plików graficznych. 1 ### Tworzenie danych 2 n <- 10^4 3

4 3 x <- rnorm ( n, 0, 1) 4 5 ### Otwieranie pliku 6 png ( file = " rys1. png ") 7 8 ### Tworzenie prostego wykresu 9 hist ( x, freq = FALSE, 10 col = " yellow ", 11 main = "To jest tytul ", 12 xlab = " napis na dole ", 13 ylab = " napis z boku ") 14 grid () 15 lines ( density ( x), col = " red ", 16 lwd = 2, 17 lty = " dashed " ) ### Zamykanie pliku 20 dev. off () W powyższym skrypcie ważne aby każde wywołanie funkcji png() było zakończone wywołaniem funkcji dev.off(). Wszystko to, co ma znaleźć się w pliku musi zostać obliczone po wywołaniu funkcji png() a przed wywołaniem funkcji dev.off() Zapisywanie danych liczbowy do pliku CSV 1 ### Tworzenie przykladowych danych 2 n <- 10 # liczba wierszy 3 dane <- data. frame ( " kolumna A" = rnorm ( n, 0, 1), " kolumna B" = rbinom ( n, 10,.5) ) 4 5 ### Zapisywanie danych 6 write. csv2 ( file = " dane. csv ", dane ) Wczytywanie danych z pliku CSV 1 ### Wczytywanie danych 4

5 2 d <- read. csv2 ( file = " dane. csv ") 3 4 ### Wykorzystanie wczytanych danych 5 mean ( d$ kolumna.a) 6 mean ( d$ kolumna.b) 1.3 Obsługa plików XLSX Wczytywanie 1 ### Wgranie pakietow 2 require ( readxl ) 3 4 ### Sprawdzenie listy skoroszytow 5 zeszyty <- excel _ sheets ( path = "./ dane. xlsx ") 6 zeszyty 7 8 ### Wgranie skoroszytow 9 dane1 <- read _ excel ( path = "./ dane. xlsx ", sheet = zeszyty [1]) 10 dane2 <- read _ excel ( path = "./ dane. xlsx ", sheet = zeszyty [2]) dane1 13 head ( dane2 ) 14 dane1 $ dane 15 dane2 $ wymiar Zapisywanie 1 ### Tworzenie danych 2 data <- data. frame ( 3 " pozycja " = 1:10, 4 " wartosc " = rnorm (10, 0, 1) 5 ) 6 data 7 8 ### Wczytanie pakietu 9 require ( xlsx ) 5

6 10 11 ### Gdyby to dzialalo to mozna zapisac do XLSX 2 Struktury danych (podstawowe) 2.1 Wektory Wektory to podstawowa struktura danych w R. Poniższy skrypt pokazuje podstawowe tworzenie wektorów, podstawowe operacje na wetkorach i przykładowe wykorzystanie. 1 ### Tworzenie wektorow 2 x <- c( 123, 11, 34, 56) 3 x 4 y <- rnorm ( 100) 5 y 6 7 ### Funkcje do generowania wektorow 8 1: : :5 11 5: seq ( 0, 1, 0.1) 14 seq ( 0, 1, length. out = 13) rep ( 1:3, 5) ### Dzialania na wektorach 19 x <- 1:5 20 x 21 length ( x) 22 sort ( x) 23 sample ( x) 24 min (x) 25 max ( x) 26 range ( x) 6

7 27 28 x^2 29 x/2 30 log ( x) 31 2*x x 34 y <- sample ( x) 35 y ### Dodawanie wektorow i recycling rule 38 a <- c(1, 2, 3, 4) 39 a + c (0,1) ### ### ### ### Przykladowe wykorzystanie do stworzenia wykresu kwartalnego 46 n < dane <- rnorm (n * 4) + c (1,2,3,4) plot (x = jitter ( rep (1:4, n)), 50 y = dane, 51 pch = 20, 52 type = "p", 53 col = rgb (1, 0, 0,.5) 54 ) abline ( v = 1:3+.5, lty = " dashed ") ### Typy przechowywane w wekorze : dowolne ale tylko jeden na raz 59 c (1,5,6) 60 c(1,5,6, " ala ") Drugą ważną sprawą jest indeksowanie wektorów. 1 ### Tworzenie przykladowego wektora 7

8 2 x <- 5:1 3 x 4 5 ### Indeksowanie przez podanie pozycji 6 x [1] 7 x [4] 8 x[c (1,4) ] 9 x[c (4,1) ] 10 x[c(1,1,1,4,4,4,4,1,1,1,4,4,4,1,1,1)] 11 y <- x [ 1: 3] # zapisanie wyniku selekcji w nowej zmiennej 12 x [2:4] 13 x[ rbinom ( 10, 4,.5) +1] 14 x [0] # to nie istnieje, pozycje sa numerowane od dir () [1:4] ### Indeksowanie przez podanie wektora logicznego 19 TRUE 20 FALSE ind <- c( TRUE, FALSE, TRUE ) 23 ind 24 x <- c(6, 3, 2) 25 x 26 x[ ind ] x[x > 2] x <- rnorm ( 30, 0, 1) 31 mean ( x[x > 0]) 32 mean ( x[x < 0]) ### Przyklad 35 area <- rnorm (10, 100, 50) 36 area 37 res <- rnorm ( 10, 10, 1) 38 res 39 8

9 40 mean ( res [ area > 100]) 41 mean ( res [ area < 100]) ### Przyklad 44 x <- rnorm (100, 0, 1) 45 x 46 x[x >0 & x <1] 47 x[x < -1 x > 1] ### Przyklad 50 n < area <- rnorm ( n, 100, 50) 52 area 53 res <- rnorm ( n, 0, 10) 54 res 55 nazwa <- replicate ( n, paste ( sample ( letters, 10), collapse = "")) 56 nazwa duzeobszary <- area > deficyt <- res < nazwa [ duzeobszary & deficyt ] 62 nazwa [! duzeobszary & deficyt ] res [ duzeobszary & deficyt ] barplot ( 67 height = - res [ duzeobszary & deficyt ], 68 names. arg = nazwa [ duzeobszary & deficyt ], 69 horiz = FALSE ) ### Indeksowanie przez nazwe 72 x <- c (100, 200, 150) 73 names ( x) <- c(" powiat 1", " powiat 2", " powiat 3") 74 x 75 x[" powiat 2"] 9

10 2.2 Listy Listy są drugą podstawową strukturą danych w R. Jest to również często podstawa do konstruowania obiektów w modelu S3. 1 ### Tworzenie podstawowych list 2 x <- list ( powiatid = " id83756 ", powierzchnia = 230, ludnosc = 30) 3 x 4 5 ### Selekcja z listy po nazwie slotu 6 x$ powiatid 7 x$ powierzchnia 8 9 ### Jak sie dodaje sloty? 10 x <- c( x, list ( smog = TRUE )) 11 x ### Jak sie usuwa sloty? / Jak sie zmienia wartosci na slotach? 14 x$ smog <- NULL 15 x 16 x$ ludnosc < x ### Indeksowanie przez podanie pozycji slotu 20 x [1] # zwraca liste 21 x [[ 1]] # zwraca wartosc slotu 2.3 Ramki danych Z technicznego punktu widzenia ramka danych to lista ale jest ona inaczej interpretowana. Poniżej jest przykład pracy ramkami danych. 1 ### Tworzenie ramki danych 2 n < dane <- data. frame ( 4 nazwa = replicate ( n, paste0 ( sample ( letters, 5), collapse = "")), 10

11 5 powierzchnia = rnorm ( n, 100, 50), 6 ludnosc = rnorm ( n, 10000, 3000) 7 ) 8 head ( dane ) 9 typeof ( dane ) ### Dodawanie kolumny 12 dane <- cbind ( 13 dane, 14 data. frame ( deficyt = rnorm ( n, 0, 30) ) 15 ) 16 head ( dane ) nowedane <- data. frame ( 19 nazwa = replicate ( n, paste0 ( sample ( letters, 5), collapse = "")), 20 powierzchnia = rnorm ( n, 100, 50), 21 ludnosc = rnorm ( n, 10000, 3000), 22 deficyt = rnorm ( n, 0, 30) 23 ) dane <- rbind ( dane, nowedane ) 26 dane ### Indeksowanie ramki danych 29 names ( dane ) 30 dane $ ludnosc 31 dane $ deficyt dane [1:10, ] 34 dane [c(1, 10, 20), ] 35 dane [c(1, 10, 20), c(1, 3)] 36 dane [c(1, 10, 20), c(1, 3, 4)] 37 dane [c(1, 10, 20), c( " ludnosc ", " deficyt ")] 38 dane [ dane $ deficyt < 0 & dane $ ludnosc > 13000, ] 39 dane [ dane $ deficyt < 0 dane $ ludnosc > 13000, ] zbior1 <- dane [ dane $ deficyt < 0 & dane $ ludnosc > 13000, ] 42 barplot ( height = zbior1 $ deficyt, names. arg = zbior1 $ nazwa, 11

12 43 density = 20, angle = 45) Proste wykorzystanie modelu regresji liniowej. Model wykorzystuje dane zapisane w ramce danych i zwraca wynik w postaci listy. 1 ### Wgranie danych 2 data ( cars ) 3 head ( cars ) 4 names ( cars ) 5 ls () 6 ### rm( list = ls ()) 7 8 plot ( cars, pch = 20) 9 model <- lm( dist ~ +1 + speed, data = cars ) 10 summary ( model ) 11 abline ( model, lwd = 2) model2 <- lm( dist ~ -1 + I( speed ^2), data = cars ) 14 summary ( model2 ) 15 plot ( cars, pch = 20) 16 x <- seq ( min ( cars $ speed ), max ( cars $ speed ), 1) 17 y <- model2 $ coefficients * x ^2 18 lines ( x = x, y = y, col = " red ") 3 Kontrolowanie wykonania programu 3.1 Wykonania warunkowe Najprostsza kontrola wykonywania programu to zastosowanie konstrukcji if(){}. Poniżej przykład zastosowania takiej konstrukcji. 1 ### Proste wykonanie warunkowe / blok kodu 2 x < if( x > 0 ){ 4 print ( " Zmienna x jest dodatnia ") 12

13 5 } 6 7 ### Bardziej skomplikowany warunek 8 x <- 3 9 y < if( x > 0 & y > 0 ){ 11 print ( " Zmienna x jest dodatnia i zmienna y tez jest dodatnia ") 12 } x < y < if( x > 0 y > 0 ){ 17 print ( " Warunek jest spelniony ") 18 } x < y < if(!(x > 0 y > 0) ){ 23 print ( " Warunek jest spelniony ") 24 } ### Uwaga, ponizsza konstrukcja nie jest bezpieczna 27 x < if( x == 2L ){ 29 print ( " Warunek jest spelniony ") 30 } ### Konstrukcja znacznie bezpieczniejsza 33 x <- 2L 34 if( identical ( x, 2L) ){ 35 print ( " Warunek jest spelniony ") 36 } ### Porownanie wektorow 39 x <- c(1, 2) 40 y <- c(1, 2, 3) 41 if( x == y){ 42 print ( " Warunek jest spelniony ") 13

14 43 } if( identical ( x, y)){ 46 print ( " Warunek jest spelniony ") 47 } Warunek z alternatywą 1 ### Prosta konstrukcja warunku z alternatywa 2 x < if( x > 0){ 4 print ( " Zmienna x jest dodatnia ") 5 } else { 6 print ( " Zmienna x nie jest dodatnia ") 7 } Warunek, który pozwala obsłużyć wiele możliwości. 1 ### Pierwsza metoda 2 x <- 3 3 switch ( x, 4 { print ( "To jest blok 1")}, 5 { print ( "To jest blok 2")}, 6 { print ( "To jest blok 3")} 7 ) 8 9 ### Druga metoda 10 x <- " alert " 11 switch ( x, 12 " normalna " = { print ( " Kod osluguje sytuacje normalna ")}, 13 " nietypowa "= { print ( " Kod obsluguje sytuacje nietypowa ")}, 14 " alert " = { print ( " Tutaj cos sie sypie ")} 15 ) Wektorowe warsja if() to funkcja ifelse(), która jest znacznie szybsza. 1 ### Podstawowe wykorzystanie 2 x <- rnorm ( 20) 3 y <- rep ( 0, length ( x)) 14

15 4 ifelse ( x > 0, x, y) 5 6 ### T T T F F T F 7 ### x x x x x x x 8 ### y y y y y y y 9 ### x x x y y x y 3.2 Pętle Najprostsza pętla to pętla for(){}. Poniżej przykład wykorzystania takiej pętli. 1 ### Proste wywolanie for () {} 2 for ( k in 1:10) { 3 print ( k ^2) 4 } 5 6 ### Iterowanie po znakach 7 for ( a in letters ){ 8 cat ( a) 9 } ### Wypisanie wszystkich plikow w danych katalogu 12 for ( plik in dir ()){ 13 print ( plik ) 14 } Przykład. Skrypt, który w katalogu roboczym tworzy katalog dane, zmienia katalog roboczy na katalog dane, tworzy tam 100 plików z losowymi danymi i o losowych nazwach w formacie CSV, zmienia katalog roboczy na początkowy katalog roboczy. 1 ### Tworzenie katalogu zawierajacego dane 2 katalogdane <- " dane " 3 if(! dir. exists ( katalogdane )){ 4 dir. create ( katalogdane ) 5 } 6 7 ### Ustawianie nowego katalogu roboczego 15

16 8 oryginalnykatalogroboczy <- setwd ( katalogdane ) 9 10 ### Tworzenie losowych plikow z danymi 11 liczbaplikow < for ( k in 1: liczbaplikow ){ ## Tworzenie nazwy pliku 16 nazwapliku <- paste0 ( " dane _", as. character ( k), ". csv ") ## Tworzenie przykladowych danych 19 dane <- data. frame ( " wartosci " = rnorm ( 10) ) ## Zapisywanie danych do pliku 22 write. csv ( file = nazwapliku, dane ) } ### Ustawianie poczatkowego katalogu roboczego 27 setwd ( oryginalnykatalogroboczy ) Przykład wykorzystujący stworzone powyżej dane. Zadanie polega na tym aby wczytać zdane ze wszystkich plików i na tej podstawie stworzyć histogram. 1 ### Parametry skryptu 2 katalogdane <- " dane " 3 4 ### Ustawianie katalogu roboczego na katalog z danymi 5 oryginalnykatalogroboczy <- setwd ( katalogdane ) 6 7 ### Wczytanie danych 8 plikidane <- list. files ( pattern = ". csv ") # wektor nazw plikow z danymi 9 wczytanedane <- data. frame ( c(), " wartosc " = c()) 10 for ( plik in plikidane ){ 11 d <- read. csv ( plik ) 12 wczytanedane <- rbind ( wczytanedane, d) 13 } 14 16

17 15 ### Powracanie do oryginalnego katalogu roboczego 16 setwd ( oryginalnykatalogroboczy ) ### Analiza danych 19 hist ( wczytanedane $ wartosci, freq = FALSE, angle = 45, density = 20, 20 main = " Analiza danych ", xlab = "", ylab = "", xlim = c( -5,5)) 21 lines ( density ( wczytanedane $ wartosci ), col = " red ", lwd = 2) 22 grid () 4 Funkcje 4.1 Podstawowa definicja funkcji Aby zdefiniować funkcję wykorzystujemy konstrukcję postaci function(){}. 1 ### Definicja funkcji bez arguemntow 2 f1 <- function (){ 3 print ( " Hello world!") 4 } 5 6 ### Wywolanie funkcji 7 f1 () 8 9 ### Definicja funkcji z jednym argumentem 10 f2 <- function ( x){ 11 x^2 12 } ### Wywolanie funkcji 15 x <- f2( 13) 16 x ### Definicja funkcji w wieloma argumentami 19 f3 <- function ( x, y){ 20 if ( x > 0 ){ 17

18 21 return ( x^y) 22 } else { 23 stop ( " Funkcja jest zdefiniowana tylko dla dodatnich wartosc x" 24 } 25 } ) ### Wywolanie 28 f3( 4, 1/2) 29 f3( 3, 2) 30 f3( -4, 1/2) Poniżej prosty przykład funkcji, która jako argument przyjmuje inną funkcję. 1 ### Prosta funkcja do tworzenia wykresow innych funkcji 2 rysujwykres <- function ( funkcja, dziedzina, liczbapunktow ){ 3 x <- seq ( min ( dziedzina ), max ( dziedzina ), length. out = liczbapunktow ) 4 y <- funkcja ( x) 5 plot ( x = x, y = y) 6 } 7 8 rysujwykres ( exp, c( -pi, pi), 100) 9 10 g <- function ( x){ sin ( x ^2) } 11 rysujwykres ( g, c( -pi, pi), 500) 4.2 Funkcje z domyślnymi wartościami argumentów 1 ### Prosta funkcja do tworzenia wykresow innych funkcji 2 rysujwykres <- function ( funkcja, dziedzina, liczbapunktow = 100) { 3 x <- seq ( min ( dziedzina ), max ( dziedzina ), length. out = liczbapunktow ) 4 y <- funkcja ( x) 5 plot ( x = x, y = y) 6 } 7 18

19 8 g <- function ( x){ sin ( x ^2) } 9 rysujwykres ( g, c( -pi, pi), 500) 10 rysujwykres ( g, c( -pi, pi)) 4.3 Przekazywanie argumentów 1 ### Prosta funkcja do tworzenia wykresow innych funkcji 2 rysujwykres <- function ( funkcja, dziedzina, liczbapunktow = 100,...) { 3 x <- seq ( min ( dziedzina ), max ( dziedzina ), length. out = liczbapunktow ) 4 y <- funkcja ( x) 5 plot ( x = x, y = y,...) 6 } 7 8 g <- function ( x){ sin ( x ^2) } 9 rysujwykres ( g, c( -pi, pi), 500) 10 rysujwykres ( g, c( -pi, pi), 500, type = "o", pch = 20, col = " blue ") 4.4 Wywoływanie funkcji 1 ### Prosta funkcja do tworzenia wykresow innych funkcji 2 rysujwykres <- function ( funkcja, dziedzina, liczbapunktow = 100,...) { 3 x <- seq ( min ( dziedzina ), max ( dziedzina ), length. out = liczbapunktow ) 4 y <- funkcja ( x) 5 plot ( x = x, y = y,...) 6 } 7 8 g <- function ( x){ sin ( x ^2) } 9 rysujwykres ( g, c( -pi, pi), 500) 10 rysujwykres ( g, c( -pi, pi), 500, type = "o", pch = 20, col = " blue ") 11 rysujwykres ( dziedzina = c( - pi, pi), liczbapunktow = 500, funkcja = g) 4.5 Zmienne lokalne i globalne 1 ### Czyszczenie 2 rm( list = ls ()) 19

20 3 ls () 4 5 ### Zmienne globalne 6 x < ### Przyklad 1 9 f1 <- function (){ 10 print ( x) 11 } f1 () ### Przyklad 2 16 f2 <- function ( x){ 17 print ( x) 18 } f2( x = 50) 21 x ### Przyklad 3 24 f3 <- function (){ 25 print ( x) 26 x < print ( x) 28 } f3 () 31 x ### Przyklad 4 34 f4 <- function ( x){ 35 print ( x) 36 x < print ( x) 38 } f4( x = x) 20

21 41 x ### Przyklad 5 / Uwaga : ta konstrukcja nie jest bezpieczna! 44 f5 <- function (){ 45 x << } x 49 f5 () 50 x 5 Inne konstrukcje iterujące 1 ### Proste porownanie szybkosci 2 liczbaprob <- 10^5 3 dlugoscproby < ### Tworzenie przykladowych danych 6 dane <- matrix ( rnorm ( dlugoscproby * liczbaprob ), dlugoscproby, liczbaprob ) 7 8 ### Rozwiazanie 1 9 wyniki1 <- c() 10 system. time ({ 11 for ( k in 1: liczbaprob ){ 12 wyniki1 <- c ( wyniki1, mean ( dane [,k])) 13 } 14 }) ### Pierwsze podejscie do programowania funkcyjnego 17 system. time ({ 18 wyniki2 <- apply ( X = dane, MARGIN = 2, FUN = mean ) 19 }) identical ( wyniki1, wyniki2 ) 21

22 6 Przykładowe zastosowania 6.1 Prosta analiza dochodów 1 ### Ewentualna instalacja brakujacych pakietow 2 ### install. packages ( " readxl ") 3 4 ### Wykorzystane biblioteki 5 require ( readxl ) 6 7 ### Ustawianie srodowiska pracy 8 Sys. setlocale ("LC_ CTYPE ", "pl_pl") 9 ### setwd ("H:/ Zadania \ R") ### Wczytanie danych 12 plikidane <- dir () 13 dane <- read _ xlsx ( path = plikidane [1], sheet = excel _ sheets ( plikidane [1]) [2] ) 14 dane ### Czyszczenie danych ### Wyciaganie lat 19 danelata <- unlist ( dane [1,]) 20 danelata <- as. integer ( danelata [3: length ( danelata )]) 21 danelata ### Wyciaganie nazw wojewodztw 24 danenazwy <- unlist ( dane [,2]) 25 danenazwy <- as. character ( danenazwy [4: length ( danenazwy )]) 26 names ( danenazwy ) <- NULL 27 danenazwy ### Wyciaganie wartosc 30 danedim <- dim ( dane ) 31 danewartosci <- apply ( X = as. matrix ( dane [4: danedim [1], 3: danedim [2]]), 32 MARGIN = c (1,2), 22

23 33 FUN = as. numeric ) 34 danewartosci <- as. data. frame ( danewartosci ) 35 names ( danewartosci ) <- danelata 36 row. names ( danewartosci ) <- danenazwy 37 danewartosci ### Tworzenie wykresow 40 wykresporownanie <- function ( danewartosci, nazwawojewodztwa, skala = " PLN "){ ## Wycinanie danch do wykresy 43 danetemp <- danewartosci [ nazwawojewodztwa,] ## Na podstawie liczby danych tworzenie roznych kolorow 46 cols <- rainbow ( dim ( danetemp [ 1]) ) ## Zmiana skali danych 49 switch ( skala, 50 " MLN PLN " = { danetemp <- danetemp / 10^6} 51 ) ## Wyciaganie lat do wykresu 54 danelata = as. integer ( names ( danewartosci )) ## Tworzenie pierwszego wykresu 57 plot ( x = danelata, y = danetemp [1,], 58 xlab = " lata ", 59 ylab = skala, 60 main = " Dochody ", 61 type = "o", 62 pch = 20, 63 col = cols [1]) ## Jezeli wiecej wojewodztw to dorysowujemy kolejne wykresy 66 if( dim ( danetemp ) [1] > 1 ){ 67 for ( k in 2: dim ( danetemp ) [1] ){ 68 lines ( x = danelata, y = danetemp [ k,], col = cols [ k]) 23

24 69 points ( x = danelata, y = danetemp [ k,], pch = 20, col = cols 70 } 71 } [k]) ## Tworzenie i dodawanie legendy 74 legend ( x = " topleft ", nazwawojewodztwa, col = cols, pch = 20) ## Zwracam w sposob niewidoczny tabele z wykorzystanymi danymi 77 invisible ( danetemp ) } nazwawojewodztwa <- c( " POMORSKIE ", " PODLASKIE ", " OPOLSKIE ") 82 wykresporownanie ( danewartosci, 83 c( " POMORSKIE ", " PODLASKIE ", " OPOLSKIE "), 84 skala = " PLN ") 85 wykresporownanie ( danewartosci, 86 c( " POMORSKIE ", " PODLASKIE ", " OPOLSKIE "), 87 skala = " MLN PLN ") 6.2 To samo co poprzednio ale z wykorzystaniem biblioteki 1 ### Wykorzystane biblioteki 2 source ("./ lib.r") 3 4 ### Ustawianie srodowiska pracy 5 Sys. setlocale ("LC_ CTYPE ", "pl_pl") 6 7 ### Wczytanie danych 8 plikidane <- dir () 9 danewartosci <- czytajdane ( nazwapliku = plikidane [1], 10 nazwaarkusza = excel _ sheets ( plikidane [ 1]) [2] ) ### Tworzenie wykresow 14 24

25 15 wykresporownanie ( danewartosci, 16 c( " POMORSKIE ", " PODLASKIE ", " OPOLSKIE "), 17 skala = " PLN ") wykresporownanie ( danewartosci, 20 c( " POMORSKIE ", " PODLASKIE ", " OPOLSKIE "), 21 skala = " MLN PLN ") 6.3 Tworzenie prostych map W następnym przykładzie wykorzystamy stworzoną powyżej bibliotekę oraz plik z mapą województw pochodzący ze strony dane-do-pobrania/. 1 ### Wykorzystane biblioteki 2 source ("./ lib.r") 3 4 ### Wykorzystane biblioteki zewnetrzne 5 ### install. packages (" rgdal ") 6 require ( rgdal ) 7 require ( maptools ) 8 9 ### Ustawianie srodowiska pracy 10 Sys. setlocale ("LC_ CTYPE ", "pl_pl") ### Wczytanie danych 13 plikidane <- dir () 14 danewartosci <- czytajdane ( nazwapliku = plikidane [1], 15 nazwaarkusza = excel _ sheets ( plikidane [ 1]) [2] ) ### Wczytanie mapy 18 shape <- readogr ( dsn = "./ mapy / wojewodztwa ", layer = " w o j e w d z t w a ") ### Interesujace pola w wczytanym obiekcie 21 shape@ proj4string # rodzaj rzutu 25

26 22 data # ramka danych zawierajaca potenclanie dane dotyczace elementow przestrzenych ### Niestety tutaj kodowanie polskich znakow nie jest poprawne, chcemy 25 ### jest poprawic taka a by mozna bylo je wykorzystac, niestety 26 ### rowniez kolejnosc nie jest identyczna z tym co jest w pliku XLSX 27 cbind ( as. character ( shape@data [," jpt _ nazwa _"]), 28 row. names ( danewartosci ) 29 ) ### Poniewaz robimy to jeden raz wiec zrobimy reindeksowanie recznie, 32 ### dla wiekszej liczby jednostek trzeba sie zastanowic jak zrobic to 33 ### automatycznie ind <- c( 8, 13, 2, 7, 11, 12, 14, 16, 1, 15, 5, 10, 6, 4, 9, 3) 36 cbind ( as. character ( shape@data [," jpt _ nazwa _"]), 37 row. names ( danewartosci )[ ind ] 38 ) ### Chcemy na mapie zaznaczyc te wojewodztwa, ktore maja dochody powyzej mediany i te, ktore maja ponizej mediany ### Tworzenie i selekcja danych 43 danewartosciind <- danewartosci [ ind,] # zmiana kolejnosci wojewodztw na zgodna z mapa 44 mediana <- quantile ( danewartosciind [," 2016 "],.5) 45 selektor <- danewartosciind [," 2016 "] > mediana ### Rysowanie mapy 49 plot ( shape, col = " lightgray ") 50 plot ( shape [ selektor,], col = " red ", add = TRUE ) 26

Podstawy wykorzystania języka R

Podstawy wykorzystania języka R Podstawy wykorzystania języka R Michał Ramsza, Mariusz Kozakiewicz wersja z dn. 2017-10-30 1 Spis treści 1 Wprowadzenie 3 1.1 Język R..................................... 3 1.2 Instalacja....................................

Bardziej szczegółowo

Modelowanie rynków finansowych z wykorzystaniem pakietu R

Modelowanie rynków finansowych z wykorzystaniem pakietu R Modelowanie rynków finansowych z wykorzystaniem pakietu R Wprowadzenie do pakietu R Mateusz Topolewski woland@mat.umk.pl Wydział Matematyki i Informatyki UMK Plan działania 1 Co i dlaczego...? 2 Przechowywanie

Bardziej szczegółowo

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

1. Indeksy/indeksowanie : Do elementów wektora, list, macierzy czy ramek, można się odwołać na kilka sposobów. Rachunek Prawdopodobieństwa i Statystyka lab 2. Kaja Chmielewska ( Kaja.Chmielewska@cs.put.poznan.pl ) 1. Indeksy/indeksowanie : Do elementów wektora, list, macierzy czy ramek, można się odwołać na kilka

Bardziej szczegółowo

> x <-seq(-2*pi, 2*pi, by=0.5) > plot(x, sin(x), type="b",main="wykres funkcji sin(x) i cos(x)", col="blue") > lines(x, cos(x), type="l",col="red")

> x <-seq(-2*pi, 2*pi, by=0.5) > plot(x, sin(x), type=b,main=wykres funkcji sin(x) i cos(x), col=blue) > lines(x, cos(x), type=l,col=red) Rachunek Prawdopodobieństwa i Statystyka lab 4. Kaja Gutowska (Kaja.Gutowska@cs.put.poznan.pl) 1. Wprowadzenie do grafiki: - Program R ma szerokie możliwości w zakresie graficznego prezentowania danych.

Bardziej szczegółowo

Pakiety Matematyczne - R Zestaw 2.

Pakiety Matematyczne - R Zestaw 2. Pakiety Matematyczne - R Zestaw 2. Część przykładów pochodzi z helpa do R i z książki: R.Biecek, Przewodnik po pakiecie R, GIS 2014, strona www: http://www.biecek.pl, Instrukcje warunkowe Składnia instrukcji

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r. M. Trzebiński C++ 1/14 Podstawy języka C++ Maciej Trzebiński Instytut Fizyki Jądrowej Polskiej Akademii Nauk Praktyki studenckie na LHC IVedycja,2016r. IFJ PAN Przygotowanie środowiska pracy Niniejsza

Bardziej szczegółowo

Podstawy statystyki i obsługa SPSSa na przykładach z ekonomii

Podstawy statystyki i obsługa SPSSa na przykładach z ekonomii Podstawy statystyki i obsługa SPSSa na przykładach z ekonomii p. 1/35 Podstawy statystyki i obsługa SPSSa na przykładach z ekonomii Kurs letni dla studentów studiów zamawianych na kierunku Matematyka w

Bardziej szczegółowo

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. IŚ ćw.8 JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. Skrypty JavaScript są zagnieżdżane w dokumentach HTML. Skrypt JavaScript

Bardziej szczegółowo

Instalacja Pakietu R

Instalacja Pakietu R Instalacja Pakietu R www.r-project.org wybór źródła wybór systemu operacyjnego: Download R for Windows opcja: install R for the first time opcja: Download R 3.3.3 for Windows uruchomienie R-3.3.3-win MAGDA

Bardziej szczegółowo

Środowisko R wprowadzenie c.d. Wykład R2; 21.05.07 Struktury danych w R c.d.

Środowisko R wprowadzenie c.d. Wykład R2; 21.05.07 Struktury danych w R c.d. Środowisko R wprowadzenie c.d. Wykład R2; 21.05.07 Struktury danych w R c.d. Oprócz zmiennych i wektorów strukturami danych w R są: macierze; ramki (ang. data frames); listy; klasy S3 1 Macierze Macierze

Bardziej szczegółowo

Przykład 1: Funkcja jest obiektem, przypisanie funkcji o nazwie function() do zmiennej o nazwie funkcja1

Przykład 1: Funkcja jest obiektem, przypisanie funkcji o nazwie function() do zmiennej o nazwie funkcja1 Rachunek Prawdopodobieństwa i Statystyka lab 3. Kaja Gutowska (Kaja.Gutowska@cs.put.poznan.pl) 1. Funkcje: - Funkcje nie powinny korzystać ze zmiennych globalnych. - Funkcje powinny być możliwie krótkie.

Bardziej szczegółowo

Podstawy MATLABA, cd.

Podstawy MATLABA, cd. Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki Przetwarzanie Sygnałów Studia Podyplomowe, Automatyka i Robotyka Podstawy MATLABA, cd. 1. Wielomiany 1.1. Definiowanie

Bardziej szczegółowo

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

Język C, tablice i funkcje (laboratorium, EE1-DI) Język C, tablice i funkcje (laboratorium, EE1-DI) Opracował: Tomasz Mączka (tmaczka@kia.prz.edu.pl) Wstęp (tablice) Tablica to uporządkowany ciąg elementów tego samego typu, zajmujących ciągły obszar pamięci.

Bardziej szczegółowo

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

Matlab, zajęcia 3. Jeszcze jeden przykład metoda eliminacji Gaussa dla macierzy 3 na 3 Matlab, zajęcia 3. Pętle c.d. Przypomnijmy sobie jak działa pętla for Możemy podać normalnie w Matlabie t=cputime; for i=1:20 v(i)=i; e=cputime-t UWAGA: Taka operacja jest bardzo czasochłonna i nieoptymalna

Bardziej szczegółowo

Podstawy języka C++ Maciej Trzebiński. Praktyki studenckie na LHC IFJ PAN. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. M. Trzebiński C++ 1/16

Podstawy języka C++ Maciej Trzebiński. Praktyki studenckie na LHC IFJ PAN. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. M. Trzebiński C++ 1/16 M. Trzebiński C++ 1/16 Podstawy języka C++ Maciej Trzebiński Instytut Fizyki Jądrowej Polskiej Akademii Nauk Praktyki studenckie na LHC IFJ PAN 6lipca2015 Uruchomienie maszyny w CC1 M. Trzebiński C++ 2/16

Bardziej szczegółowo

Wprowadzenie do środowiska programistycznego R (na podst. 1) R jako kalkulator

Wprowadzenie do środowiska programistycznego R (na podst.  1) R jako kalkulator Wprowadzenie do środowiska programistycznego R (na podst. http://math.illinoisstate.edu/dhkim/rstuff/rtutor.html) 1) R jako kalkulator > 2 + 3 * 5 # zwróć uwage na kolejność wykonywania działań > log (10)

Bardziej szczegółowo

do MATLABa programowanie WYKŁAD Piotr Ciskowski

do MATLABa programowanie WYKŁAD Piotr Ciskowski Wprowadzenie do MATLABa programowanie WYKŁAD Piotr Ciskowski instrukcje sterujące instrukcja warunkowa: if instrukcja wyboru: switch instrukcje iteracyjne: for, while instrukcje przerwania: continue, break,

Bardziej szczegółowo

Krzysztof Trajkowski. Przegląd pakietów do optymalizacji liniowej

Krzysztof Trajkowski. Przegląd pakietów do optymalizacji liniowej Krzysztof Trajkowski Przegląd pakietów do optymalizacji liniowej 1. Wprowadzenie Niniejsze opracowanie dotyczy opisu funkcji solvelp(linprog) i lp(lpsolve) za pomocą których możemy rozwiązywać zadania

Bardziej szczegółowo

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

Wprowadzenie do Pakietu R dla kierunku Zootechnika. Dr Magda Mielczarek Katedra Genetyki Uniwersytet Przyrodniczy we Wrocławiu Wprowadzenie do Pakietu R dla kierunku Zootechnika Dr Magda Mielczarek Katedra Genetyki Uniwersytet Przyrodniczy we Wrocławiu Instalacja Pakietu R www.r-project.org wybór źródła wybór systemu operacyjnego:

Bardziej szczegółowo

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

Plan Ćwiczeń. 3) znajdowanie i zmiana kartoteki roboczej polecenia getwd(), setwd() Plan Ćwiczeń 1) Format poleceń, umieszczanie komentarzy, korekty poleceń (w przypadku bardziej skomplikowanych poleceń warto pisać je w otwartym okienku edytora i kopiować do linii poleceń R). Sposób zapisu

Bardziej szczegółowo

Materiał dotyczy generowania różnego typu wykresów w środowisku R.

Materiał dotyczy generowania różnego typu wykresów w środowisku R. Materiał dotyczy generowania różnego typu wykresów w środowisku R. Pamiętajmy, że niektóre typy wykresów są dedykowane do pewnych typów danych. Na potrzeby ćwiczeń początkowych załadujemy sobie zbiór danych

Bardziej szczegółowo

Wykresy i interfejsy użytkownika

Wykresy i interfejsy użytkownika Wrocław, 07.11.2017 Wstęp do informatyki i programowania: Wykresy i interfejsy użytkownika Wydział Matematyki Politechniki Wrocławskiej Andrzej Giniewicz Dzisiaj na zajęciach... Instrukcje sterujące Biblioteka

Bardziej szczegółowo

1 Programowanie w matlabie - skrypty i funkcje

1 Programowanie w matlabie - skrypty i funkcje 1 Programowanie w matlabie - skrypty i funkcje 1.1 Skrypty Skrypt jest plikiem tekstowym z rozszerzeniem *.m zawierającym listę poleceń do wykonania. Aby utworzyć skrypt w matlabie wybierz File New Script,

Bardziej szczegółowo

Podstawy Programowania C++

Podstawy Programowania C++ Wykład 3 - podstawowe konstrukcje Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu, instrukcja przypisania, podstawowe typy danych, zapis i odczyt danych, wyrażenia:

Bardziej szczegółowo

Matlab Składnia + podstawy programowania

Matlab Składnia + podstawy programowania Matlab Składnia + podstawy programowania Matlab Matrix Laboratory środowisko stworzone z myślą o osobach rozwiązujących problemy matematyczne, w których operuje się na danych stanowiących wielowymiarowe

Bardziej szczegółowo

Podstawy Programowania Podstawowa składnia języka C++

Podstawy Programowania Podstawowa składnia języka C++ Podstawy Programowania Podstawowa składnia języka C++ Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 3 października 2013 r. Szablon programu w C++ Najprostszy program w C++ ma postać: #include #include

Bardziej szczegółowo

Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać

Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać MatLab część III 1 Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać komentarze poprzedzone znakiem % Skrypty

Bardziej szczegółowo

R dla każdego : zaawansowane analizy i grafika statystyczna / Jared P. Lander. Warszawa, Spis treści

R dla każdego : zaawansowane analizy i grafika statystyczna / Jared P. Lander. Warszawa, Spis treści R dla każdego : zaawansowane analizy i grafika statystyczna / Jared P. Lander. Warszawa, 2018 Spis treści Słowo wstępne Wprowadzenie xi xii 1 Poznajemy R 1 1.1 Pobieranie R 1 1.2 Wersja R 2 1.3 Wersja

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć

Bardziej szczegółowo

Wprowadzenie do R. log(1) ## [1] 0. sqrt(3) ## [1] sin(x = 2*pi) ## [1] e-16

Wprowadzenie do R. log(1) ## [1] 0. sqrt(3) ## [1] sin(x = 2*pi) ## [1] e-16 Wprowadzenie do R Poniższa notatka powstała na podstawie materiałów Kamila Dyby. Zacznijmy od rzeczy elementarnych czyli operacji na liczbach # Operacje arytmetyczne 1+1 2*2 3^2 5%%3 log(1) [1] 0 sqrt(3)

Bardziej szczegółowo

Wprowadzenie do Scilab: funkcje i wykresy

Wprowadzenie do Scilab: funkcje i wykresy Wprowadzenie do Scilab: funkcje i wykresy Magdalena Deckert, Izabela Szczęch, Barbara Wołyńska, Bartłomiej Prędki Politechnika Poznańska, Instytut Informatyki Narzędzia Informatyki Narzędzia Informatyki

Bardziej szczegółowo

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy Wykład 3, część 3 1 Język JAVA podstawy Plan wykładu: 1. Konstrukcja kodu programów w Javie 2. Identyfikatory, zmienne 3. Typy danych 4. Operatory, instrukcje sterujące instrukcja warunkowe,

Bardziej szczegółowo

Elementy statystyki STA - Wykład 1

Elementy statystyki STA - Wykład 1 STA - Wykład 1 Wydział Matematyki i Informatyki Uniwersytet im. Adama Mickiewicza 1 Programy do statystycznej analizy danych Komercyjne: Niekomercyjne: a) Statistica URL http://www.statsoft.com URL http://www.statsoft.pl

Bardziej szczegółowo

Język C, tablice i funkcje (laboratorium)

Język C, tablice i funkcje (laboratorium) Język C, tablice i funkcje (laboratorium) Opracował: Tomasz Mączka (tmaczka@kia.prz.edu.pl) Wstęp (tablice) Tablica to uporządkowany ciąg elementów tego samego typu, zajmujących ciągły obszar pamięci.

Bardziej szczegółowo

Plik->Opcje->Zakladka Główne->Dostosuj Wstążkę Zaznaczamy kwadracik Developer na liscie po prawej stronie. Klikamy OK.

Plik->Opcje->Zakladka Główne->Dostosuj Wstążkę Zaznaczamy kwadracik Developer na liscie po prawej stronie. Klikamy OK. Aktywacja zakładki Developer. Plik->Opcje->Zakladka Główne->Dostosuj Wstążkę Zaznaczamy kwadracik Developer na liscie po prawej stronie. Klikamy OK. Rejestracja makr. Klikamy Zakladke Developer. Klikamy

Bardziej szczegółowo

Cw.12 JAVAScript w dokumentach HTML

Cw.12 JAVAScript w dokumentach HTML Cw.12 JAVAScript w dokumentach HTML Wstawienie skryptu do dokumentu HTML JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.skrypty Java- Script mogą być zagnieżdżane

Bardziej szczegółowo

zajęcia 2 Definiowanie wektorów:

zajęcia 2 Definiowanie wektorów: zajęcia 2 Plan zajęć: definiowanie wektorów instrukcja warunkowa if wykresy Definiowanie wektorów: Co do definicji wektora: Koń jaki jest, każdy widzi Definiowanie wektora w Octave v1=[3,2,4] lub: v1=[3

Bardziej szczegółowo

Wizualizacja funkcji w programie MATLAB

Wizualizacja funkcji w programie MATLAB Instytut Informatyki Uniwersytetu Śląskiego 15 listopada 2008 Funckja plot Funkcja plot3 Wizualizacja funkcji jednej zmiennej Do wizualizacji funkcji jednej zmiennej w programie MATLAB wykorzystywana jest

Bardziej szczegółowo

1. Operacje na plikach i katalogach Chcąc przeprowadzić analizę danych należy załadować/wczytać dane do R, a wyniki z pewnością chcemy zapisać.

1. Operacje na plikach i katalogach Chcąc przeprowadzić analizę danych należy załadować/wczytać dane do R, a wyniki z pewnością chcemy zapisać. Rachunek Prawdopodobieństwa i Statystyka lab 5 Kaja Gutowska (Kaja.Gutowska@cs.put.poznan.pl) Pliki do pobrania: -http://www.cs.put.poznan.pl/kgutowska/rpis/dane/dane.csv -http://www.cs.put.poznan.pl/kgutowska/rpis/dane/dane2.csv

Bardziej szczegółowo

PROGRAMOWANIE W PYTHONIE OD PIERWSZYCH KROKÓW

PROGRAMOWANIE W PYTHONIE OD PIERWSZYCH KROKÓW PROGRAMOWANIE W PYTHONIE OD PIERWSZYCH KROKÓW http://metodycy.torun.pl/ m.informatyka@metodycy.torun.pl 1. Wprowadzenie do Pythona podstawowe informacje Python to język programowania wysokiego poziomu,

Bardziej szczegółowo

1. Operacje na plikach i katalogach Chcąc przeprowadzić analizę danych należy załadować/wczytać dane do R, a wyniki z pewnością chcemy zapisać.

1. Operacje na plikach i katalogach Chcąc przeprowadzić analizę danych należy załadować/wczytać dane do R, a wyniki z pewnością chcemy zapisać. Rachunek Prawdopodobieństwa i Statystyka lab 5 i lab 6. Kaja Chmielewska (Kaja.Chmielewska@cs.put.poznan.pl) Pliki do pobrania: -http://www.cs.put.poznan.pl/kchmielewska/rpis/dane/dane.csv -http://www.cs.put.poznan.pl/kchmielewska/rpis/dane/dane2.csv

Bardziej szczegółowo

Ćwiczenie 1. Wprowadzenie do programu Octave

Ćwiczenie 1. Wprowadzenie do programu Octave Politechnika Wrocławska Wydział Elektroniki Mikrosystemów i Fotoniki Przetwarzanie sygnałów laboratorium ETD5067L Ćwiczenie 1. Wprowadzenie do programu Octave Mimo że program Octave został stworzony do

Bardziej szczegółowo

Komentarze w PHP (niewykonywane fragmenty tekstowe, będące informacją dla programisty)

Komentarze w PHP (niewykonywane fragmenty tekstowe, będące informacją dla programisty) Komentarze w PHP (niewykonywane fragmenty tekstowe, będące informacją dla programisty) // to jest pojedynczy komentarz (1-linijkowy) to jest wielolinijkowy komentarz Budowa "czystego" skryptu PHP (tak

Bardziej szczegółowo

Metody numeryczne Laboratorium 2

Metody numeryczne Laboratorium 2 Metody numeryczne Laboratorium 2 1. Tworzenie i uruchamianie skryptów Środowisko MATLAB/GNU Octave daje nam możliwość tworzenia skryptów czyli zapisywania grup poleceń czy funkcji w osobnym pliku i uruchamiania

Bardziej szczegółowo

Zadanie 04 Ktory z ponizszych typow danych w jezyku ANSI C jest typem zmiennoprzecinkowym pojedynczej precyzji?

Zadanie 04 Ktory z ponizszych typow danych w jezyku ANSI C jest typem zmiennoprzecinkowym pojedynczej precyzji? Zadanie 01 W przedstawionym ponizej programie w jezyku ANSI C w miejscu wykropkowanym brakuje jednej linii: #include... int main() { printf("tralalalala"); return 0; } A. B. "iostream" C.

Bardziej szczegółowo

Krótki kurs JavaScript

Krótki kurs JavaScript Krótki kurs JavaScript Java Script jest językiem wbudowanym w przeglądarkę. Gdy ma się podstawy nabyte w innych językach programowania jest dość łatwy do opanowania. JavaScript jest stosowany do powiększania

Bardziej szczegółowo

Język R : kompletny zestaw narzędzi dla analityków danych / Hadley Wickham, Garrett Grolemund. Gliwice, cop Spis treści

Język R : kompletny zestaw narzędzi dla analityków danych / Hadley Wickham, Garrett Grolemund. Gliwice, cop Spis treści Język R : kompletny zestaw narzędzi dla analityków danych / Hadley Wickham, Garrett Grolemund. Gliwice, cop. 2018 Spis treści Wstęp 9 Część I. Przegląd 21 1. Wizualizacja danych za pomocą pakietu ggplot2

Bardziej szczegółowo

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

WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI INSTYTUT AUTOMATYKI I INFORMATYKI KIERUNEK AUTOMATYKA I ROBOTYKA STUDIA STACJONARNE I STOPNIA WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI INSTYTUT AUTOMATYKI I INFORMATYKI KIERUNEK AUTOMATYKA I ROBOTYKA STUDIA STACJONARNE I STOPNIA PRZEDMIOT : : LABORATORIUM PODSTAW AUTOMATYKI 1. WSTĘP DO

Bardziej szczegółowo

pozwala na tworzenie i upowszechnianie pakietów implementujących nowe funkcjonalności. Obecnie dostępnych jest blisko 1000 pakietów do różnorodnych

pozwala na tworzenie i upowszechnianie pakietów implementujących nowe funkcjonalności. Obecnie dostępnych jest blisko 1000 pakietów do różnorodnych 0.1 O projekcie R R to nazwa języka programowania oraz nazwa platformy programistycznej wyposażonej w interpretator języka R. W platformie tej zaimplementowano wiele metod statystycznych, przez co często

Bardziej szczegółowo

Podstawy programowania w R - część 1

Podstawy programowania w R - część 1 Podstawy programowania w R - część 1 Typy danych, podzbiory 1. Stwórz katalog na dysku (pierwsza litera imienia + nazwisko), który będzie Twoim Working Directory. "F:/inazwisko" 2. Uruchom RStudio. 3.

Bardziej szczegółowo

lekcja 8a Gry komputerowe MasterMind

lekcja 8a Gry komputerowe MasterMind lekcja 8a Gry komputerowe MasterMind Posiadamy już elementarną wiedzę w zakresie programowania. Pora więc zabrać się za rozwiązywanie problemów bardziej złożonych, które wymagają zastosowania typowych

Bardziej szczegółowo

Podstawy programowania skrót z wykładów:

Podstawy programowania skrót z wykładów: Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace

Bardziej szczegółowo

Matlab Składnia + podstawy programowania

Matlab Składnia + podstawy programowania Matlab Składnia + podstawy programowania Matlab Matrix Laboratory środowisko stworzone z myślą o osobach rozwiązujących problemy matematyczne, w których operuje się na danych stanowiących wielowymiarowe

Bardziej szczegółowo

LibreOffice Calc VBA

LibreOffice Calc VBA LibreOffice Calc VBA LibreOffice Calc umożliwia tworzenie własnych funkcji i procedur przy użyciu składni języka VBA. Dostęp do edytora makr: Narzędzia->Makra->Zarządaj makrami->libreoffice Calc Aby rozpocząć

Bardziej szczegółowo

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

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre) Uwagi dotyczące notacji kodu! Wyrazy drukiem prostym -- słowami języka VBA. Wyrazy drukiem pochyłym -- inne fragmenty kodu. Wyrazy w [nawiasach kwadratowych] opcjonalne fragmenty kodu (mogą być, ale nie

Bardziej szczegółowo

LABORATORIM BIOINFORMATYKI

LABORATORIM BIOINFORMATYKI Gliwice 09.10.2009 LABORATORIM BIOINFORMATYKI Temat: Język i środowisko programistyczne R Opracowali: Aleksandra Gruca, Łukasz Pracki Wprowadzenie R jest zarówno językiem programowania jak i środowiskiem

Bardziej szczegółowo

Platformy Programistyczne Podstawy języka Java

Platformy Programistyczne Podstawy języka Java Platformy Programistyczne Podstawy języka Java Agata Migalska 6 maja 2014 Plan wykładu 1 Sztuka wysławiania się w języku Java 2 Cały świat jest obiektem 3 Kolekcje 4 Zmienne i metody statyczne 5 Słowo

Bardziej szczegółowo

Skrypty powłoki Skrypty Najcz ciej u ywane polecenia w skryptach:

Skrypty powłoki Skrypty Najcz ciej u ywane polecenia w skryptach: Skrypty powłoki Skrypty są zwykłymi plikami tekstowymi, w których są zapisane polecenia zrozumiałe dla powłoki. Zadaniem powłoki jest przetłumaczenie ich na polecenia systemu. Aby przygotować skrypt, należy:

Bardziej szczegółowo

JAVAScript w dokumentach HTML - przypomnienie

JAVAScript w dokumentach HTML - przypomnienie Programowanie obiektowe ćw.1 JAVAScript w dokumentach HTML - przypomnienie JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. Skrypty JavaScript są zagnieżdżane w

Bardziej szczegółowo

Podstawy JavaScript ćwiczenia

Podstawy JavaScript ćwiczenia Podstawy JavaScript ćwiczenia Kontekst:

Bardziej szczegółowo

Materiały do laboratorium MS ACCESS BASIC

Materiały do laboratorium MS ACCESS BASIC Materiały do laboratorium MS ACCESS BASIC Opracowała: Katarzyna Harężlak Access Basic jest językiem programowania wykorzystywanym w celu powiązania obiektów aplikacji w jeden spójny system. PROCEDURY I

Bardziej szczegółowo

Wstęp do Programowania Lista 1

Wstęp do Programowania Lista 1 Wstęp do Programowania Lista 1 1 Wprowadzenie do środowiska MATLAB Zad. 1 Zapoznaj się z podstawowymi oknami dostępnymi w środowisku MATLAB: Command Window, Current Folder, Workspace i Command History.

Bardziej szczegółowo

PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy.

PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy. PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy. 1. Instrukcję case t of... w przedstawionym fragmencie programu moŝna zastąpić: var t : integer; write( Podaj

Bardziej szczegółowo

MATLAB tworzenie własnych funkcji

MATLAB tworzenie własnych funkcji MATLAB tworzenie własnych funkcji Definiowanie funkcji anonimowych Własne definicje funkcji możemy tworzyć bezpośrednio w Command Window, są to tzw. funkcje anonimowe; dla funkcji jednej zmiennej składnia

Bardziej szczegółowo

Przetwarzanie i analiza danych w języku Python / Marek Gągolewski, Maciej Bartoszuk, Anna Cena. Warszawa, Spis treści

Przetwarzanie i analiza danych w języku Python / Marek Gągolewski, Maciej Bartoszuk, Anna Cena. Warszawa, Spis treści Przetwarzanie i analiza danych w języku Python / Marek Gągolewski, Maciej Bartoszuk, Anna Cena. Warszawa, 2016 Spis treści Przedmowa XI I Podstawy języka Python 1. Wprowadzenie 3 1.1. Język i środowisko

Bardziej szczegółowo

Wstęp do informatyki. stęp do informatyki Polecenia (cz.2)

Wstęp do informatyki. stęp do informatyki Polecenia (cz.2) Wstęp do informatyki stęp do informatyki Polecenia (cz.2) Lista procesów top Pokaż listę procesów polecenie interaktywne Procesy Uruchamianie w tle. shell nie czeka na zakończenie procesu, można wydawać

Bardziej szczegółowo

Serwer WWW Apache. http://httpd.apache.org/ Plik konfiguracyjny httpd.conf Definiujemy m.in.: Aktualne wersje 2.4.6, 2.2.25, 2.0.65 zakończony projekt

Serwer WWW Apache. http://httpd.apache.org/ Plik konfiguracyjny httpd.conf Definiujemy m.in.: Aktualne wersje 2.4.6, 2.2.25, 2.0.65 zakończony projekt Serwer WWW Apache http://httpd.apache.org/ Plik konfiguracyjny httpd.conf Definiujemy m.in.: Katalog który ma być serwowany Moduły, które mają zostać uruchomione na serwerze m.in. PHP, mod_rewrite Wirtualne

Bardziej szczegółowo

SAS Podstawowe informacje przed ćwiczeniem 1

SAS Podstawowe informacje przed ćwiczeniem 1 SAS Podstawowe informacje przed ćwiczeniem 1 Zasady tworzenia programów każda instrukcja zakończona się średnikiem małe i duże litery nie są rozróżniane instrukcje mogą być kontynuowane w następnej linii

Bardziej szczegółowo

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych Szkolenie przeznaczone jest dla osób chcących poszerzyć swoje umiejętności o tworzenie rozwiązań internetowych w PHP. Zajęcia zostały przygotowane w taki sposób, aby po ich ukończeniu można było rozpocząć

Bardziej szczegółowo

1 Przygotował: mgr inż. Maciej Lasota

1 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 1 1/7 Język C Instrukcja laboratoryjna Temat: Programowanie w powłoce bash (shell scripting) 1 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie do programowania w powłoce Skrypt powłoki

Bardziej szczegółowo

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja

Bardziej szczegółowo

Krótka instrukcja opracowania danych w programie SciDAVis v. 1-D013-win

Krótka instrukcja opracowania danych w programie SciDAVis v. 1-D013-win Krótka instrukcja opracowania danych w programie SciDAVis v. 1-D013-win 1 Instalacja programu SciDAVis Microsoft Windows Informacje na temat projektu SciDAVis dostępne są na stronie http://scidavis.sourceforge.net/.

Bardziej szczegółowo

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

Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje Opracował: Zbigniew Rudnicki Powtórka z poprzedniego wykładu 2 1 Dokument, regiony, klawisze: Dokument Mathcada realizuje

Bardziej szczegółowo

Technologie informacyjne: Excel i Python

Technologie informacyjne: Excel i Python Wrocław, 25.05.2017 Technologie informacyjne: Excel i Python Wydział Matematyki Politechniki Wrocławskiej Andrzej Giniewicz Dzisiaj na zajęciach... Makra w pakiecie Excel, część 2: język Python. 1/30 Biblioteka

Bardziej szczegółowo

INFORMATYKA W SELEKCJI

INFORMATYKA W SELEKCJI INFORMATYKA W SELEKCJI INFORMATYKA W SELEKCJI - zagadnienia 1. Dane w pracy hodowlanej praca z dużym zbiorem danych (Excel) 2. Podstawy pracy z relacyjną bazą danych w programie MS Access 3. Systemy statystyczne

Bardziej szczegółowo

-Instalacja R: -Instalacja RStudio:

-Instalacja R:   -Instalacja RStudio: Rachunek Prawdopodobieństwa i Statystyka lab 1. Kaja Chmielewska (Kaja.Chmielewska@cs.put.poznan.pl) 1. Krótko o R R jest wolnym (otwartym i darmowym), zaawansowanym środowiskiem oraz językiem programowania.

Bardziej szczegółowo

Schematy blokowe I. 1. Dostępne bloki: 2. Prosty program drukujący tekst.

Schematy blokowe I. 1. Dostępne bloki: 2. Prosty program drukujący tekst. Schematy blokowe I Jeżeli po schematach blokowych będzie używany język C, to należy używać operatorów: '&&', ' ', '!=', '%' natomiast jeśli Ruby to 'and', 'or', '%', '!='. 1. Dostępne bloki: a) początek:

Bardziej szczegółowo

Tworzenie i korzystanie z plików JAR. Biblioteka JFreeChart

Tworzenie i korzystanie z plików JAR. Biblioteka JFreeChart Tworzenie i korzystanie z plików JAR Biblioteka JFreeChart Czy są pliki JAR? JAR (ang. Java ARchive) archiwum ZIP używane do strukturalizacji i kompresji plików klas języka Java oraz powiązanych z nimi

Bardziej szczegółowo

Podstawowe operacje graficzne.

Podstawowe operacje graficzne. Podstawowe operacje graficzne. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z możliwościami graficznymi środowiska GNU octave, w tym celu: narzędziami graficznymi, sposobami konstruowania wykresów

Bardziej szczegółowo

Wartości x-ów : Wartości x ów można w Scilabie zdefiniować na kilka sposobów, wpisując odpowiednie polecenie na konsoli.

Wartości x-ów : Wartości x ów można w Scilabie zdefiniować na kilka sposobów, wpisując odpowiednie polecenie na konsoli. Notatki z sesji Scilaba Istnieje możliwość dokładnego zapisu przebiegu aktualnej sesji pracy ze Scilabem: polecenie diary('nazwa_pliku.txt') powoduje zapis do podanego pliku tekstowego wszystkich wpisywanych

Bardziej szczegółowo

Laboratorium 7 Blog: dodawanie i edycja wpisów

Laboratorium 7 Blog: dodawanie i edycja wpisów Laboratorium 7 Blog: dodawanie i edycja wpisów Dodawanie nowych wpisów Tworzenie formularza Za obsługę formularzy odpowiada klasa Zend_Form. Dla każdego formularza w projekcie tworzymy klasę dziedziczącą

Bardziej szczegółowo

etrader Pekao Podręcznik użytkownika Strumieniowanie Excel

etrader Pekao Podręcznik użytkownika Strumieniowanie Excel etrader Pekao Podręcznik użytkownika Strumieniowanie Excel Spis treści 1. Opis okna... 3 2. Otwieranie okna... 3 3. Zawartość okna... 4 3.1. Definiowanie listy instrumentów... 4 3.2. Modyfikacja lub usunięcie

Bardziej szczegółowo

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

TABLICA (ang. array) pojedyncza zmienna z wieloma komórkami, w których można zapamiętać wiele wartości tego samego typu danych. Złożone typy danych - TABLICE TABLICA (ang. array) pojedyncza zmienna z wieloma komórkami, w których można zapamiętać wiele wartości tego samego typu danych. * Może przechowywać dowolny typ danych, typ

Bardziej szczegółowo

PHP: bloki kodu, tablice, obiekty i formularze

PHP: bloki kodu, tablice, obiekty i formularze 1 PHP: bloki kodu, tablice, obiekty i formularze SYSTEMY SIECIOWE Michał Simiński 2 Bloki kodu Blok if-else Switch Pętle Funkcje Blok if-else 3 W PHP blok if i blok if-else wyglądają tak samo i funkcjonują

Bardziej szczegółowo

Bash - instrukcje warunkowe, pętle i funkcje

Bash - instrukcje warunkowe, pętle i funkcje Bash - instrukcje warunkowe, pętle i funkcje 5 grudnia 2018 1 Instrukcje warunkowe Wewnątrz skryptu może powstać potrzeba wykonania fragmentu kodu pod pewnym warunkiem. Np. chcemy wykonać inne fragmenty

Bardziej szczegółowo

Przykładowo, jeśli współrzędna x zmienia się od 0 do 8 co 1, a współrzędna y od 12 co 2 do 25, to punkty powinny wyglądać następująco:

Przykładowo, jeśli współrzędna x zmienia się od 0 do 8 co 1, a współrzędna y od 12 co 2 do 25, to punkty powinny wyglądać następująco: Informatyka I Przypomnienie wiadomości z poprzednich zajęć: Kolokwium!!! II Nowe wiadomości: 1 Funkcje trójwymiarowe Wykresy trójwymiarowe tworzone są na podstawie funkcji dwóch zmiennych Wejściem takich

Bardziej szczegółowo

UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI

UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI 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ą

Bardziej szczegółowo

Lekcja 1. Składnia języka zmienne i podstawowe instrukcje PHP. Do wyświetlania tekstu służy instrukcja echo echo Hello world ;

Lekcja 1. Składnia języka zmienne i podstawowe instrukcje PHP. Do wyświetlania tekstu służy instrukcja echo echo Hello world ; Do wyświetlania tekstu służy instrukcja echo echo Hello world ; PHP język ze słabą kontrolą typów. W języku php w przeciwieństwie do c++ nie musimy podawać typu zmiennej podczas jej deklaracji. Tworzenie

Bardziej szczegółowo

Pętle iteracyjne i decyzyjne

Pętle iteracyjne i decyzyjne Pętle iteracyjne i decyzyjne. Pętla iteracyjna for Pętlę iteracyjną for stosuje się do wykonywania wyrażeń lub ich grup określoną liczbę razy. Licznik pętli w pakiecie MatLab może być zwiększany bądź zmniejszany

Bardziej szczegółowo

Umieszczanie kodu. kod skryptu

Umieszczanie kodu. kod skryptu PHP Definicja PHP jest językiem skryptowym służącym do rozszerzania możliwości stron internetowych. Jego składnia jest bardzo podobna do popularnych języków programowania C/C++, lecz jest bardzo uproszczona

Bardziej szczegółowo

Programowanie w Ruby

Programowanie w Ruby Programowanie w Ruby Wykład 3 Marcin Młotkowski 22 października 2018 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie w Ruby 70 / 432 Z poprzedniego wykładu String to ciąg bajtów zwykle reprezentujących

Bardziej szczegółowo

Instrukcja laboratoryjna nr.3

Instrukcja laboratoryjna nr.3 Języki programowania na platformie.net 2017/18 Instrukcja laboratoryjna nr.3 Biblioteka EPPlus Prowadzący: Tomasz Goluch Wersja: 1.0 I. Biblioteka EPPlus. Cel: Podstawowe informacje o bibliotece EPPlus.

Bardziej szczegółowo

4. Funkcje. Przykłady

4. Funkcje. Przykłady 4. Funkcje Przykłady 4.1. Napisz funkcję kwadrat, która przyjmuje jeden argument: długość boku kwadratu i zwraca pole jego powierzchni. Używając tej funkcji napisz program, który obliczy pole powierzchni

Bardziej szczegółowo

Metody Numeryczne. Laboratorium 1. Wstęp do programu Matlab

Metody Numeryczne. Laboratorium 1. Wstęp do programu Matlab Metody Numeryczne Laboratorium 1 Wstęp do programu Matlab 1. Wiadomości wstępne liczby, format Program Matlab używa konwencjonalną notację dziesiętną, z kropka dziesiętną. W przypadku notacji naukowej

Bardziej szczegółowo

Bloki anonimowe w PL/SQL

Bloki anonimowe w PL/SQL Język PL/SQL PL/SQL to specjalny język proceduralny stosowany w bazach danych Oracle. Język ten stanowi rozszerzenie SQL o szereg instrukcji, znanych w proceduralnych językach programowania. Umożliwia

Bardziej szczegółowo

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

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI Wprowadzenie do środowiska Matlab 1. Podstawowe informacje Przedstawione poniżej informacje maja wprowadzić i zapoznać ze środowiskiem

Bardziej szczegółowo

JAVAScript w dokumentach HTML (1)

JAVAScript w dokumentach HTML (1) JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. Skrypty JavaScript mogą być zagnieżdżane w dokumentach HTML. Instrukcje JavaScript

Bardziej szczegółowo