Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #функция для плота матрицы корреляции
- CorPlot<-function(matrix){
- corrplot(cor(matrix), method="color")
- }
- #функция для плота даты
- Matrix_summ_plot<-function(matrix){
- plot(rowSums(matrix));
- }
- #plot
- ploting<-function(matrix){
- CorPlot(matrix);
- Matrix_summ_plot(matrix);
- }
- #чтение csv
- original_data = read.csv("data.csv",header = TRUE , sep = "," );
- #отсеивание всех кроме 13 класса
- data = original_data[which(original_data[,2]==13),];
- #вывод графиков
- plot_data = data[,6:33];
- ploting(plot_data);
- #убираем людей с низкой посещаемостью
- data_s1=data[-which(data[,4]==0 & data[,3]==1),];
- data_s1=data_s1[,6:33];
- ploting(data_s1);
- #выбор порога для последующего отсеивания людей, которые ставили слишком много одинаковых оценок
- our_max = 24;
- data_s2 = data_s1;
- j=1;
- #процедура отсеивания
- while(j < (1 + nrow(data_s1))) {
- #print(j);
- marks_counter = matrix(0,1,5);
- for(i in 1:nrow(data_s1))
- marks_counter[data_s2[j,i]] = marks_counter[data_s2[j,i]] + 1;
- if(max(marks_counter[])>our_max) {
- data_s2 = data_s2[-j,];
- j = j - 1;
- }
- j = j + 1;
- }
- ploting(data_s2);
- #подсчет средних по столбцам
- means = matrix(0,1,28);
- for(i in 1:ncol(data_s2)){
- tmp=as.vector(data_s2[,i]);
- means[i] = mean(tmp);
- }
- #Диаграмма среднего
- barplot(means, ylim = c(0,5),
- main = "Means", font.main = 4);
- #подсчет дисперсии
- var_matrix = var(data_s2);
- vars = matrix(0,1,28);
- for(i in 1:ncol(var_matrix)){
- vars[i] = var_matrix[i,i];
- }
- #Диаграмма дисперсии
- barplot(vars, ylim = c(0,3),
- main = "Variance", font.main = 4);
- #подсчет среднеквадратичного отклонения
- sds = matrix(0,1,28);
- for(i in 1:ncol(var_matrix)){
- tmp=as.vector(data_s2[,i]);
- sds[i] = sd(tmp);
- }
- #Диаграмма среднеквадратичного отклонения
- barplot(sds, ylim = c(0,2),
- main = "sds", font.main = 4);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement