Bioinformatyka VI. Programowanie Języku R

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

Download "Bioinformatyka VI. Programowanie Języku R"

Transkrypt

1 Bioinformatyka VI Programowanie Języku R

2 WEKTORY R jest językiem wektorowym - wszystkie elementarne struktury danych są wektorami Nawet zmienne zawierające jeden obiekt są wektorami o długości 1

3 WEKTORY Podstawowe typy wektorów numeryczne (liczby podwójnej precyzji) liczby całkowite (integer) napisy (char) logiczne (TRUE/FALSE) data/czas nominalne (kategoryczne)

4 WEKTORY Podstawowe typy wektorów numeryczne (liczby podwójnej precyzji) liczby całkowite (integer) > c(1,2,3,4,5)->x > is.numeric(x) [1] TRUE > is.integer(x) [1] FALSE > c(1l,2l,3l,4l,5l)->i > is.numeric(i) [1] TRUE > is.integer(i) [1] TRUE >

5 WEKTORY numeryczne (liczby podwójnej precyzji) liczby całkowite (integer) W praktyce używany jest niemal wyłącznie typ numeryczny - operacje na liczbach całkowitych działają tak samo. > i/7 [1] > x/7 [1] > x %% 3 [1] > i %% 3 [1] > i %/% 3 [1] > x %/% 3 [1]

6 WEKTORY Typ integer może przydać się przy przekazywaniu danych między modułami napisanymi w innych językach (C). Jest również domyślnie generowany przez operację `:` która tworzy sekwencje stosowaną w iteratorach > x15<-c(1,2,3,4,5) > i15<-1:5 > str(x15) num [1:5] > str(i15) int [1:5]

7 WEKTORY Typ integer może przydać się przy przekazywaniu danych między modułami napisanymi w innych językach (C). Jest również domyślnie generowany przez operację `:` która tworzy sekwencje stosowaną w iteratorach > x15<-c(1,2,3,4,5) > i15<-1:5 > str(x15) num [1:5] > str(i15) int [1:5] > x1e6 < e6:1.0001e6 > str(x1e6) int [1:201]

8 WEKTORY Nawet zmienne zawierające jeden obiekt są wektorami o długości 1 > str(x1e6) int [1:201] > length(x1e6) [1] 201 > x<-1 > length(x) [1] 1 > str(1) num 1 > x[1] [1] 1

9 WEKTORY Tworzenie wektorów tworzenie przez użycie funkcji c() operacja `:` zastosowanie funkcji seq() > x1<-c(22,23,24,25,26) > x2<-22:26 > x3<-seq(from=22,to=26) > x3 [1] > x2 [1] > x1 [1]

10 WEKTORY Tworzenie wektorów tworzenie przez użycie funkcji c() operacja `:` zastosowanie funkcji seq() > x7<-1:7 > x5<-1:5 > c(x7,x5)->x75 > x75 [1] > c(1:3,17:22,83:74)->x19 > length(x19) [1] 19 > x19 [1]

11 WEKTORY Funkcja seq() > seq(from=22,to=26) [1] > seq(from=22,by=1,length.out=5) [1] > seq(from=26,by=-1,length.out=5) [1] > seq(from=26,by=-1.5,length.out=5) [1] > seq(from=0.33,by=0.17,to=2.18) [1] > seq(from=0.33,by=0.17,to=2.25) [1]

12 WEKTORY LOGICZNE > x10<-runif(10) > x10 [1] > x10>0.5 [1] FALSE TRUE TRUE FALSE TRUE FALSE FALSE TRUE FALSE FALSE > as.numeric(x10>0.5) [1] > x10>0.5 ->Mask > Mask [1] FALSE TRUE TRUE FALSE TRUE FALSE FALSE TRUE FALSE FALSE > str(mask) logi [1:10] FALSE TRUE TRUE FALSE TRUE FALSE...

13 WEKTORY LOGICZNE > x10<-runif(10) > x10 [1] > x10>0.5

14 GENEROWANIE ROZKŁADÓW Jednorodny Beta Histogram of rnorm(1e+05, 20, 0.3) Dwumianowy Normalny > x10<-runif(10) > xbeta <- rbeta(3000,4,8) > xbern <- rbinom(30,100000,0.3333) > xnorm <- rnorm(100000,20,0.3) Frequency rnorm(1e+05, 20, 0.3)

15 GENEROWANIE ROZKŁADÓW For the beta distribution see dbeta. For the binomial (including Bernoulli) distribution see dbinom. For the Cauchy distribution see dcauchy. For the chi-squared distribution see dchisq. For the exponential distribution see dexp. For the F distribution see df. For the gamma distribution see dgamma. For the geometric distribution see dgeom. (This is also a special case of the negative binomial.) For the hypergeometric distribution see dhyper. For the log-normal distribution see dlnorm. For the multinomial distribution see dmultinom. For the negative binomial distribution see dnbinom. For the normal distribution see dnorm. For the Poisson distribution see dpois. For the Student's t distribution see dt. For the uniform distribution see dunif. For the Weibull distribution see dweibull.

16 WYKRESY > X<-runif(100) > Y<-runif(100) > plot(x,y,col=1,cex=1,pch=1) Y X

17 > X<-runif(100) > Y<-runif(100) > plot(x,y,col=1,cex=1,pch=1) > plot(x,y,col=1,cex=2,pch=1) WYKRESY X Y Y X

18 > X<-runif(100) > Y<-runif(100) > plot(x,y,col=1,cex=1,pch=1) > plot(x,y,col=1,cex=2,pch=1) > plot(x,y,col=1,cex=2,pch=2) WYKRESY X Y Y Y X X

19 > X<-runif(100) > Y<-runif(100) > plot(x,y,col=1,cex=1,pch=1) > plot(x,y,col=1,cex=2,pch=1) > plot(x,y,col=1,cex=2,pch=1) WYKRESY > plot(x,y,col=1,cex=2,pch=1) X Y Y Y Y X X X

20 WYKRESY > X1<-runif(100) > Y1<-runif(100) > Y2<-runif(100) > X2<-runif(100) > X3<-runif(100) > Y3<-runif(100) > plot(x,y,col=1,cex=2,pch=1) Y X

21 > X1<-runif(100) > Y1<-runif(100) > Y2<-runif(100) > X2<-runif(100) > X3<-runif(100) > Y3<-runif(100) > plot(x,y,col=1,cex=2,pch=1) > points(x1,y1,col=2,cex=2,pch=2) WYKRESY Y X

22 > X1<-runif(100) > Y1<-runif(100) > Y2<-runif(100) > X2<-runif(100) > X3<-runif(100) > Y3<-runif(100) > plot(x,y,col=1,cex=2,pch=1) > points(x1,y1,col=2,cex=2,pch=2) > points(x2,y2,col=3,cex=2,pch=3) > points(x3,y3,col=4,cex=2,pch=4) WYKRESY Y X

23 WYKRESY > plot( + seq(from=-6,to=6,by=0.01), + dnorm(seq(from=-6,to=6,by=0.01)),cex=0.1)

24 ROZKŁAD NORMALNY I STUDENTA dnorm(seq(from = -6, to = 6, by = 0.01)) seq(from = -6, to = 6, by = 0.01)

25 WYKRESY > plot( + seq(from=-6,to=6,by=0.01), + dnorm(seq(from=-6,to=6,by=0.01)),cex=0.1) > points( + seq(from=-6,to=6,by=0.01), + dt(seq(from=-6,to=6,by=0.01),3),col=2,cex=0.1) > points( + seq(from=-6,to=6,by=0.01), + dt(seq(from=-6,to=6,by=0.01),6),col=3,cex=0.1) > points( + seq(from=-6,to=6,by=0.01), + dt(seq(from=-6,to=6,by=0.01),12),col=4,cex=0.1) > points( + seq(from=-6,to=6,by=0.01), + dt(seq(from=-6,to=6,by=0.01),24),col=5,cex=0.1)

