Powered By Blogger

четверг, 11 июня 2015 г.

Пост 12. Я всё-таки пытаюсь написать скрипт.

Столкнулась с проблемой кодировки. Когда я конкотенирую строки -  все так же "UTF-8" кодировка. Проверяется она командой Encoding(variable). Потом я подставляю ее в jpeg(), пишу, закрываю это все дело dev.off() - ом, а у меня какая-то кракозябра вместо названия. Попробую перезапустить среду программирования.
Ой, оказалось, он очень капризничал, если ему слешики не поставить.  Вот работающий вариант:


adress<- paste0 ("C:\\Users\\MSI\\Desktop\\Diploma\\"as.character(citiesMore5[1]), ".png");
png(adress);
plot(lnMIGR, prediction, xlab = "Real migration", ylab = "Predicted migration");
dev.off();


Нуууу вооооот! Скрипт-то я написала, вроде как. Вот он:

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

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];
  prediction <- matrix(0, 1, deep);
  for (i in 1:deep)  #1:6
  {
      prediction[i] <- coef[1] + coef[2]*lnDISTANCE[i] + coef[3]*lnPOP[i] + res[i]; 
  }
  adress<- paste0 ("C:\\Users\\MSI\\Desktop\\Diploma\\",as.character(citiesMore5[1]), ".png");
  png(adress);
  plot(lnMIGR, prediction);
  title(as.character(citiesMore5[1]), xlab = "Real migration", ylab = "Predicted migration");
  dev.off();
}


А он мне р-р-раз и выдает какую-то непонятную ошибку, с которой ссылается не пойми,  куда!:(

   adress<- paste0 ("C:\\Users\\MSI\\Desktop\\Diploma\\",as.character(citiesMore5[1]), ".png");
+   png(adress);
+   plot(lnMIGR, prediction);
+   title(as.character(citiesMore5[1]), xlab = "Real migration", ylab = "Predicted migration");
+   #prediction1 <- as.vector(prediction);
+   #lm <- lm(prediction1 ~ lnMIGR);
+   #abline(lm);
+   dev.off();
+ }
Error in plot.window(...) : нужны конечные значения 'ylim'
In addition: Warning messages:
1: In min(x) : no non-missing arguments to min; returning Inf
2: In max(x) : no non-missing arguments to max; returning -Inf

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

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