Powered By Blogger

пятница, 12 июня 2015 г.

Пост №14

#Код для диплома. Часть один
#
#

f <- read.csv("C:/Users/MSI/Desktop/Diploma/raw_data_v71.csv",header = TRUE,  sep=";", quote="\"", encoding = "UTF-8");
names(f) <- c("FROM","TO", "MIGR", "TO_POP", "FROM_LAT", "FROM_LON", "TO_LAT","TO_LON" , "DISTANCE", "FR_OKTMO", "TO_OKTMO", "SAME_REG", "ADM2", "ADM1", "M2PRICE");
MigrMore5 <- f[f$MIGR >5, ];
citiesMore5 <-  unique(MigrMore5$FROM) ;
citiesMore5 <- as.vector(citiesMore5);
for (i in 1:length(citiesMore5))
{
  City <- MigrMore5[MigrMore5$FROM == citiesMore5[i], ]; 
  lnMIGR <- log(City$MIGR);
  lnDISTANCE <- log(City$DISTANCE);
  lnPOP <- log(City$TO_POP);
  LinearModel <- lm(lnMIGR ~ lnDISTANCE + lnPOP);
  #??????????? ?????????
  coef<- LinearModel[[1]];
  res <- LinearModel[[2]];
  dimention<-dim(City);
  #len <- dimention[2];
  deep <-dimention[1];
  if(    any(is.na(coef[1:3])))
  {
    print(c(i, "GTFO! Grub a better city!"))
    next;
  }
  else
  {
    prediction <- matrix(0, 1, deep);
    for (j in 1:deep)
    {
      prediction[j] <- coef[1] + coef[2]*lnDISTANCE[j] + coef[3]*lnPOP[j] ; 
    }
    adress<- paste0 ("C:\\Users\\MSI\\Desktop\\Diploma\\", i, ".png");
    print(adress)
    png(adress);
    #  print(i);
    #  print(lnMIGR);
    #  print(prediction);
    plot(lnMIGR, prediction, xlab = "Real migration", ylab = "Predicted migration");
    title(as.character(citiesMore5[i]));
    dev.off();
    print(c(i, "passed"))
  }
}

Комментариев нет:

Отправить комментарий