kryzysyDem3 <- function(ramka, stopienGrDolna = -Inf, stopienGrGorna = Inf) { czas <- ramka[,1] zdarzenia <- ramka[,2] dlugoscWektoraZdarzenia <- length(zdarzenia) jednostkiCzasuBez10pierwszychI10ostatnich <- c() for(i in 1:(dlugoscWektoraZdarzenia-20)) { jednostkiCzasuBez10pierwszychI10ostatnich[i] <- czas[i+10] } jednostkiCzasuBez10pierwszychI10ostatnich daneRok11iNastepneLataBez10ostatnich <- c() for(i in 1:(dlugoscWektoraZdarzenia-20)) { daneRok11iNastepneLataBez10ostatnich[i] <- zdarzenia[i+10] } daneRok11iNastepneLataBez10ostatnich wynikiSredniejAryt1 <- c() for(i in 1:(dlugoscWektoraZdarzenia-20)) { wynikiSredniejAryt1[i] <- mean(zdarzenia[i:(i+9)]) } wynikiSredniejAryt1 wynikiOdchyleniaStand1 <- c() for(i in 1:(dlugoscWektoraZdarzenia-20)) { wynikiOdchyleniaStand1[i] <- sd(zdarzenia[i:(i+9)]) } wynikiOdchyleniaStand1 wynikiSredniejAryt2 <- c() for(i in 1:(dlugoscWektoraZdarzenia-15)) { wynikiSredniejAryt2[i-5] <- mean(c(zdarzenia[i:(i+4)],zdarzenia[(i+6):(i+10)])) } wynikiSredniejAryt2 wynikiOdchyleniaStand2 <- c() for(i in 1:(dlugoscWektoraZdarzenia-15)) { wynikiOdchyleniaStand2[i-5] <- sd(c(zdarzenia[i:(i+4)],zdarzenia[(i+6):(i+10)])) } wynikiOdchyleniaStand2 wynikiSredniejAryt3 <- c() for(i in 1:(dlugoscWektoraZdarzenia-9)) { wynikiSredniejAryt3[i-11] <- mean(zdarzenia[i:(i+9)]) } wynikiSredniejAryt3 wynikiOdchyleniaStand3 <- c() for(i in 1:(dlugoscWektoraZdarzenia-9)) { wynikiOdchyleniaStand3[i-11] <- sd(zdarzenia[i:(i+9)]) } wynikiOdchyleniaStand3 wynikiDane1 <- (daneRok11iNastepneLataBez10ostatnich - wynikiSredniejAryt1) / wynikiOdchyleniaStand1 wynikiDane2 <- (daneRok11iNastepneLataBez10ostatnich - wynikiSredniejAryt2) / wynikiOdchyleniaStand2 wynikiDane3 <- (daneRok11iNastepneLataBez10ostatnich - wynikiSredniejAryt3) / wynikiOdchyleniaStand3 wynikiDane123SredniaAryt <- c() for(i in 1 : length(jednostkiCzasuBez10pierwszychI10ostatnich)) { wynikiDane123SredniaAryt[i] <- mean(c(wynikiDane1[i], wynikiDane2[i], wynikiDane3[i])) } wynikiDane123SredniaAryt wynikiWybor <- ifelse(wynikiDane1 >= stopienGrDolna & wynikiDane1 < stopienGrGorna & wynikiDane2 >= stopienGrDolna & wynikiDane2 < stopienGrGorna & wynikiDane3 >= stopienGrDolna & wynikiDane3 < stopienGrGorna, round(wynikiDane123SredniaAryt, 3), "") data.frame(jednostkiCzasuBez10pierwszychI10ostatnich, wynikiWybor) }