Wyklad1a


Wprowadzenie Funkcje i operatory Typy danych
Podstawy programowania w R
Przemysław Gordinowicz
Instytut Matematyki, Politechnika Aódzka
Systemy informatyczne w analizie danych
Wykład 1
Przemysław Gordinowicz Podstawy programowania w R
Wprowadzenie Funkcje i operatory Typy danych
Plan wykładu
1
Wprowadzenie  po co programować?
2
Podstawowe funkcje i operatory
3
Typy danych
Przemysław Gordinowicz Podstawy programowania w R
Wprowadzenie Funkcje i operatory Typy danych
Plan wykładu
1
Wprowadzenie  po co programować?
2
Podstawowe funkcje i operatory
3
Typy danych
Przemysław Gordinowicz Podstawy programowania w R
Wprowadzenie Funkcje i operatory Typy danych
Literatura
P. Biecek, Przewodnik po pakiecie R, Oficyna Wydawnicza
GiS, Wrocław, 2008.
P. Biecek, Przewodnik po pakiecie R, fragment,
www.biecek.pl/R/R.pdf.
P. Biecek, Na przełaj przez Data Mining,
www.biecek.pl/R/naPrzelajPrzezDM.pdf.
A. Komsta, Wprowadzenie do środowiska R,
cran.r-project.org/doc/contrib/Komsta-Wprowadzenie.pdf.
Załączona dokumentacja pakietu R, 2010.
cran.r-project.org/doc.
M. Walesiak, E. Gatnar (red.), Statystyczna analiza danych
w wykorzystaniem programu R, PWN, Warszawa, 2009.
Przemysław Gordinowicz Podstawy programowania w R
Wprowadzenie Funkcje i operatory Typy danych
Po co programować?
 Nie pytaj się, czy coś można w R zrobić,
pytaj się jak?
Dostępnych jest ponad 1500 pakietów rozszerzających możliwości R.
Przemysław Gordinowicz Podstawy programowania w R
Wprowadzenie Funkcje i operatory Typy danych
Po co programować?
 Nie pytaj się, czy coś można w R zrobić,
pytaj się jak?
Dostępnych jest ponad 1500 pakietów rozszerzających możliwości R.
Przemysław Gordinowicz Podstawy programowania w R
Wprowadzenie Funkcje i operatory Typy danych
Pomocy!
> ?cat
> help("cat")
> args(cat)
function (..., file = "", sep = " ", fill = FALSE, labels = NUL
append = FALSE)
NULL
> help.search("printing")
> apropos("choose")
[1] "choose" "choose.dir" "choose.files" "c
[5] "file.choose" "lchoose"
Jeśli inne sposoby zawiodą wyszukać na
www.r-project.org.
Przemysław Gordinowicz Podstawy programowania w R
Wprowadzenie Funkcje i operatory Typy danych
Więc po co programować?
Przemysław Gordinowicz Podstawy programowania w R
Wprowadzenie Funkcje i operatory Typy danych
Pisanie na ekranie
> cat("Ala ma", 3 + 4, "kotów.") # tu braknie przejścia do nowe
Ala ma 7 kotów. > cat("Ala ma", 3 + 4, "kotów.\n")
Ala ma 7 kotów.
> print("Ala ma 7 kotów.")
[1] "Ala ma 7 kotów."
> print(paste("Ala ma", 3 + 4, "kotów."))
[1] "Ala ma 7 kotów."
Przemysław Gordinowicz Podstawy programowania w R
Wprowadzenie Funkcje i operatory Typy danych
Plan wykładu
1
Wprowadzenie  po co programować?
2
Podstawowe funkcje i operatory
3
Typy danych
Przemysław Gordinowicz Podstawy programowania w R
Wprowadzenie Funkcje i operatory Typy danych
Operator podstawienia
> x = 7
> cat(x)
7
> x <- 7
> 7 -> x
> (x = 7)
[1] 7
> x1 = x2 <- 7 -> x3
> cat("x1 =", x1, "x2 =", x2, "x3 =", x3, "\n")
x1 = 7 x2 = 7 x3 = 7
Przemysław Gordinowicz Podstawy programowania w R
Wprowadzenie Funkcje i operatory Typy danych
Operatory arytmetyczne
- -x zmiana znaku
+ x+y dodawanie
- x-y odejmowanie
* x * y mnożenie
/ x / y dzielenie
^ x ^ y potęgowanie
%/% x %/% y dzielenie całkowite
%% x %% y reszta z dzielenia
Przykład:
> cat("19 / 7 =", 19%/%7, "reszty", 19%%7, "\n")
19 / 7 = 2 reszty 5
> 2^30
[1] 1073741824
Przemysław Gordinowicz Podstawy programowania w R
Wprowadzenie Funkcje i operatory Typy danych
Operatory logiczne
== x == 7 porównanie
!= x != 7 brak równości
>, >= x >= 7 większy, większy równy
<, <= x <= 7 mniejszy, mniejszy równy
&&, & p && q iloczyn logiczny
||, | p || q suma logiczna
! !p negacja
~ zarobki ~wiek+plec zależność (pojawi się pózniej)
Przykład:
> 2 + 2 == 4 > (x > 5 && x < 10)
[1] TRUE [1] FALSE
> x = 5 > (x > 5 || x < 10)
[1] TRUE
Przemysław Gordinowicz Podstawy programowania w R
Wprowadzenie Funkcje i operatory Typy danych
Operatory logiczne
== x == 7 porównanie
!= x != 7 brak równości
>, >= x >= 7 większy, większy równy
<, <= x <= 7 mniejszy, mniejszy równy
&&, & p && q iloczyn logiczny
||, | p || q suma logiczna
! !p negacja
~ zarobki ~wiek+plec zależność (pojawi się pózniej)
Przykład:
> 2 + 2 == 4 > (x > 5 && x < 10)
[1] TRUE [1] FALSE
> x = 5 > (x > 5 || x < 10)
[1] TRUE
Przemysław Gordinowicz Podstawy programowania w R
Wprowadzenie Funkcje i operatory Typy danych
Wybrane funkcje matematyczne I
cos(x) wartość funkcji cosinus w punkcie x
sin(x), tan(x)
acos(x), asin(x) arcus cosinus, arcus sinus
atan(x) arcus tangens
atan2(y, x) atan2(y, x) = atan(y/x)  przydatna do zamiany
współrzędnych na układ biegunowy
sqrt(x) pierwiastek kwadratowy, x ^0.5
exp(x) eksponenta ex
log(x) logarytm naturalny
log2(x), log10(x)
log(x, base) logarytm o wybranej podstawie
expm1(x) ex - 1  wyliczana z większą dokładnością
log1p(x) log(1 + x)  dla |x| j" 1
Przemysław Gordinowicz Podstawy programowania w R
Wprowadzenie Funkcje i operatory Typy danych
Wybrane funkcje matematyczne II
abs(x) moduł x
round(x) zaokrąglenie x
floor(x) podłoga od x
ceiling(x) sufit od x
trunc(x) obcięcie x do liczby całkowitej
signif(x, k) zaokrąglenie x do k cyfr znaczących
Przykład:
> round(1.5) > trunc(-1.5)
[1] 2 [1] -1
> floor(1.5) > signif(15234, 2)
[1] 1 [1] 15000
> trunc(1.5) > signif(1.5234, 2)
[1] 1 [1] 1.5
Przemysław Gordinowicz Podstawy programowania w R
Wprowadzenie Funkcje i operatory Typy danych
Wybrane funkcje matematyczne III
beta(a, b) wartość funkcji (a, b)
gamma(x) wartość funkcji (x)
lgamma(x) log((x))
n
choose(n, k) ilość kombinacji
k

n
lchoose(n, k) log
k
combn(n, k) lista wszystkich kombinacji k elementowych
ze zbioru n elementowego
factorial(n) Silnia z n
lfactorial(n) log(n!)
Przemysław Gordinowicz Podstawy programowania w R
Wprowadzenie Funkcje i operatory Typy danych
Wybrane funkcje matematyczne III
Przykład:
> choose(7, 2)
[1] 21
> combn(7, 2)
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [
[1,] 1 1 1 1 1 1 2 2 2 2 2
[2,] 2 3 4 5 6 7 3 4 5 6 7
[,13] [,14] [,15] [,16] [,17] [,18] [,19] [,20] [,21]
[1,] 3 3 3 4 4 4 5 5 6
[2,] 5 6 7 5 6 7 6 7 7
> factorial(171)
[1] Inf
> lfactorial(171)
[1] 711.7147
Przemysław Gordinowicz Podstawy programowania w R
Wprowadzenie Funkcje i operatory Typy danych
Plan wykładu
1
Wprowadzenie  po co programować?
2
Podstawowe funkcje i operatory
3
Typy danych
Przemysław Gordinowicz Podstawy programowania w R
Wprowadzenie Funkcje i operatory Typy danych
Koncepcja
Nie ma potrzeby deklaracji zmiennych  przyjmie ona taki typ
danych jaki ma wyrażenie, które do niej przypiszemy.
Typ danych jaki zawiera dane wyrażenie można sprawdzić
funkcją class(). Listę atrybutów związanych z (badziej
skomplikowanym) obiektem można sprawdzić funkcją
attributes().
> x = 7
> class(x)
[1] "numeric"
> class(x == 5)
[1] "logical"
> attributes(x)
NULL
Przemysław Gordinowicz Podstawy programowania w R
Wprowadzenie Funkcje i operatory Typy danych
Typy proste
typ liczbowy   numeric (są też specyficzne typy
liczbowe)
typ logiczny   logical (T lub TRUE, F lub FALSE)
typ znakowy   character
> class(8.5)
[1] "numeric"
> class(1 > 3)
[1] "logical"
> class("Ala ma kota.")
[1] "character"
Przemysław Gordinowicz Podstawy programowania w R
Wprowadzenie Funkcje i operatory Typy danych
Typ wektorowy
Wektor to skończony ciąg danych jednego typu prostego.
Naprostszy konstruktor wektora to c(lista_wartosci), do
elementów odwołuje się przez operator [], a ilość elementów
podaje funkcja length():
> w = c(1, 2, 3)
> w[2]
[1] 2
> (wekt = c(7, TRUE, "Ala"))
[1] "7" "TRUE" "Ala"
> length(wekt)
[1] 3
Przemysław Gordinowicz Podstawy programowania w R
Wprowadzenie Funkcje i operatory Typy danych
Typ wektorowy  inne konstrukcje I
> (w = 2:7)
[1] 2 3 4 5 6 7
> (w = 10:0)
[1] 10 9 8 7 6 5 4 3 2 1 0
> (w = seq(2, 7))
[1] 2 3 4 5 6 7
> (w = seq(1, 51, 7))
[1] 1 8 15 22 29 36 43 50
> (w = seq(10, 20, length.out = 4))
[1] 10.00000 13.33333 16.66667 20.00000
> (w = seq(10, 20, along.with = c(1, 2, 3)))
[1] 10 15 20
Przemysław Gordinowicz Podstawy programowania w R
Wprowadzenie Funkcje i operatory Typy danych
Typ wektorowy  inne konstrukcje II
> (w = rep(5, 3))
[1] 5 5 5
> (w = rep(c(1, 2), 3))
[1] 1 2 1 2 1 2
> (w = c(rep(1, 5), 2))
[1] 1 1 1 1 1 2
> (w = sample(1:100, 5)) # losowanie
[1] 78 88 52 22 4
> (w = sample(1:10, 15, rep = T)) # losowanie ze zwracaniem
[1] 6 1 1 3 2 5 7 1 1 10 6 7 2 4 9
Przemysław Gordinowicz Podstawy programowania w R
Wprowadzenie Funkcje i operatory Typy danych
Typ wektorowy  operacje arytmetyczne
Na wektorach typu liczbowego można wykonywać operacje
i funkcje arytmetyczne  wyniki będą odnosić się do
pojedynczych współrzędnych.
> c(1, 2, 3) c(3, 4, 5)
*
[1] 3 8 15
> 2 c(1, 2, 3)
*
[1] 2 4 6
> sin(c(pi/2, pi/3, pi/4))
[1] 1.0000000 0.8660254 0.7071068
> c(1, 2, 3) c(3, 4, 5, 6)
*
[1] 3 8 15 6
Warning message:
In c(1, 2, 3) c(3, 4, 5, 6) :
*
longer object length is not a multiple of shorter object leng
Przemysław Gordinowicz Podstawy programowania w R
Wprowadzenie Funkcje i operatory Typy danych
Typ wektorowy  operacje logiczne
Podobnie jak w wypadku operacji arytmetycznych, operacje
logiczne na wektorach są wykonywane na jego współrzędnych
a wynikiem jest wektor wartości logicznych.
Uwaga: operatory  leniwe && i || działają wyłącznie na
pierwszych współrzędnych wektorów.
> w = c(1, 2, 3) > !(w >= v) && (w == 1)
> v = c(3, 2, 1)
[1] TRUE
> w >= 2
> !(w >= v) & (w == 1)
[1] FALSE TRUE TRUE
[1] TRUE FALSE FALSE
> w < v
[1] TRUE FALSE FALSE
Przemysław Gordinowicz Podstawy programowania w R
Wprowadzenie Funkcje i operatory Typy danych
Typ wektorowy  funkcje agregujące
sum(x) suma elementów wektora x
prod(x) iloczyn elementów wektora x
min(x) najmniejszy element x
max(x) największy element x
mean(x) średnia z elementów x
> prod(c(3, 4, 5))
[1] 60
> mean(c(10, 20, 22))
[1] 17.33333
Przemysław Gordinowicz Podstawy programowania w R


Wyszukiwarka

Podobne podstrony:
Sieci komputerowe wyklady dr Furtak
Wykład 05 Opadanie i fluidyzacja
WYKŁAD 1 Wprowadzenie do biotechnologii farmaceutycznej
mo3 wykladyJJ
ZARZĄDZANIE WARTOŚCIĄ PRZEDSIĘBIORSTWA Z DNIA 26 MARZEC 2011 WYKŁAD NR 3
Wyklad 2 PNOP 08 9 zaoczne
Wyklad studport 8
Kryptografia wyklad
Budownictwo Ogolne II zaoczne wyklad 13 ppoz
wyklad09
Sporzadzanie rachunku przepływów pienieżnych wykład 1 i 2
fcs wyklad 5
Wyklad08 Zaopatrz wWode
Wyklad3

więcej podobnych podstron