# Andrzej Kostanski adnrzej.kostanski@gmail.com
# sciezka do pliku z danym wejsciowymi
input_path<-"/Users/andi/Desktop/EM-ALGORITHM/r-generowanie/input.csv"
output_path<-"/Users/andi/Desktop/EM-ALGORITHM/r-generowanie/output.csv"
con<-file(input_path)
# n oznacza liczbe wszystkich losowan
n<-readLines(con,1)
close(con)
# rozklady okreslone parametrami tau i mi, oraz pradopodobienstwo ich wyboru
rozklady<-read.csv(input_path,skip=1,header=TRUE)
# losuje n-razy rozklady zgodnie z prawdopodibenstwem ich wystapienia (tau), w liście zapisuję indeksy
idx<-sample(1:nrow(rozklady),size=n,replace=TRUE,prob=rozklady$tau)
# deklarujemy pusty data frame z 2 kolumnami na n wierszy (bardziej efektywnie niz pusty a potem w kazdej iteracji rozszerzac)
output<-data.frame(X = numeric(n), Klasa = character(10), stringsAsFactors=FALSE)
# iterujemy by wylosowac liczby zgodnie z rodzajem rozkladu wylosowanym wczesniej, zapisujemy do outputs otrzymana wartosci i informacje nt klasy rozkladu
for (i in 1:n){
val<-rnorm(1, rozklady[idx[i],]$tau, rozklady[idx[i],]$sigma )
output[i,]<-c(val,LETTERS[idx[i]])
}
# zapis do pliku n par x, klasa
write.csv(output,output_path,row.names=FALSE)