Advertisement
Guest User

Waiting_for_results)00)))0

a guest
Sep 23rd, 2017
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
R 2.25 KB | None | 0 0
  1. #функция для плота матрицы корреляции
  2. CorPlot<-function(matrix){
  3.   corrplot(cor(matrix), method="color")
  4. }
  5.  
  6.  
  7.  
  8. #функция для плота даты
  9. Matrix_summ_plot<-function(matrix){
  10.   plot(rowSums(matrix));
  11. }
  12.  
  13.  
  14.  
  15. #plot
  16. ploting<-function(matrix){
  17.   CorPlot(matrix);
  18.   Matrix_summ_plot(matrix);
  19. }
  20.  
  21.  
  22.  
  23. #чтение csv
  24. original_data = read.csv("data.csv",header = TRUE , sep = "," );
  25.  
  26.  
  27.  
  28. #отсеивание всех кроме 13 класса
  29. data = original_data[which(original_data[,2]==13),];
  30.  
  31.  
  32.  
  33. #вывод графиков
  34. plot_data = data[,6:33];
  35. ploting(plot_data);
  36.  
  37.  
  38.  
  39. #убираем людей с низкой посещаемостью
  40. data_s1=data[-which(data[,4]==0 & data[,3]==1),];
  41. data_s1=data_s1[,6:33];
  42. ploting(data_s1);
  43.  
  44.  
  45.  
  46. #выбор порога для последующего отсеивания людей, которые ставили слишком много одинаковых оценок
  47. our_max = 24;
  48. data_s2 = data_s1;
  49. j=1;
  50.  
  51.  
  52.  
  53. #процедура отсеивания
  54. while(j < (1 + nrow(data_s1))) {
  55.   #print(j);
  56.   marks_counter = matrix(0,1,5);
  57.   for(i in 1:nrow(data_s1))
  58.     marks_counter[data_s2[j,i]] = marks_counter[data_s2[j,i]] + 1;
  59.   if(max(marks_counter[])>our_max) {
  60.     data_s2 = data_s2[-j,];
  61.     j = j - 1;
  62.   }
  63.   j = j + 1;
  64. }
  65. ploting(data_s2);
  66.  
  67.  
  68.  
  69. #подсчет средних по столбцам
  70. means = matrix(0,1,28);
  71. for(i in 1:ncol(data_s2)){
  72.   tmp=as.vector(data_s2[,i]);
  73.   means[i] = mean(tmp);
  74. }
  75. #Диаграмма среднего
  76. barplot(means, ylim = c(0,5),
  77.         main = "Means", font.main = 4);
  78.  
  79.  
  80.  
  81. #подсчет дисперсии
  82. var_matrix = var(data_s2);
  83. vars = matrix(0,1,28);
  84. for(i in 1:ncol(var_matrix)){
  85.   vars[i] = var_matrix[i,i];
  86. }
  87. #Диаграмма дисперсии
  88. barplot(vars, ylim = c(0,3),
  89.         main = "Variance", font.main = 4);
  90.  
  91. #подсчет среднеквадратичного отклонения
  92. sds = matrix(0,1,28);
  93. for(i in 1:ncol(var_matrix)){
  94.   tmp=as.vector(data_s2[,i]);
  95.   sds[i] = sd(tmp);
  96. }
  97. #Диаграмма среднеквадратичного отклонения
  98. barplot(sds, ylim = c(0,2),
  99.         main = "sds", font.main = 4);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement