Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Generovanie 10 náhodných čísel z NR
- rnorm(10,mean=0,sd=1)
- # Hustota pravdepodobnosti v bude 10 (výška rozdelenia v bode 10)
- dnorm(10,mean=0,sd=1,log=FALSE)
- dnorm(0,mean=0,sd=1,log=FALSE)
- # Sumár hustoty pravdepodobnosti po daný bod (10) z ľava
- pnorm(10, mean = 0, sd = 1, lower.tail = TRUE, log.p = FALSE)
- pnorm(0) # 0.5
- pnorm(1) # 0.8413447
- pnorm(0,lower.tail=FALSE) # 0.5
- pnorm(1,lower.tail=FALSE) # 0.1586553
- # Inverzná k pnorm, vráti bod pri zadaní určitej pravdepodobnosti
- qnorm(0.5) # 0
- qnorm(0.85) # 1.036433;
- v=c(0.0,0.25,0.5,0.75,1.0)
- qnorm(v) # [1] -Inf -0.6744898 0.0000000 0.6744898 Inf
- rbinom(20, 100, prob = 0.1)
- rbinom(20, 100, prob = 0.5)
- dbinom(20, 40, prob = 0.5)
- pbinom(30, 40, p = 0.5)
- # Generovanie náhodných čísel
- x <- rnorm(10)
- x <- rnorm(10, 20, 2)
- summary(x)
- runif(3, min=0, max=100)
- floor(runif(3, min=0, max=100))
- sample(1:100, 3, replace=TRUE) # 3 krat integer od 1 po 100 s možnosťou znovu vybrať rovnaké číslo
- sample(1:100, 3, replace=FALSE)
- # Sample - generovanie vzoriek
- set.seed(1)
- sample(1:10, 4)
- sample(1:10, 4)
- sample(letters, 5)
- sample(1:10) # permutácia prvkov od 1 do 10
- sample(1:10)
- sample(1:10, replace = TRUE) # výber s nahradením (môžu sa opakovať prvky)
- set.seed(158)
- rnorm(5)
- rnorm(5)
- set.seed(158)
- rnorm(10)
- # Generovanie lineárneho modelu
- set.seed(20)
- x <- rnorm(100)
- e <- rnorm(100, 0, 2)
- y <- 0.5 + 2 * x + e
- summary(y)
- plot(x, y)
- abline(lm(y~x))
- set.seed(1)
- x <- rnorm(100)
- log.mu <- 0.5 + 0.3 * x
- y <- rpois(100, exp(log.mu))
- summary(y)
- plot(x, y)
- generuj2D2k = function(){
- d = 0
- while(d<1.0){
- s = rnorm(4)
- d = sqrt((s[1]-s[2])^2 + (s[3]-s[4])^2)
- }
- x1 = s[1] + rnorm(50,0,0.5)
- x2 = s[2] + rnorm(50,0,0.5)
- y1 = s[3] + rnorm(50,0,0.5)
- y2 = s[4] + rnorm(50,0,0.5)
- data.frame(a = c(x1,x2), b = c(y1,y2),f = factor(c(rep("A",50),rep("B",50))))
- }
- set.seed(12548)
- mydata = generuj2D2k()
- plot(mydata$a,mydata$b,col=mydata$f)
- x <- rnorm(30)
- ks.test(x, pnorm)
- ks.test(x, punif)
- x = rnorm(50)
- y = rnorm(50)
- z = runif(50)
- ks.test(y,z)
- # Lineárne rovnice
- A = matrix(nrow = 3, ncol = 3, data = c(6, 1, 2, 3, -3, 1, -2, 2, 1))
- b = c(2,5,9)
- solve(A,b)
- A2 = matrix(nrow = 4, ncol = 4, data=c(4,3,2,5,-3,-2,-1,-3,2,1,0,1,-1,-3,5,-8))
- b2 = c(8,7,6,1)
- solve(A2,b2)
- # Nelineárne rovnice
- # Príklad 2cos(x) - ln(x) = 0
- curve(2*cos(x), 0, 10)
- curve(log(x), add = TRUE, col="red")
- f = function(x) 2*cos(x) - log(x)
- uniroot(f,lower=0,upper=2, tol=1e-9)
- uniroot(f,lower=4,upper=6, tol=1e-9)
- uniroot(f,lower=6,upper=7, tol=1e-9)
- ## x3+2x+4=0
- polyroot(c(4,2,0,1))
- # Diferenciálne rovnice
- # install.packages("deSolve")
- library(deSolve)
- logist <- function(t, x, parms) {
- with(as.list(parms), {
- dx <- r * x[1] * (1 - x[1]/K)
- list(dx)
- })
- }
- time <- 0:100
- N0 <- 0.1
- r <- 0.5
- K <- 100
- parms <- c(r = r, K = K)
- x <- c(N = N0)
- plot(time, K/(1 + (K/N0-1) * exp(-r*time)), ylim = c(0, 120),
- type = "l", col = "red", lwd = 2)
- time <- seq(0, 100, 2)
- out <- as.data.frame(rk4(x, time, logist, parms))
- points(out$time, out$N, pch = 16, col = "blue", cex = 0.5)
- time <- seq(0, 100, 2);
- out <- as.data.frame(euler(x, time, logist, parms))
- points(out$time, out$N, pch = 1)
- legend("bottomright", c("analytical","rk4, h=2", "euler, h=2"),
- lty = c(1, NA, NA), lwd = c(2, 1, 1), pch = c(NA, 16, 1),
- col = c("red", "blue", "black"))
- # Lineárna regresia
- x = c(3,8,9,3,13,6,11,21,1,16)
- y = c(30,57,64,72,36,43,59,90,20,83)
- mydata = data.frame(x,y)
- model = lm(y ~ x, data=mydata)
- model
- plot(mydata)
- abline(model)
- pr1 <- data.frame(x = c(10,15,20))
- pr1$y <- predict(model, newdata = pr1)
- # Viacnásobná regresia
- year <- rep(2008:2010, each = 4)
- quarter <- rep(1:4, 3)
- cpi <- c(162.2, 164.6, 166.5, 166, 166.2, 167,
- 168.6, 169.5, 171, 172.1, 173.3, 174)
- plot(cpi, xaxt = "n", ylab = "CPI", xlab = "")
- # vykresli popis x-osi, kde 'las=3' zabezpeci vertikalny text
- axis(1, labels = paste(year, quarter, sep = "Q"), at = 1:12, las = 3)
- fit <- lm(cpi ~ year + quarter)
- data2011 <- data.frame(year = 2011, quarter = 1:4)
- cpi2011 <- predict(fit, newdata = data2011)
- style <- c(rep(1, 12), rep(2, 4))
- plot(c(cpi, cpi2011), xaxt = "n",ylab = "CPI", xlab = "",pch = style, col = style)
- axis(1, at = 1:16, las = 3,
- labels = c(paste(year, quarter, sep = "Q"), "2011Q1", "2011Q2", "2011Q3", "2011Q4"))
- # Interpolácia
- set.seed(1)
- n <- 500
- dat <- data.frame(
- x = 1:n,
- y = sin(seq(0, 5*pi, length.out = n)) + rnorm(n=n, mean= 0, sd=0.5)
- )
- approxData <- data.frame(with(dat, approx(x, y, method = "linear")),
- metoda = "approx")
- splineData <- data.frame(with(dat, spline(x, y) ),metoda = "spline default")
- splineData2 <- data.frame(with(dat, spline(x, y, xout = seq(1, n, by = 10), method = "fmm") ), metoda = "spline krok 10")
- smoothData <- data.frame(x = 1:n, y = as.vector(smooth(dat$y)), metoda = "smooth")
- loessData <- data.frame(x = 1:n, y = predict(loess(y~x, dat, span = 0.1)), metoda = "loess span 0.1")
- loessData2 <- data.frame(x = 1:n, y = predict(loess(y~x, dat, span = 0.5)), metoda = "loess span 0.5")
- library(ggplot2)
- ggplot(rbind(approxData, splineData, splineData2, smoothData, loessData, loessData2), aes(x, y)) + geom_point(dat = dat, aes(x, y), alpha = 0.2, col = "red") + geom_line(col = "blue") + facet_wrap(~metoda) + ggtitle("Príklad - vybrané interpolačné a vyhladzovacie funkcie v R") + theme_bw(16)
- # Lineárne programovanie
- # install.packages("lpSolveAPI")
- library(lpSolveAPI)
- lpmodel <- make.lp(0, 2)
- lp.control(lpmodel, sense="max") # maximalizacia
- set.objfn(lpmodel, c(143, 60)) # definicia KF (v anglictine casto objective function)
- add.constraint(lpmodel, c(120, 210), "<=", 15000)
- add.constraint(lpmodel, c(110, 30), "<=", 4000)
- add.constraint(lpmodel, c(1, 1), "<=", 75)
- lpmodel
- solve(lpmodel)
- get.objective(lpmodel)
- get.variables(lpmodel)
- # Celočíselné programovanie
- # install.packages("lpSolve")
- library(lpSolve)
- assign.costs <- matrix (c(7, 7, 3, 2, 2, 7, 7, 2, 1, 9, 8, 2, 7, 2, 8, 10), 4, 4)
- lp.assign (assign.costs)
- lp.assign (assign.costs)$solution
- # Optimalizácia v R
- library(TSP)
- # vytvorenie dát – náhodných „miest“, mená priradené z letters konštanty
- df <- data.frame(x = runif(20), y = runif(20), row.names = LETTERS[1:20])
- # vytvorenie Euklidovskeho TSP
- etsp <- ETSP(df)
- # výpis detailov – počet miest, názvy miest
- n_of_cities(etsp) # vypíše [1] 20
- labels(etsp) # vypíše názvy [1] "A" "B" "C" ....
- # nájdenie riešenia a jeho vykreslenie
- tour <- solve_TSP(etsp)
- tour
- plot(etsp, tour, tour_col = "red")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement