##smycky v R
### kdyz se ma nejaky postup provadet opakovane, tak ho lze zapsat do smycky
####r zna nekolik typu smycek - for, while, repeat (+ do obou lze přidat next, break a if else)

#priklad for smycky
# pro kazdy pripad (i) od 2. případu po poslední případ v dokumentu 
#nrow lze zamenit za length, pripadne muzete napsat pozadovane cislo


chuze <- 1
chuze <- c(1,2)
chuze <- c(1,2, 3)
chuze <- c(1,2, 3,4 )

#priklad for smycky
# pro kazdy pripad (i) od 1 do 6. případu po poslední případ v dokumentu 
#nrow lze zamenit za length, pripadne muzete napsat pozadovane cislo

chuze <- 1
for  (i in 1:6){  #zde stanovujeme pocet opakovani
  print(chuze)    #zde je funkce, ktera se opakuje -  vse ve slozenych zavorkach tvori tu opakujici se funkci
  chuze = chuze +1   #zde se tiskne cislo ke kteremu se v kazdem kroku pripocte jednotka
  
}

#priklad while smycky
b <- 1
while (b<= 6) { #zde je podminka, kdy ma smycka skoncit, kdyz je nastavena spatne, smycka se budto nespusti nebo bezi do nekonecna
  print(b)   #zde je funkce, ktera se opakuje totez co vyse
  b = b+1
}

#priklad repeat smycky
c <- 1
repeat {
  print(c)
  c = c+1
  if (c == 7){ #zde je podminka, kdy ma smycka skoncit, funguje podobne jako while smycka
    break
  }
}


#priklad vyuziti if a else ve for smycce, if stanovuje podminku, kdyz je naplnena, stane se vec ve slozenych zavorkach za podminkou, kdyz neni, provede se vec napsana za else
 #jde jen o priklad z jinych dat 
for(i in 3:nrow(komplet_ok2)){
  if(komplet_ok2$jmeno[i-1]== komplet_ok2$jmeno[i] )
  {komplet_ok2$id_reci[i]  <- komplet_ok2$id_reci[i-1]} 
  else {    komplet_ok2$id_reci[i]  <- komplet_ok2$id_reci[i-1] + 1  }
}



library(readxl)
orp <- as.data.frame(read_xlsx("C...\\vysledky_orp.xlsx"))

head(orp)

#serazeni dokumentu sestupne dle promenne ano...7
orp <- orp[order(-orp$ANO...7),]

#vytvoreni nove promenne
orp$ano_kumul <- NA
#zapsani prvni hodnoty
orp$ano_kumul[1] <- orp$ANO...7[1]
head(orp)

#rozepsani logiky vypoctu kumulovanych procent
orp$ano_kumul[2] <-   orp$ANO...7[2] + orp$ano_kumul[1]
orp$ano_kumul[3] <-   orp$ANO...7[3] + orp$ano_kumul[2]
orp$ano_kumul[4] <-   orp$ANO...7[4] + orp$ano_kumul[3]
orp$ano_kumul[5] <-   orp$ANO...7[5] + orp$ano_kumul[4]
...etc

# smycka od druheho radku se zopakuje, dokud opakovani nedosahnou celkoveho poctu radku
for (i in 2:nrow(orp)){ 
orp$ano_kumul[i] <-   orp$ANO...7[i] + orp$ano_kumul[i-1]  #zde se opakuje funkce kterou jsme rozepsali vyse, jen misto cisel mame i a i-1
}


#opakovani

orp <- orp[order(-orp$CSSD...8),]

orp$cssd_kumul <- NA
orp$cssd_kumul[1] <- orp$CSSD...8[1]
for (i in 2:nrow(orp)){ 
  orp$cssd_kumul[i] <-   orp$CSSD...8[i] + orp$ano_kumul[i-1]
}



  