26 ROZKŁAD NORMALNY I STUDENTA dnorm(seq(from = -6, to = 6, by = 0.01)) seq(from = -6, to = 6, by = 0.01)

27 ROZKŁAD NORMALNY I STUDENTA dnorm(seq(from = -6, to = 6, by = 0.01)) seq(from = -6, to = 6, by = 0.01)

28 WYKRESY > plot( + seq(from=-6,to=6,by=0.01), + dnorm(seq(from=-6,to=6,by=0.01)),cex=0.1) > points( + seq(from=-6,to=6,by=0.01), + dt(seq(from=-6,to=6,by=0.01),3),col=2,cex=0.1) > points( + seq(from=-6,to=6,by=0.01), + dt(seq(from=-6,to=6,by=0.01),6),col=3,cex=0.1) > points( + seq(from=-6,to=6,by=0.01), + dt(seq(from=-6,to=6,by=0.01),12),col=4,cex=0.1) > points( + seq(from=-6,to=6,by=0.01), + dt(seq(from=-6,to=6,by=0.01),24),col=5,cex=0.1)

29 ROZKŁAD NORMALNY I STUDENTA dnorm(seq(from = -6, to = 6, by = 0.01)) seq(from = -6, to = 6, by = 0.01)

30 ROZKŁAD NORMALNY I STUDENTA dnorm(seq(from = -6, to = 6, by = 0.01)) seq(from = -6, to = 6, by = 0.01)

31 WYKRESY > plot( + seq(from=-6,to=6,by=0.01), + dnorm(seq(from=-6,to=6,by=0.01)),cex=0.1) > points( + seq(from=-6,to=6,by=0.01), + dt(seq(from=-6,to=6,by=0.01),3),col=2,cex=0.1) > points( + seq(from=-6,to=6,by=0.01), + dt(seq(from=-6,to=6,by=0.01),6),col=3,cex=0.1) > points( + seq(from=-6,to=6,by=0.01), + dt(seq(from=-6,to=6,by=0.01),12),col=4,cex=0.1) > points( + seq(from=-6,to=6,by=0.01), + dt(seq(from=-6,to=6,by=0.01),24),col=5,cex=0.1)

32 ROZKŁAD NORMALNY I STUDENTA dnorm(seq(from = -6, to = 6, by = 0.01)) seq(from = -6, to = 6, by = 0.01)

33 dnorm(seq(from = -6, to = 6, by = 0.01)) 0.4 ROZKŁAD NORMALNY I STUDENTA seq(from = -6, to = 6, by = 0.01) Warszawa

34 WYKRESY > plot( + seq(from=-6,to=6,by=0.01), + dnorm(seq(from=-6,to=6,by=0.01)),cex=0.1) > points( + seq(from=-6,to=6,by=0.01), + dt(seq(from=-6,to=6,by=0.01),3),col=2,cex=0.1) > points( + seq(from=-6,to=6,by=0.01), + dt(seq(from=-6,to=6,by=0.01),6),col=3,cex=0.1) > points( + seq(from=-6,to=6,by=0.01), + dt(seq(from=-6,to=6,by=0.01),12),col=4,cex=0.1) > points( + seq(from=-6,to=6,by=0.01), + dt(seq(from=-6,to=6,by=0.01),24),col=5,cex=0.1)

35 dnorm(seq(from = -6, to = 6, by = 0.01)) 0.4 ROZKŁAD NORMALNY I STUDENTA seq(from = -6, to = 6, by = 0.01) Warszawa

36 dnorm(seq(from = -6, to = 6, by = 0.01)) 0.4 ROZKŁAD NORMALNY I STUDENTA seq(from = -6, to = 6, by = 0.01) Warszawa

37 ROZKŁAD NORMALNY I STUDENTA dnorm(seq(from = -6, to = 6, by = 0.01)) seq(from = -6, to = 6, by = 0.01)

38 WEKTORY LOGICZNE > x10<-runif(10) > x10 [1] > x10>0.5 [1] FALSE TRUE TRUE FALSE TRUE FALSE FALSE TRUE FALSE FALSE > x10>0.5 ->Mask > Mask [1] FALSE TRUE TRUE FALSE TRUE FALSE FALSE TRUE FALSE FALSE > str(mask) logi [1:10] FALSE TRUE TRUE FALSE TRUE FALSE...

39 WEKTORY LOGICZNE > x10>0.5 ->Mask > Mask [1] FALSE TRUE TRUE FALSE TRUE FALSE FALSE TRUE FALSE FALSE > str(mask) logi [1:10] FALSE TRUE TRUE FALSE TRUE FALSE... > as.numeric(mask) [1] > sum(mask) [1] 4 >

40 WEKTORY LOGICZNE > x10[mask] [1] > x10[x10>0.5] [1] > which(mask) [1] > which(x10>0.5) [1]

41 WEKTORY ZNAKOWE > napis<-"bioinformatyka" > napis [1] "Bioinformatyka" > napis2<c("b","i","o","i","n","f","o","r","m","a","t","y","k","a") > napis2 [1] "B" "i" "o" "i" "n" "f" "o" "r" "m" "a" "t" "y" "k" "a" > napis3<-c("bio","in","for","ma","ty","ka") > napis3 [1] "Bio" "in" "for" "ma" "ty" "ka"

42 WEKTORY ZNAKOWE > str(napis) chr "Bioinformatyka" > str(napis2) chr [1:14] "B" "i" "o" "i" "n" "f" "o" "r" "m" "a" "t" "y" "k" "a" > str(napis3) chr [1:6] "Bio" "in" "for" "ma" "ty" "ka" > napis2[3] [1] "o" > napis3[3] [1] "for" > napis[3] [1] NA

43 WEKTORY ZNAKOWE > napis4<-c("b","io","inf","orma","tyka ") > napis4 [1] "B" "io" "inf" "orma" "tyka " > str(napis4) chr [1:5] "B" "io" "inf" "orma" "tyka > napis2 [1] "B" "i" "o" "i" "n" "f" "o" "r" "m" "a" "t" "y" "k" "a" > paste(napis2,collapse="") [1] "Bioinformatyka" > paste(napis2,collapse=" ") [1] "B i o i n f o r m a t y k a" > paste(napis2,collapse="-") [1] "B-i-o-i-n-f-o-r-m-a-t-y-k-a"

44 WEKTORY ZNAKOWE > AA<-c("a","aa","aaa","aaaa","aaaaa","aaaaaa") > BB<-c("b","bb") > paste(aa,bb) [1] "a b" "aa bb" "aaa b" "aaaa bb" [5] "aaaaa b" "aaaaaa bb" > paste(aa,bb,sep="-") [1] "a-b" "aa-bb" "aaa-b" [5] "aaaa-bb" "aaaaa-b" "aaaaaa-bb" > paste(aa,nb,sep="-",collapse=" ") [1] "a-b aa-bb aaa-b aaaa-bb aaaaa-b aaaaaa-bb" > paste(aa,bb,sep="-",collapse="") [1] "a-baa-bbaaa-baaaa-bbaaaaa-baaaaaa-bb"

45 CZAS >> Sys.time() [1] " :23:11 CEST" > options(digits.secs=2) > Sys.time() [1] " :23:42.87 CEST"

46 CZAS > start.time<-sys.time() > end.time<-sys.time() > start.time [1] " :24:44.56 CEST" > end.time [1] " :24:53.26 CEST" > end.time-start.time Time difference of secs > as.numeric(end.time-start.time) [1]

47 > z <- as.posixlt(sys.time()) > zz <- Sys.time() > z [1] " :12:30.37 CEST" > zz [1] " :12:39.48 CEST" > unclass(zz) [1] > unclass(z) $sec [1] $min [1] 12 $hour [1] 13 $mday [1] 17 $mon [1] 4 $year [1] 115 $wday [1] 0 $yday [1] 136 $isdst [1] 1 attr(,"tzone") [1] "" "CET" "CEST" CZAS

48 CZAS > z <- as.posixlt(sys.time()) > zz <- Sys.time() > z [1] " :12:30.37 CEST" > zz [1] " :12:39.48 CEST" > unclass(zz) [1] > unlist(unclass(z)) sec min hour mday mon year wday yday isdst

49 CZAS > z [1] " :12:30.37 CEST" > zz [1] " :12:39.48 CEST" > unclass(zz) [1] > unlist(unclass(z)) sec min hour mday mon year wday yday isdst > unclass(zz) [1] > unclass(zz) [1]

50 Class "POSIXct" represents the (signed) number of seconds since the beginning of 1970 as a numeric vector. CZAS Class "POSIXlt" is a named list of vectors represenlng sec 0 61: seconds min 0 59: minutes hour 0 23: hours mday 1 31: day of the month mon 0 11: months aoer the first of the year. year Years since wday 0 6 day of the week, starlng on Sunday. yday 0 365: day of the year. isdst Daylight savings lme flag. Posilve if in force, zero if not, negalve if unknown.

51 CZAS > MyTime_1 [1] " :00:00 Europe/Warsaw" > MyTime_2 [1] " :00:00" > MyTime_3 [1] " :00:00 UTC > as.posixct(mytime_1) [1] " :00:00 CEST" > as.posixct(mytime_2) [1] " :00:00 CEST" > as.posixct(mytime_3) [1] " :00:00 CEST"

52 CZAS > MyTime_1 [1] " :00:00 Europe/Warsaw" > MyTime_2 [1] " :00:00" > MyTime_3 [1] " :00:00 UTC" > > as.posixlt(mytime_3) [1] " :00:00" > as.posixlt(mytime_2) [1] " :00:00" > as.posixlt(mytime_1) [1] " :00:00"

53 CZAS > as.posixct(mytime_1,tz="utc") [1] " :00:00 UTC" > as.posixct(mytime_1,tz="europe/london") [1] " :00:00 BST" > as.posixct(mytime_1,tz="europe/warsaw") [1] " :00:00 CEST" > as.posixct(mytime_1,tz="europe/kiev") [1] " :00:00 EEST"

54 CZAS > as.numeric(as.posixct(mytime_1,tz="utc")) [1] > as.numeric(as.posixct(mytime_1,tz="utc")) [1] 0 > as.numeric(as.posixct(mytime_1,tz="europe/london")) [1] > as.numeric(as.posixct(mytime_1,tz="europe/warsaw")) [1] > as.numeric(as.posixct(mytime_1,tz="europe/kiev")) [1]

55 WEKTORY NOMINALNE > str(iris) 'data.frame': 150 obs. of 5 variables: $ Sepal.Length: num $ Sepal.Width : num $ Petal.Length: num $ Petal.Width : num $ Species : Factor w/ 3 levels "setosa","versicolor",..: > str(esoph) 'data.frame': 88 obs. of 5 variables: $ agegp : Ord.factor w/ 6 levels "25-34"<"35-44"<..: $ alcgp : Ord.factor w/ 4 levels "0-39g/day"<"40-79"<..: $ tobgp : Ord.factor w/ 4 levels "0-9g/day"<"10-19"<..: $ ncases : num $ ncontrols: num

56 WEKTORY NOMINALNE > levels(iris$species) [1] "setosa" "versicolor" "virginica" > levels(esoph$agegp) [1] "25-34" "35-44" "45-54" "55-64" "65-74" "75+" > levels(esoph$alcgp) [1] "0-39g/day" "40-79" "80-119" "120+" > levels(esoph$tobgp) [1] "0-9g/day" "10-19" "20-29" "30+"

57 WEKTORY NOMINALNE > as.numeric(esoph$agegp) [1] [34] [67] > as.numeric(esoph$alcgp) [1] [34] [67] > as.numeric(esoph$tobgp) [1] [34] [67] >

58 WEKTORY NOMINALNE > oceny<-c("3","3.5","3","5","5","5","4","4","2","4.5") > as.factor(oceny)->oceny > oceny [1] Levels: > as.numeric(oceny) [1] >

59 WEKTORY NOMINALNE > oceny<c("dobry","dobry","dostateczny","niedostateczny","dostateczny +","bardzo dobry","bardzo dobry","bardzo dobry","dobry +","dostateczny +") > as.factor(oceny)->oceny > oceny [1] dobry dobry dostateczny niedostateczny [5] dostateczny + bardzo dobry bardzo dobry bardzo dobry [9] dobry + dostateczny + 6 Levels: bardzo dobry dobry dobry + dostateczny... niedostateczny > as.numeric(oceny) [1] > levels(oceny) [1] "bardzo dobry" "dobry" "dobry +" [4] "dostateczny" "dostateczny +" "niedostateczny"

