{"cells":[{"cell_type":"markdown","metadata":{"_cell_guid":"bf1653b5-495c-9fd0-496e-5a96bc19bc8c"},"source":"This is a visualization of the first 1000 jobs."},{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"ed6edb9e-22b5-9a8b-bb2a-1a31ccd733bd"},"outputs":[],"source":"library(data.table)\nlibrary(dtplyr)\nlibrary(pbapply)\nlibrary(dplyr)\n\ndtNum <- fread(\"../input/train_numeric.csv\", select = c(\"Id\", \"Response\"),nrows = 5000)\ndtDate <- fread(\"../input/train_date.csv\", nrows = 5000)\n\nfor (station in paste0(\"S\",0:51))\n{\n  cols = min(which((grepl(station,colnames(dtDate)))))\n  if(!cols==Inf){\n    dtDate[,paste0(station) := dtDate[,cols,with = FALSE]]\n  }\n}\n\ndtStations = dtDate[,!grepl(\"L\",colnames(dtDate)),with=F]\n\n\n\n\ndtStationsM = melt(dtStations,id.vars=c(\"Id\"))\n\ndtStationsM %>%\n  left_join(dtNum, by = \"Id\") -> dtStationsM\n\ndtStationsM %>%\n  filter(!is.na(value)) -> dtStationsMFiltered\n\ndtStationsMFiltered %>%\n  arrange(value) -> dtStationsMFiltered\n\nrequire(GGally)\nlibrary(network)\nlibrary(sna)\nlibrary(ggplot2)\ndtStationsMFiltered %>%\n  group_by(Id) %>%\n  mutate(nextStation = lead(variable)) -> edgelistsComplete\n\nedgelistsComplete %>%\n  group_by(Id) %>%\n  filter(!(variable %in% nextStation)) %>%\n  ungroup() %>%\n  select(variable,Response) -> startingPoints\n\ncolnames(startingPoints) = c(\"nextStation\",\"Response\")\n\nstartingPoints$variable = \"XX\"\n\nedgelistsComplete %>%\n  select(variable,nextStation,Response) -> paths\n\npaths[is.na(nextStation)]$nextStation = paste(\"Result\",paths[is.na(nextStation)]$Response)\n\n\npaths = rbind(startingPoints,paths)\npaths = select(paths,-Response)\n\npaths$nextStation = as.character(paths$nextStation)\npaths$variable = as.character(paths$variable)\n\n\ncolnames(paths) <- c(\"Target\",\"Source\")\n\npathshelp = select(paths,Source)\npathshelp$Target = paths$Target\npaths=pathshelp\n\n\n\n\n\nnet = network(as.data.frame(na.omit(paths)),\n              directed = TRUE)\n\nLineStations = NULL\nfor (station in unique(paths$Source)){\n  if(station!=\"XX\")\n  {\n  x=paste0(\"_\",station,\"_\")\n  #print(x)\n  y=head(colnames(dtDate)[which(grepl(x,colnames(dtDate)))],1)\n  y=strsplit(y,\"_\")[[1]][1]\n  #print(y)\n  LineStations = rbind(LineStations,data.frame(Node=station,Line=y))\n  }\n}\n\nLineStations = rbind(LineStations,data.frame(Node=c(\"Result 1\",\"Result 0\",\"XX\"),Line=c(\"Outcome\",\"Outcome\",\"START\")))\n\nx = data.frame(Node = network.vertex.names(net))\nx = merge(x, LineStations, by = \"Node\", sort = FALSE)$Line\n\n\nnet %v% \"line\" = as.character(x)\n\nnetwork = ggnet2(net,\n       alpha = 0.75, size = \"indegree\",\n       label = T,\n       color = \"line\",palette = \"Set1\",\n       mode = \"kamadakawai\",\n       edge.alpha = 0.05, edge.size = 1)\n\nprint(network)"}],"metadata":{"_change_revision":0,"_is_fork":false,"kernelspec":{"display_name":"R","language":"R","name":"ir"},"language_info":{"codemirror_mode":"r","file_extension":".r","mimetype":"text/x-r-source","name":"R","pygments_lexer":"r","version":"3.3.1"}},"nbformat":4,"nbformat_minor":0}