--- /dev/null
+fill_NAs = function(file)
+{
+ dat_with_date = read.csv(file)
+ dat = dat_with_date[,-1] #get rid of date column
+
+ line = 1
+ n = nrow(dat)
+ p = ncol(dat)
+ last_noNA_indices = rep(0, p)
+ while (line <= n)
+ {
+# print(line)
+ for (i in 1:p)
+ {
+# if (is.numeric(dat[line,i]))
+ if (!is.na(dat[line,i]))
+ {
+ if (last_noNA_indices[i] < line-1)
+ {
+ #do some completion
+ meanVal = ifelse(last_noNA_indices[i]>0,
+ 0.5*(dat[last_noNA_indices[i],i]+dat[line,i]),
+ dat[line,i])
+
+ for (j in (last_noNA_indices[i]+1):(line-1))
+ dat[j,i] = meanVal
+ }
+ last_noNA_indices[i] = line
+ }
+ }
+ line = line + 1
+ }
+
+ #complete until end if needed
+ for (i in 1:p)
+ {
+ if (last_noNA_indices[i] < n)
+ {
+ for (j in (last_noNA_indices[i]+1):n)
+ dat[j,i] = dat[last_noNA_indices[i],i]
+ }
+ }
+
+ dat_with_date[,2:(p+1)] = dat
+ write.csv(dat_with_date, "NONA.csv", row.names=FALSE)
+}