60 MACIERZE > 1:60->M2d > dim(m2d)<-c(6,10) > M2d [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [1,] [2,] [3,] [4,] [5,] [6,]

61 MACIERZE > dim(m2d)<-c(10,6) > M2d [,1] [,2] [,3] [,4] [,5] [,6] [1,] [2,] [3,] [4,] [5,] [6,] [7,] [8,] [9,] [10,]

62 MACIERZE > M2d[3] [1] 3 > M2d[,3] [1] > M2d[3,] [1] > colnames(m2d)<-c("x1","x2","x3","x4","x5","x6") > M2d[,"x3"] [1]

63 MACIERZE > M3d<-1:60 > dim(m3d)<-c(4,5,3) > M3d,, 1 [,1] [,2] [,3] [,4] [,5] [1,] [2,] [3,] [4,] ,, 2 [,1] [,2] [,3] [,4] [,5] [1,] [2,] [3,] [4,] ,, 3 [,1] [,2] [,3] [,4] [,5] [1,] [2,] [3,] [4,]

64 MACIERZE > M3d[3] [1] 3 > M3d[3,,] [,1] [,2] [,3] [1,] [2,] [3,] [4,] [5,] ,, 1 [,1] [,2] [,3] [,4] [,5] [1,] [2,] [3,] [4,] ,, 2 [,1] [,2] [,3] [,4] [,5] [1,] [2,] [3,] [4,] ,, 3 [,1] [,2] [,3] [,4] [,5] [1,] [2,] [3,] [4,]

65 MACIERZE > M3d[3] [1] 3 > M3d[,3,] [,1] [,2] [,3] [1,] [2,] [3,] [4,] ,, 1 [,1] [,2] [,3] [,4] [,5] [1,] [2,] [3,] [4,] ,, 2 [,1] [,2] [,3] [,4] [,5] [1,] [2,] [3,] [4,] ,, 3 [,1] [,2] [,3] [,4] [,5] [1,] [2,] [3,] [4,]

66 MACIERZE > M3d[3] [1] 3 > M3d[,,3] [,1] [,2] [,3] [,4] [,5] [1,] [2,] [3,] [4,] ,, 1 [,1] [,2] [,3] [,4] [,5] [1,] [2,] [3,] [4,] ,, 2 [,1] [,2] [,3] [,4] [,5] [1,] [2,] [3,] [4,] ,, 3 [,1] [,2] [,3] [,4] [,5] [1,] [2,] [3,] [4,]

67 NAZWY W WEKTORACH > str(islands) Named num [1:48] attr(*, "names")= chr [1:48] "Africa" "Antarctica" "Asia" "Australia"... > islands[1:6] Africa Antarctica Asia Australia Axel Heiberg Baffin

68 NAZWY W WEKTORACH > names(sort(islands,decreasing=true))[1:10] [1] "Asia" "Africa" "North America" [4] "South America" "Antarctica" "Europe" [7] "Australia" "Greenland" "New Guinea" [10] "Borneo"

69 NAZWY W WEKTORACH > names(sort(islands,decreasing=true))[1:10] [1] "Asia" "Africa" "North America" [4] "South America" "Antarctica" "Europe" [7] "Australia" "Greenland" "New Guinea" [10] "Borneo" > sort(islands,decreasing=true)[1:10] Asia Africa North America South America Antarctica Europe Australia Greenland New Guinea Borneo

70 NAZWY W WEKTORACH > names(sort(islands,decreasing=true))[1:10] [1] "Asia" "Africa" "North America" [4] "South America" "Antarctica" "Europe" [7] "Australia" "Greenland" "New Guinea" [10] "Borneo" >sort(islands,decreasing=true)[8:17] Greenland New Guinea Borneo Madagascar Baffin Sumatra Honshu Britain Ellesmere Victoria

71 FUNKCJE AddTwoNumbers<-function(x,y){ print(x) print(y) z<-x+y print(z) return(z) } > AddTwoNumbers(2,44) [1] 2 [1] 44 [1] 46 [1] 46 >

72 FUNKCJE MyAvg<-function(x,y){ a1<-(x+y)/2 a2<-sqrt(x*y) a3<-2/(1/x+1/y) return(list(arithmetic=a1,geometric=a2,harmonic=a3)) } > MyAvg(3,1) $arithmetic [1] 2 $geometric [1] $harmonic [1] 1.5

73 FUNKCJE MyAvg<-function(x=5,y=11){ a1<-(x+y)/2 a2<-sqrt(x*y) a3<-2/(1/x+1/y) return(list(arithmetic=a1,geometric=a2,harmonic=a3)) } > MyAvg() $arithmetic [1] 8 $geometric [1] $harmonic [1] 6.875

74 FUNKCJE Nie modyfikują argumentów Tworzą wewnętrzne kopie danych Nie mają efektów ubocznych Mogą przyjmować argumenty domyślne Mogą przyjmować argumenty niezdefiniowane dla danej funkcji > MyAvg(25,1,col=3) Błąd w MyAvg(25, 1, col = 3) : nieużywane argument(y) (col = 3)

75 FUNKCJE Mogą przyjmować argumenty niezdefiniowane dla danej funkcji MyAvg<-function(x,y,...){ a1<-(x+y)/2 a2<-sqrt(x*y) a3<-2/(1/x+1/y) return(list(arithmetic=a1,geometric=a2,harmonic=a3)) } > MyAvg(25,1) $arithmetic [1] 13 $geometric [1] 5 $harmonic [1]

76 FUNKCJE Mogą przyjmować argumenty niezdefiniowane dla danej funkcji MyAvg<-function(x,y,...){ a1<-(x+y)/2 a2<-sqrt(x*y) a3<-2/(1/x+1/y) return(list(arithmetic=a1,geometric=a2,harmonic=a3)) } > MyAvg(25,1,col=3) $arithmetic [1] 13 $geometric [1] 5 $harmonic [1]

77 WEJSCIE / WYJŚCIE "Sepal.Length";"Sepal.Width";"Petal.Length";"Petal.Width";"Species" > head(iris) Sepal.Length Sepal.Width Petal.Length Petal.Width Species setosa setosa setosa setosa setosa setosa > write.table(iris,file="iris.csv",sep=";") > system("head -5 iris.csv ) "1";5.1;3.5;1.4;0.2;"setosa" "2";4.9;3;1.4;0.2;"setosa" "3";4.7;3.2;1.3;0.2;"setosa" "4";4.6;3.1;1.5;0.2;"setosa" "5";5;3.6;1.4;0.2;"setosa"

78 WEJSCIE / WYJŚCIE > read.table(file="iris.csv",sep=";",header=true)->newiris > head(newiris) Sepal.Length Sepal.Width Petal.Length Petal.Width Species setosa setosa setosa setosa setosa setosa >

79 WEJSCIE / WYJŚCIE > save(newiris,file="iris.rd") > rm(newiris) > ls() [1] "Iris" "iris.lm" "iris10" "MyAvg" "MySample" "rownames" "student1" "student2" [9] "team1" "Team2" "test" > load("iris.rd") > ls() [1] "Iris" "iris.lm" "iris10" "MyAvg" "MySample" "newiris" "rownames" "student1" [9] "student2" "team1" "Team2" "test"

Bioinformatyka: Wykład 4. R Elementy języka programowania

Bioinformatyka: Wykład 4. R Elementy języka programowania Bioinformatyka: Wykład 4 R Elementy języka programowania Pytanie z poprzedniego wkładu podaj polecenie, które dla zbioru iris wyświetli podzbiór składający się z losowej próby wierszy, próba ma mieć liczebność

Bardziej szczegółowo

Wnioskowanie Statystyczne - Ćwiczenia Michał Marosz Monday, February 23, 2015

Wnioskowanie Statystyczne - Ćwiczenia Michał Marosz Monday, February 23, 2015 Wnioskowanie Statystyczne - Ćwiczenia Michał Marosz Monday, February 23, 2015 Zadanie 1 Załaduj do R dane udostepnione na poprzednich zajęciach i wyświetl podstwowe informacje o zawartych tam danych setwd("d:/!climate/pulpit")

Bardziej szczegółowo

Funkcja sample, domyślnie generuje dane bez powtórzeń.

Funkcja sample, domyślnie generuje dane bez powtórzeń. Generowanie danych Generowanie dowolnych danych Funkcja sample, domyślnie generuje dane bez powtórzeń. Generowanie danych Generowanie dowolnych danych W R znajdują się pewne predefiniowane wektory, z których

Bardziej szczegółowo

Funkcja sample() Funkcja sample(), domyślnie generuje dane bez powtórzeń.

Funkcja sample() Funkcja sample(), domyślnie generuje dane bez powtórzeń. Generowanie dowolnych danych Funkcja sample() Funkcja sample(), domyślnie generuje dane bez powtórzeń. Predefiniowane wektory W R znajdują się pewne predefiniowane wektory, z których możemy losować elementy

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

Programowanie Generowanie danych. Uwagi ogólne

Programowanie Generowanie danych. Uwagi ogólne Uwagi ogólne R nie jest wyjątkiem w językach programowania i opiera się na zmiennych i funkcjach. Zmienne nie muszą być deklarowane, można ich zatem od razu używać. Uwagi ogólne Klasycznym operatorem przypisania

Bardziej szczegółowo

Bioinformatyka V. Analiza Danych w Języku R

Bioinformatyka V. Analiza Danych w Języku R Bioinformatyka V Analiza Danych w Języku R ANALIZA DANYCH Metody statystyczne analizy danych eksploracja danych testowanie hipotez analiza Bayesowska Metody uczenia maszynowego Uczenie nadzorowane Uczenie

Bardziej szczegółowo

Programowanie Generowanie danych. Uwagi ogólne

Programowanie Generowanie danych. Uwagi ogólne Uwagi ogólne R nie jest wyjątkiem w językach programowania i opiera się na zmiennych i funkcjach. Zmienne nie muszą być deklarowane, można ich zatem od razu używać. Klasycznym operatorem przypisania w

Bardziej szczegółowo

Inteligentna analiza danych

Inteligentna analiza danych Numer indeksu 150946 Michał Moroz Imię i nazwisko Numer indeksu 150875 Grzegorz Graczyk Imię i nazwisko kierunek: Informatyka rok akademicki: 2010/2011 Inteligentna analiza danych Ćwiczenie I Wskaźniki

Bardziej szczegółowo

Niezawodność diagnostyka systemów laboratorium. Ćwiczenie 2

Niezawodność diagnostyka systemów laboratorium. Ćwiczenie 2 dr inż. Jacek Jarnicki doc. PWr Niezawodność diagnostyka systemów laboratorium Ćwiczenie 2 1. Treść ćwiczenia Generowanie realizacji zmiennych losowych i prezentacja graficzna wyników losowania. Symulacja

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

Niezawodność diagnostyka systemów laboratorium

Niezawodność diagnostyka systemów laboratorium Doc. dr inż. Jacek Jarnicki Niezawodność diagnostyka systemów laboratorium 1. Zajęcia wprowadzające treść ćwiczenia Informacje wstępne, cel zajęć, organizacja zajęć, materiały dydaktyczne, sprawozdania,

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

PODSTAWY STATYSTYCZNEJ ANALIZY DANYCH. Wykład 5 Kwadratowa analiza dyskryminacyjna QDA. Metody klasyfikacji oparte na rozkładach prawdopodobieństwa.

PODSTAWY STATYSTYCZNEJ ANALIZY DANYCH. Wykład 5 Kwadratowa analiza dyskryminacyjna QDA. Metody klasyfikacji oparte na rozkładach prawdopodobieństwa. Wykład 5 Kwadratowa analiza dyskryminacyjna QDA. Metody klasyfikacji oparte na rozkładach prawdopodobieństwa. Kwadratowa analiza dyskryminacyjna Przykład analizy QDA Czasem nie jest możliwe rozdzielenie

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

Programowanie Komputerów

Programowanie Komputerów Programowanie Komputerów Łukasz Kuszner pokój 209, WETI http://www.kaims.pl/ kuszner/ kuszner@eti.pg.gda.pl Wykład 30 godzin, Laboratoria 30 godzin 2012/ Strona 1 z 28 1. Tablice w C# Indeksowane od zera

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

Przydatne sztuczki - sql. Na przykładzie postgres a.

Przydatne sztuczki - sql. Na przykładzie postgres a. Przydatne sztuczki - sql. Na przykładzie postgres a. M. Wiewiórko 05/2014 Plan Uwagi wstępne Przykład Rozwiązanie Tabela testowa Plan prezentacji: Kilka uwag wstępnych. Operacje na typach tekstowych. Korzystanie

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

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 2: Wstęp do języka Java 3/4/2013 S.Deniziak: Programowanie obiektowe - Java 1 Cechy języka Java Wszystko jest obiektem Nie ma zmiennych globalnych Nie ma funkcji globalnych

Bardziej szczegółowo

PODSTAWY STATYSTYCZNEJ ANALIZY DANYCH

PODSTAWY STATYSTYCZNEJ ANALIZY DANYCH Wykład 3 Liniowe metody klasyfikacji. Wprowadzenie do klasyfikacji pod nadzorem. Fisherowska dyskryminacja liniowa. Wprowadzenie do klasyfikacji pod nadzorem. Klasyfikacja pod nadzorem Klasyfikacja jest

Bardziej szczegółowo

Podstawy programowania w języku C

Podstawy programowania w języku C Podstawy programowania w języku C WYKŁAD 1 Proces tworzenia i uruchamiania programów Algorytm, program Algorytm przepis postępowania prowadzący do rozwiązania określonego zadania. Program zapis algorytmu

Bardziej szczegółowo

Mgr inż. Kasietczuk Magdalena. Wydział Geodezji Górniczej i Inżynierii Środowiska Katedra Kształtowania i Ochrony Środowiska

Mgr inż. Kasietczuk Magdalena. Wydział Geodezji Górniczej i Inżynierii Środowiska Katedra Kształtowania i Ochrony Środowiska Akademia Górniczo Hutnicza im. S. Staszica w Krakowie Pakiet SURVIVAL w R Mgr inż. Kasietczuk Magdalena Wydział Geodezji Górniczej i Inżynierii Środowiska Katedra Kształtowania i Ochrony Środowiska Kraków,

Bardziej szczegółowo

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h] 1. Typy. Java jest językiem programowania z silnym systemem kontroli typów. To oznacza, że każda zmienna, atrybut czy parametr ma zadeklarowany typ. Kompilator wylicza typy wszystkich wyrażeń w programie

Bardziej szczegółowo

Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak Java język programowania obiektowego Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak 1 Język Java Język Java powstał w roku 1995 w firmie SUN Microsystems Java jest językiem: wysokiego

Bardziej szczegółowo

Programowanie. Lista zadań nr 15. Na ćwiczenia 11, 19 i 23 czerwca 2008

Programowanie. Lista zadań nr 15. Na ćwiczenia 11, 19 i 23 czerwca 2008 Programowanie Lista zadań nr 15 Na ćwiczenia 11, 19 i 23 czerwca 2008 Zadanie 1. Pokaż, że w systemie z polimorfizmem parametrycznym można napisać program P n rozmiaru O(n), którego typ ma rozmiar 2 2Ω(n).

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

MATERIAŁY DO ZAJĘĆ II

MATERIAŁY DO ZAJĘĆ II MATERIAŁY DO ZAJĘĆ II Zmienne w C# Spis treści I. Definicja zmiennej II. Hierarchia typów (CTS) III. Typy wbudowane IV. Deklaracja zmiennych V. Literały VI. Pobieranie i wypisywanie wartości zmiennych

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

-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

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

Cwiczenie 3 - Rozkłady empiryczne i. teoretyczne

Cwiczenie 3 - Rozkłady empiryczne i. teoretyczne Cwiczenie 3 - Rozkłady empiryczne i teoretyczne Michał Marosz 31 października 2015 1 Spis treści Rozkład empiryczny i dystrybuanta empiryczna 6 Estymacja parametrów rozkładów teoretycznych 8 Zmienne dyskretne

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

Wstęp do Informatyki i Programowania (kierunek matematyka stosowana)

Wstęp do Informatyki i Programowania (kierunek matematyka stosowana) Wstęp do Informatyki i Programowania (kierunek matematyka stosowana) Jacek Cichoń Przemysław Kobylański Instytut Matematyki i Informatyki Politechnika Wrocławska Na podstawie: M.Summerfield.Python 3. Kompletne

Bardziej szczegółowo

Ściągawka z funkcji i właściwości systemowych VBA. Opis działania i parametrów. Nazwa funkcji. Składnia zwracanej wartości

Ściągawka z funkcji i właściwości systemowych VBA. Opis działania i parametrów. Nazwa funkcji. Składnia zwracanej wartości Ściągawka z funkcji i właściwości systemowych VBA. Nazwa funkcji Składnia Typ zwracanej wartości Opis działania i parametrów Funkcje konwersji CBool CBool(arg) Boolean arg powinno być wartością numeryczną

Bardziej szczegółowo

PODSTAWOWE ZASADY PROGRAMOWANIA OBIEKTOWEGO NA BAZIE PAKIETU ROOT

PODSTAWOWE ZASADY PROGRAMOWANIA OBIEKTOWEGO NA BAZIE PAKIETU ROOT PODSTAWOWE ZASADY PROGRAMOWANIA OBIEKTOWEGO NA BAZIE PAKIETU ROOT Grzegorz Stefanek Jan Kochanowski University 1 Programowanie proceduralne 2 Programowanie proceduralne Programowanie proceduralne, choć

Bardziej szczegółowo

Funkcje przeciążone, konstruktory kopiujące, argumenty domyślne

Funkcje przeciążone, konstruktory kopiujące, argumenty domyślne Funkcje przeciążone, konstruktory kopiujące, argumenty domyślne Przeciążenie funkcji polega na użyciu funkcji z tą samą nazwą, które mają różne listy argumentów(różne typy, różna ilość lub to i inne).

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

Podstawy programowania w języku C i C++

Podstawy programowania w języku C i C++ Podstawy programowania w języku C i C++ Część czwarta Operatory i wyrażenia Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu,

Bardziej szczegółowo

Typy złożone. Struktury, pola bitowe i unie. Programowanie Proceduralne 1

Typy złożone. Struktury, pola bitowe i unie. Programowanie Proceduralne 1 Typy złożone Struktury, pola bitowe i unie. Programowanie Proceduralne 1 Typy podstawowe Typy całkowite: char short int long Typy zmiennopozycyjne float double Modyfikatory : unsigned, signed Typ wskaźnikowy

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

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak JAVA Wstęp do programowania w języku obiektowym Bibliografia: JAVA Szkoła programowania, D. Trajkowska Ćwiczenia praktyczne JAVA. Wydanie III,M. Lis Platforma JSE: Opracował: Andrzej Nowak JSE (Java Standard

Bardziej szczegółowo

1. Prawie wszystko jest obiektem (poza nullem i 'undefined'). 3. Dostęp do metod uzyskuje się analogicznie do właściwości:

1. Prawie wszystko jest obiektem (poza nullem i 'undefined'). 3. Dostęp do metod uzyskuje się analogicznie do właściwości: 1. Prawie wszystko jest obiektem (poza nullem i 'undefined'). 2. Dostawanie się do właściwości przez kropkę: obiekt.nazwawlasciwosci; Przykład: var msg = "hello world!"; var x = msg.length; 3. Dostęp do

Bardziej szczegółowo

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij.

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij. Programowanie Sobera Jolanta 16.09.2006 Strona 1 z 26 1 Wprowadzenie do programowania 4 2 Pierwsza aplikacja 5 3 Typy danych 6 4 Operatory 9 Strona 2 z 26 5 Instrukcje sterujące 12 6 Podprogramy 15 7 Tablice

Bardziej szczegółowo

Elementy metod numerycznych - zajęcia 9

Elementy metod numerycznych - zajęcia 9 Poniższy dokument zawiera informacje na temat zadań rozwiązanych w trakcie laboratoriów. Elementy metod numerycznych - zajęcia 9 Tematyka - Scilab 1. Labolatoria Zajęcia za 34 punktów. Proszę wysłać krótkie

Bardziej szczegółowo

ANALIZA STATYSTYCZNA WYNIKÓW BADAŃ

ANALIZA STATYSTYCZNA WYNIKÓW BADAŃ ANALIZA STATYSTYCZNA WYNIKÓW BADAŃ Dopasowanie rozkładów Dopasowanie rozkładów- ogólny cel Porównanie średnich dwóch zmiennych 2 zmienne posiadają rozkład normalny -> test parametryczny (t- studenta) 2

Bardziej szczegółowo

Algorytmy i struktury danych. wykład 1

Algorytmy i struktury danych. wykład 1 Plan całego wykładu:. Pojęcie algorytmu, projektowanie wstępujące i zstępujące, rekurencja. Klasy algorytmów. Poprawność algorytmu, złożoność obliczeniowa. Wskaźniki, dynamiczne struktury danych: listy,

Bardziej szczegółowo

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

2. Tablice. Tablice jednowymiarowe - wektory. Algorytmy i Struktury Danych 2. Tablice Tablica to struktura danych przechowująca elementy jednego typu (jednorodna). Dostęp do poszczególnych elementów składowych jest możliwy za pomocą indeksów. Rozróżniamy następujące typy tablic:

Bardziej szczegółowo

Zofia Kruczkiewicz, Programowanie obiektowe - java, wykład 2 1

Zofia Kruczkiewicz, Programowanie obiektowe - java, wykład 2 1 PODSTAWOWE ELEMENTY JĘZYKA JAVA WYRAŻENIA, OPERATORY, INSTRUKCJE 1. Operatory arytmetyczne +, -, /,*, % Przykład 1 programu z interfejsem konsolowym public class Lab2_1 // Tworzy generator liczb losowych,

Bardziej szczegółowo

Wprowadzenie do języka Java

Wprowadzenie do języka Java WSNHiD, Programowanie 2 Lab. 1 [ część 1 ] Wprowadzenie do języka Java Wprowadzenie Język programowania Java jest obiektowym językiem programowania. Powstał w 1995 i od tej pory był intensywnie rozwijany.

Bardziej szczegółowo

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 2. Programowanie komputerowe

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 2. Programowanie komputerowe Wydział Zarządzania AGH Katedra Informatyki Stosowanej Podstawy VBA cz. 2 Programowanie 1 Program wykładu Typy danych Wyrażenia Operatory 2 VBA Visual Basic dla aplikacji (VBA) firmy Microsoft jest językiem

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Język programowania Ruby Marcin Młotkowski 12 kwietnia 2018 Plan wykładu 1 Wstęp 2 Typy numeryczne Łańcuchy znaków (klasa String) Przedziały Tablice i tablice asocjacyjne Nazwy

Bardziej szczegółowo

Inteligencja obliczeniowa Laboratorium 9: Sieci neuronowe.

Inteligencja obliczeniowa Laboratorium 9: Sieci neuronowe. Inteligencja obliczeniowa Laboratorium 9: Sieci neuronowe. Na dzisiejszych laboratoriach poznamy kolejny algorytm inspirowany biologicznie (wcześniej mieliśmy algorytmy genetyczne), który pozwoli na klasyfikowanie

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

Język ludzki kod maszynowy

Język ludzki kod maszynowy Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza

Bardziej szczegółowo

wykład IV uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C, a C++. wykład IV dr Jarosław Mederski Spis Język C++ - wstęp

wykład IV uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C, a C++. wykład IV dr Jarosław Mederski Spis Język C++ - wstęp Programowanie uzupełnienie notatek: dr Jerzy Białkowski 1 2 3 4 Historia C++ został zaprojektowany w 1979 przez Bjarne Stroustrupa jako rozszerzenie języka C o obiektowe mechanizmy abstrakcji danych i

Bardziej szczegółowo

Instrukcje wyboru. Tworzenie programu, Schematy blokowe, Instrukcje wyboru, Operatory logiczne

Instrukcje wyboru. Tworzenie programu, Schematy blokowe, Instrukcje wyboru, Operatory logiczne Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Instrukcje wyboru Tworzenie programu, Schematy blokowe, Instrukcje wyboru, Operatory logiczne Być, czy nie być?

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

Pułapki liczb zmiennoprzecinkowych. Adam Sawicki asawicki.info

Pułapki liczb zmiennoprzecinkowych. Adam Sawicki asawicki.info Pułapki liczb zmiennoprzecinkowych Adam Sawicki asawicki.info 24.09.2016 Agenda Liczby zmiennoprzecinkowe Budowa Typy możliwości i ograniczenia Typy w językach programowania Pułapki Zakres Precyzja Nieskooczone

Bardziej szczegółowo

Konspekt do zajęć: Statystyczne metody analizy danych. Agnieszka Nowak-Brzezińska 14 maja 2012

Konspekt do zajęć: Statystyczne metody analizy danych. Agnieszka Nowak-Brzezińska 14 maja 2012 Drzewa klasyfikacyjne Konspekt do zajęć: Statystyczne metody analizy danych Agnieszka Nowak-Brzezińska 14 maja 2012 1 Wprowadzenie Drzewa klasyfikacyjne 1 jako reprezentacja wiedzy o klasyfikacji są dość

Bardziej szczegółowo

Delphi Laboratorium 3

Delphi Laboratorium 3 Delphi Laboratorium 3 1. Procedury i funkcje Funkcja jest to wydzielony blok kodu, który wykonuje określoną czynność i zwraca wynik. Procedura jest to wydzielony blok kodu, który wykonuje określoną czynność,

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

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu Programowanie strukturalne Opis ogólny programu w Turbo Pascalu STRUKTURA PROGRAMU W TURBO PASCALU Program nazwa; } nagłówek programu uses nazwy modułów; } blok deklaracji modułów const } blok deklaracji

