library(data.table)
library(Metrics)
library(dtplyr)
library(knitr)

#n = 15e6

train <- fread("../input/train.csv", 
              select = c("Cliente_ID", "Producto_ID", "Agencia_ID", "Ruta_SAK",
                         "Demanda_uni_equil"), nrows=30000000)

#client <- read_csv("cliente_tabla.csv")
#product <- read_csv("producto_tabla.csv")
#town <- read_csv("town_state.csv")
#train_normalized <- scale(train)

test <- fread("../input/test.csv", select = c("Cliente_ID", "Producto_ID", "Agencia_ID", "Ruta_SAK"))

fit <- lm(Demanda_uni_equil ~ Cliente_ID + Producto_ID + Agencia_ID + Ruta_SAK, data = train)
results <- predict(fit, test)
submission <- data.frame(results)
submission$idx <- as.integer(c(0:6999250))
submission_clean <- submission[,c(2,1)]
colnames(submission_clean) <- c("id","Demanda_uni_equil")
submission_clean$Demanda_uni_equil <- as.integer(submission_clean$Demanda_uni_equil)

submission_clean$Demanda_uni_equil[submission_clean$Demanda_uni_equil < 1] <- 7

write.csv(submission_clean, file = "submission.csv", row.names=FALSE, quote=FALSE)

# Input data files are available in the "../input/" directory.
# For example, running this (by clicking run or pressing Shift+Enter) will list the files in the input directory

#system("ls ../input")

# Any results you write to the current directory are saved as output.