Bardziej szczegółowo

15. Funkcje i procedury składowane PL/SQL

15. Funkcje i procedury składowane PL/SQL 15. Funkcje i procedury składowane PLSQL 15.1. SQL i PLSQL (Structured Query Language - SQL) Język zapytań strukturalnych SQL jest zbiorem poleceń, za pomocą których programy i uŝytkownicy uzyskują dostęp

Bardziej szczegółowo

Programowanie C# mgr in. Dariusz Ku. p. 119A dkus@dune.pol.lublin.pl http://antenor.pol.lublin.pl/~dkus

Programowanie C# mgr in. Dariusz Ku. p. 119A dkus@dune.pol.lublin.pl http://antenor.pol.lublin.pl/~dkus Programowanie C# mgr in. Dariusz Ku p. 119A dkus@dune.pol.lublin.pl http://antenor.pol.lublin.pl/~dkus Translacja kodu Kod ródłowy Java, C# Kompilator Kompilator Kod poredni Interpreter Maszyna wirtualna

Bardziej szczegółowo

Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Ćwiczenie 1. Podstawy. Wprowadzenie do programowania w języku C. Katedra Metrologii AGH

Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Ćwiczenie 1. Podstawy. Wprowadzenie do programowania w języku C. Katedra Metrologii AGH Laboratorium Podstaw Informatyki Kierunek Elektrotechnika Ćwiczenie 1 Podstawy Wprowadzenie do programowania w języku C Kraków 2010 Twój pierwszy program w C Program w języku C, jak i w wielu innych językach

Bardziej szczegółowo

Podstawy Informatyki. Metalurgia, I rok. Wykład 3 Liczby w komputerze

Podstawy Informatyki. Metalurgia, I rok. Wykład 3 Liczby w komputerze Podstawy Informatyki Metalurgia, I rok Wykład 3 Liczby w komputerze Jednostki informacji Bit (ang. bit) (Shannon, 1948) Najmniejsza ilość informacji potrzebna do określenia, który z dwóch równie prawdopodobnych

Bardziej szczegółowo

Szacowanie optymalnego systemu Bonus-Malus przy pomocy Pseudo-MLE. Joanna Sawicka

Szacowanie optymalnego systemu Bonus-Malus przy pomocy Pseudo-MLE. Joanna Sawicka Szacowanie optymalnego systemu Bonus-Malus przy pomocy Pseudo-MLE Joanna Sawicka Plan prezentacji Model Poissona-Gamma ze składnikiem regresyjnym Konstrukcja optymalnego systemu Bonus- Malus Estymacja

Bardziej szczegółowo

Java: interfejsy i klasy wewnętrzne

Java: interfejsy i klasy wewnętrzne Java: interfejsy i klasy wewnętrzne Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak 1 INTERFEJSY Interfejs to opis co klasa implementująca dany interfejs powinna robić, ale bez określania

Bardziej szczegółowo

Pobieranie argumentów wiersza polecenia

Pobieranie argumentów wiersza polecenia Pobieranie argumentów wiersza polecenia 2. Argumenty wiersza polecenia Lista argumentów Lista argumentów zawiera cały wiersz poleceń, łącznie z nazwą programu i wszystkimi dostarczonymi argumentami. Przykłady:

Bardziej szczegółowo

- nawiasy kwadratowe oznaczają, że to lista

- nawiasy kwadratowe oznaczają, że to lista Haskell jest statycznym typem języka: - wszystkie typy i wyrażenia są znane w czasie kompilacji ( zwiększa to bezpieczeństwo kodu). Podawanie typów zmiennych i argumentów funkcji jest zbędne, gdyż Haskel

Bardziej szczegółowo

Nowa oferta edukacyjna Uniwersytetu Wrocławskiego odpowiedzią na współczesne potrzeby rynku pracy i gospodarki opartej na wiedzy

Nowa oferta edukacyjna Uniwersytetu Wrocławskiego odpowiedzią na współczesne potrzeby rynku pracy i gospodarki opartej na wiedzy Projekt Nowa oferta edukacyjna Uniwersytetu Wrocławskiego odpowiedzią na współczesne potrzeby rynku pracy i gospodarki opartej na wiedzy Dane: 2000 największych spółek światowych z 2004 (Forbes Magazine)

Bardziej szczegółowo

Podstawy programowania

Podstawy programowania Podstawy programowania Część piąta Proste typy danych w języku Pascal Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu, lektura

Bardziej szczegółowo

Bazy danych 6. SQL funkcje daty i czasu, zmienne tymczasowe, aliasy

Bazy danych 6. SQL funkcje daty i czasu, zmienne tymczasowe, aliasy Bazy danych 6. SQL funkcje daty i czasu, zmienne tymczasowe, aliasy P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2007/08 MySQL i programowanie wsadowe C:\wyklady\bazy> mysql < nazwa pliku

Bardziej szczegółowo

Klasyfikacja Support Vector Machines

Klasyfikacja Support Vector Machines Klasyfikacja Support Vector Machines LABORKA Piotr Ciskowski przykład 1 KLASYFIKACJA KWIATKÓW IRYSA przykład 1. klasyfikacja kwiatków irysa (versicolor-virginica) żródło: pomoc MATLABa: http://www.mathworks.com/help/stats/svmclassify.html

Bardziej szczegółowo

Liczby losowe i pętla while w języku Python

Liczby losowe i pętla while w języku Python Liczby losowe i pętla while w języku Python Mateusz Miotk 17 stycznia 2017 Instytut Informatyki UG 1 Generowanie liczb losowych Na ogół programy są spójne i prowadzą do przewidywanych wyników. Czasem jednak

Bardziej szczegółowo

Wstęp do Programowania 2

Wstęp do Programowania 2 Wstęp do Programowania 2 dr Bożena Woźna-Szcześniak bwozna@gmail.com Akademia im. Jana Długosza Wykład 5 W programowaniu obiektowym programista koncentruje się na obiektach. Zadaje sobie pytania typu:

Bardziej szczegółowo

Kompilacja javac prog.java powoduje wyprodukowanie kilku plików o rozszerzeniu.class, m.in. Main.class wykonanie: java Main

Kompilacja javac prog.java powoduje wyprodukowanie kilku plików o rozszerzeniu.class, m.in. Main.class wykonanie: java Main Język obiektowy Wykład 13 Programowanie obiektowe z lotu ptaka, str 1 James Gosling, Mike Sheridan, Patrick Naughton Sun Microsystems 1995(20latmłodszyodC) C jest językiem proceduralnym Java jest językiem

Bardziej szczegółowo

Programowanie obiektowe - Przykładowe zadania egzaminacyjne (2005/2006)

Programowanie obiektowe - Przykładowe zadania egzaminacyjne (2005/2006) Programowanie obiektowe - Przykładowe zadania egzaminacyjne (2005/2006) Część 1. Teoria Wyjaśnij pojęcia, podaj przykład: klasa obiekt konstruktor destruktor kapsułkowanie (hermetyzacja) wskaźnik this

Bardziej szczegółowo

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

Język JAVA podstawy. wykład 1, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy wykład 1, część 3 1 Język JAVA podstawy Plan wykładu: 1. Krótka historia Javy 2. Jak przygotować sobie środowisko programistyczne 3. Opis środowiska JDK 4. Tworzenie programu krok po

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

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 2. Poprawna definicja wskażnika b to: a) float *a, **b = &a; b) float

Bardziej szczegółowo

1 Wstęp. 2 Uruchomienie programu

1 Wstęp. 2 Uruchomienie programu 1 Wstęp Weka jest zestawem narzędzi związanych z uczeniem maszynowego. System został stowrzony i jest rozwijany przez Uniwersystet Waikato w Nowej Zelandii. Nazwa WEKA jest akronimem dla Waikato Environment

Bardziej szczegółowo

Instrukcje wyboru. Tworzenie programu, Schematy blokowe, Instrukcje wyboru, Operatory logiczne

Instrukcje wyboru. Tworzenie programu, Schematy blokowe, Instrukcje wyboru, Operatory logiczne Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Instrukcje wyboru Tworzenie programu, Schematy blokowe, Instrukcje wyboru, Operatory logiczne Być, czy nie być?

Bardziej szczegółowo

Test przykładowy 2 PAI WSB Wrocław /06/2018

Test przykładowy 2 PAI WSB Wrocław /06/2018 Imię i Nazwisko: Student ID: Part 1: (Prawda lub Fałsz (T lub F)) 15. Która z poniższych deklaracji funkcji jest nieprawidłowa: A. function Sum(a, b, c){; B. function Sum(var a, var b); C. function Sum(a){;

Bardziej szczegółowo

Informatyka 1. Przetwarzanie tekstów

Informatyka 1. Przetwarzanie tekstów Informatyka 1 Wykład IX Przetwarzanie tekstów Robert Muszyński ZPCiR ICT PWr Zagadnienia: reprezentacja napisów znakowych, zmienne napisowe w Sun Pascalu, zgodność typów, operowanie na napisach: testowanie

Bardziej szczegółowo

Pakiety Matematyczne - R Zestaw 1.

Pakiety Matematyczne - R Zestaw 1. Pakiety Matematyczne - R Zestaw 1. Zadania z kasynem pochodzą ze strony datacamp.com Instalacja pakietu R Strona główna projektu: http://www.r-project.org/ Instalacja: http://r.meteo.uni.wroc.pl/ (jedno

Bardziej szczegółowo

Wprowadzenie do środowiska

Wprowadzenie do środowiska Wprowadzenie do środowiska www.mathworks.com Piotr Wróbel piotr.wrobel@igf.fuw.edu.pl Pok. B 4.22 Metody numeryczne w optyce 2017 Czym jest Matlab Matlab (matrix laboratory) środowisko obliczeniowe oraz

Bardziej szczegółowo

Programowanie komputerowe. Zajęcia 4

Programowanie komputerowe. Zajęcia 4 Programowanie komputerowe Zajęcia 4 Typ logiczny Wartości logiczne są reprezentowane przez typ bool. Typ bool posiada tylko dwie wartości: true i false. Zamiast wartości logicznych można używać wartości

Bardziej szczegółowo

Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal

Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO Rozdział 1. Wybór i instalacja kompilatora języka Pascal 1.1. Współczesne wersje kompilatorów Pascala 1.2. Jak zainstalować

Bardziej szczegółowo

EGZAMIN MAGISTERSKI, czerwiec 2014 Matematyka w ekonomii i ubezpieczeniach

EGZAMIN MAGISTERSKI, czerwiec 2014 Matematyka w ekonomii i ubezpieczeniach Matematyka w ekonomii i ubezpieczeniach Sprawdź, czy wektor x 0 = (0,5,,0,0) jest rozwiązaniem dopuszczalnym zagadnienia programowania liniowego: Zminimalizować 3x 1 +x +x 3 +4x 4 +6x 5, przy ograniczeniach

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

Modele liniowe i mieszane na przykªadzie analizy danych biologicznych - Wykªad 1

Modele liniowe i mieszane na przykªadzie analizy danych biologicznych - Wykªad 1 Modele liniowe i mieszane na przykªadzie analizy danych biologicznych - Wykªad 1 Tomasz Suchocki Uniwersytet Przyrodniczy we Wrocªawiu Katedra Genetyki i Ogólnej Hodowli Zwierz t Plan wykªadu 1 Podstawowe

Bardziej szczegółowo

SQL, LIKE, IN, CASE, EXISTS. Marcin Orchel

SQL, LIKE, IN, CASE, EXISTS. Marcin Orchel SQL, LIKE, IN, CASE, EXISTS Marcin Orchel Spis treści 1 LIKE 2 2 BETWEEN 4 3 IN 5 4 EXISTS 6 5 WYRAŻENIA CASE 7 6 Zadania 9 1 Rozdział 1 LIKE Predykat LIKE jest testem dopasowującym wzorzec łańcucha. Składnia

Bardziej szczegółowo

Wykład I. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Wykład I. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej Wykład I - semestr II Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2015 c Copyright 2015 Janusz Słupik Zaliczenie przedmiotu Do zaliczenia przedmiotu niezbędne jest

Bardziej szczegółowo

Powtórka algorytmów. Wprowadzenie do języka Java.

Powtórka algorytmów. Wprowadzenie do języka Java. Powtórka algorytmów. Wprowadzenie do języka Java. BEGIN Readln(a); Readln(b); Suma := 0; IF Suma < 10 THEN Writeln( Suma wynosi:, Suma); ELSE Writeln( Suma większa niż 10! ) END. 1. Narysować schemat blokowy

Bardziej szczegółowo

Powtórka algorytmów. Wprowadzenie do języka Java.

Powtórka algorytmów. Wprowadzenie do języka Java. Powtórka algorytmów. Wprowadzenie do języka Java. Przypomnienie schematów blokowych BEGIN Readln(a); Readln(b); Suma := 0; IF Suma < 10 THEN Writeln( Suma wynosi:, Suma); ELSE Writeln( Suma większa niż

Bardziej szczegółowo

!"#$%&&&# '()*'+*,-. /0//# 1./00% $:$ $ 2 ;$5 5 2 # ,. $5 $< $ 5;# !"!# $ ##% $!& '()!* +,$ -#% $,., $!$/# + $,#

!#$%&&&# '()*'+*,-. /0//# 1./00% $:$ $ 2 ;$5 5 2 # ,. $5 $< $ 5;# !!# $ ##% $!& '()!* +,$ -#% $,., $!$/# + $,# !"#$%&&&# '()*'+*,-. /0//# 1./00% 123$$ -#4 $- 5#6$7 8 52 9 5 57 3$:$ $ 2 ;$5 5 2 #,. $5 $< 555=>>#;.,-.#? $ 5;#!"!# $ ##% $!& '()!* +,$ -#% $,., $!$/# + $,# 0 $$$ $)# $ + ''-## $! $ 1$ 2+ '/(# #3 $45

Bardziej szczegółowo

Wstęp do programowania. Różne różności

Wstęp do programowania. Różne różności Wstęp do programowania Różne różności Typy danych Typ danych określa dwie rzeczy: Jak wartości danego typu są określane w pamięci Jakie operacje są dozwolone na obiektach danego typu 2 Rodzaje typów Proste

Bardziej szczegółowo